@zzzen/pyright-internal 1.2.0-dev.20220918 → 1.2.0-dev.20221002
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
- package/dist/analyzer/analyzerFileInfo.js +1 -1
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/binder.js +23 -23
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +17 -0
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -0
- package/dist/analyzer/codeFlowEngine.js +10 -4
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/program.js +19 -19
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/service.js +2 -2
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.js +1 -1
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +3 -2
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +71 -29
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +6 -0
- package/dist/analyzer/typeEvaluatorTypes.js +4 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeEvaluatorWithTracker.d.ts +1 -2
- package/dist/analyzer/typeEvaluatorWithTracker.js +39 -103
- package/dist/analyzer/typeEvaluatorWithTracker.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +6 -6
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +15 -7
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +6 -6
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.js +1 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/commandController.d.ts +1 -0
- package/dist/commands/commandController.js +5 -0
- package/dist/commands/commandController.js.map +1 -1
- package/dist/commands/commands.d.ts +7 -1
- package/dist/commands/commands.js +6 -0
- package/dist/commands/commands.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.d.ts +8 -0
- package/dist/commands/dumpFileDebugInfoCommand.js +983 -0
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -0
- package/dist/common/logTracker.d.ts +1 -0
- package/dist/common/logTracker.js +4 -0
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/timing.d.ts +1 -1
- package/dist/common/timing.js +3 -3
- package/dist/common/timing.js.map +1 -1
- package/dist/languageService/completionProvider.js +1 -0
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -1
- package/dist/parser/parser.d.ts +2 -2
- package/dist/parser/parser.js +19 -19
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +1 -1
- package/dist/parser/tokenizer.js +39 -14
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +3 -1
- package/dist/parser/tokenizerTypes.js +2 -0
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/tests/fourslash/hover.variable.docString.fourslash.js +3 -0
- package/dist/tests/fourslash/hover.variable.docString.fourslash.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +47 -4
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.d.ts +1 -0
- package/dist/tests/logger.test.js +99 -0
- package/dist/tests/logger.test.js.map +1 -0
- package/dist/tests/testUtils.d.ts +2 -1
- package/dist/tests/testUtils.js +3 -3
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +2 -2
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/package.json +1 -1
@@ -1,10 +1,12 @@
|
|
1
1
|
import { CancellationToken } from 'vscode-languageserver-protocol';
|
2
2
|
import { DiagnosticLevel } from '../common/configOptions';
|
3
|
+
import { ConsoleInterface } from '../common/console';
|
3
4
|
import { Diagnostic, DiagnosticAddendum } from '../common/diagnostic';
|
4
5
|
import { TextRange } from '../common/textRange';
|
5
6
|
import { ArgumentCategory, ArgumentNode, CallNode, CaseNode, ClassNode, ExpressionNode, FunctionNode, MatchNode, NameNode, ParameterCategory, ParameterNode, ParseNode, RaiseNode, StringNode } from '../parser/parseNodes';
|
6
7
|
import * as DeclarationUtils from './aliasDeclarationUtils';
|
7
8
|
import { AnalyzerFileInfo } from './analyzerFileInfo';
|
9
|
+
import { CodeFlowReferenceExpressionNode, FlowNode } from './codeFlowTypes';
|
8
10
|
import { Declaration } from './declaration';
|
9
11
|
import { SymbolWithScope } from './scope';
|
10
12
|
import { Symbol } from './symbol';
|
@@ -28,6 +30,7 @@ export declare const enum EvaluatorFlags {
|
|
28
30
|
DisallowTypeVarsWithScopeId = 2048,
|
29
31
|
DisallowTypeVarsWithoutScopeId = 4096,
|
30
32
|
AssociateTypeVarsWithCurrentScope = 8192,
|
33
|
+
EnforceTypeVarVarianceConsistency = 16384,
|
31
34
|
VariableTypeAnnotation = 32768,
|
32
35
|
DisallowRecursiveTypeAliasPlaceholder = 65536,
|
33
36
|
ClassVarDisallowed = 131072,
|
@@ -147,6 +150,7 @@ export interface CallResult {
|
|
147
150
|
export interface TypeEvaluator {
|
148
151
|
runWithCancellationToken<T>(token: CancellationToken, callback: () => T): T;
|
149
152
|
getType: (node: ExpressionNode) => Type | undefined;
|
153
|
+
getCachedType: (node: ExpressionNode) => Type | undefined;
|
150
154
|
getTypeOfExpression: (node: ExpressionNode, flags?: EvaluatorFlags, expectedType?: Type) => TypeResult;
|
151
155
|
getTypeOfAnnotation: (node: ExpressionNode, options?: AnnotationTypeOptions) => Type;
|
152
156
|
getTypeOfClass: (node: ClassNode) => ClassTypeResult | undefined;
|
@@ -203,6 +207,7 @@ export interface TypeEvaluator {
|
|
203
207
|
narrowConstrainedTypeVar: (node: ParseNode, typeVar: TypeVarType) => Type | undefined;
|
204
208
|
assignType: (destType: Type, srcType: Type, diag?: DiagnosticAddendum, destTypeVarContext?: TypeVarContext, srcTypeVarContext?: TypeVarContext, flags?: AssignTypeFlags, recursionCount?: number) => boolean;
|
205
209
|
validateOverrideMethod: (baseMethod: Type, overrideMethod: FunctionType | OverloadedFunctionType, diag: DiagnosticAddendum, enforceParamNames?: boolean) => boolean;
|
210
|
+
validateInitSubclassArgs: (node: ClassNode, classType: ClassType, argList: FunctionArgument[]) => void;
|
206
211
|
assignTypeToExpression: (target: ExpressionNode, type: Type, isTypeIncomplete: boolean, srcExpr: ExpressionNode) => void;
|
207
212
|
assignClassToSelf: (destType: ClassType, srcType: ClassType) => boolean;
|
208
213
|
getBuiltInObject: (node: ParseNode, name: string, typeArguments?: Type[]) => Type;
|
@@ -228,4 +233,5 @@ export interface TypeEvaluator {
|
|
228
233
|
useSpeculativeMode: <T>(speculativeNode: ParseNode, callback: () => T) => T;
|
229
234
|
setTypeForNode: (node: ParseNode, type?: Type, flags?: EvaluatorFlags) => void;
|
230
235
|
checkForCancellation: () => void;
|
236
|
+
printControlFlowGraph: (flowNode: FlowNode, reference: CodeFlowReferenceExpressionNode | undefined, callName: string, logger: ConsoleInterface) => void;
|
231
237
|
}
|
@@ -54,6 +54,10 @@ var EvaluatorFlags;
|
|
54
54
|
// associated with an outer scope should be associated with
|
55
55
|
// the containing function's scope.
|
56
56
|
EvaluatorFlags[EvaluatorFlags["AssociateTypeVarsWithCurrentScope"] = 8192] = "AssociateTypeVarsWithCurrentScope";
|
57
|
+
// When a new class-scoped TypeVar is used within a class
|
58
|
+
// declaration, make sure that it is not used to parameterize
|
59
|
+
// a base class whose TypeVar variance is inconsistent.
|
60
|
+
EvaluatorFlags[EvaluatorFlags["EnforceTypeVarVarianceConsistency"] = 16384] = "EnforceTypeVarVarianceConsistency";
|
57
61
|
// Used for PEP 526-style variable type annotations
|
58
62
|
EvaluatorFlags[EvaluatorFlags["VariableTypeAnnotation"] = 32768] = "VariableTypeAnnotation";
|
59
63
|
// Emit an error if an incomplete recursive type alias is
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AA2CH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,cA0FjB;AA1FD,WAAkB,cAAc;IAC5B,mDAAQ,CAAA;IAER,uDAAuD;IACvD,mFAA6B,CAAA;IAE7B,0DAA0D;IAC1D,gEAAgE;IAChE,SAAS;IACT,yEAAwB,CAAA;IAExB,yDAAyD;IACzD,uFAA+B,CAAA;IAE/B,kCAAkC;IAClC,iGAAoC,CAAA;IAEpC,0CAA0C;IAC1C,0EAAwB,CAAA;IAExB,6CAA6C;IAC7C,kFAA4B,CAAA;IAE5B,qDAAqD;IACrD,4BAA4B;IAC5B,sEAAsB,CAAA;IAEtB,gDAAgD;IAChD,yFAA+B,CAAA;IAE/B,2DAA2D;IAC3D,6FAAiC,CAAA;IAEjC,2DAA2D;IAC3D,gDAAgD;IAChD,uFAA8B,CAAA;IAE9B,gEAAgE;IAChE,6DAA6D;IAC7D,qBAAqB;IACrB,4FAAiC,CAAA;IAEjC,8DAA8D;IAC9D,+BAA+B;IAC/B,oGAAqC,CAAA;IAErC,0DAA0D;IAC1D,+BAA+B;IAC/B,0GAAwC,CAAA;IAExC,yDAAyD;IACzD,2DAA2D;IAC3D,mCAAmC;IACnC,gHAA2C,CAAA;IAE3C,yDAAyD;IACzD,6DAA6D;IAC7D,uDAAuD;IACvD,iHAA2C,CAAA;IAE3C,mDAAmD;IACnD,2FAAgC,CAAA;IAEhC,yDAAyD;IACzD,wBAAwB;IACxB,yHAA+C,CAAA;IAE/C,6CAA6C;IAC7C,oFAA4B,CAAA;IAE5B,mEAAmE;IACnE,wFAA8B,CAAA;IAE9B,iEAAiE;IACjE,iCAAiC;IACjC,4FAAgC,CAAA;IAEhC,wDAAwD;IACxD,+EAAyB,CAAA;IAEzB,uDAAuD;IACvD,iHAA0C,CAAA;IAE1C,6DAA6D;IAC7D,2DAA2D;IAC3D,oDAAoD;IACpD,6GAAwC,CAAA;IAExC,yCAAyC;IACzC,6FAAgC,CAAA;AACpC,CAAC,EA1FiB,cAAc,GAAd,sBAAc,KAAd,sBAAc,QA0F/B"}
|
@@ -2,5 +2,4 @@ import { LogTracker } from '../common/logTracker';
|
|
2
2
|
import { ImportLookup } from './analyzerFileInfo';
|
3
3
|
import { TracePrinter } from './tracePrinter';
|
4
4
|
import { EvaluatorOptions } from './typeEvaluator';
|
5
|
-
|
6
|
-
export declare function createTypeEvaluatorWithTracker(importLookup: ImportLookup, evaluatorOptions: EvaluatorOptions, logger: LogTracker, printer?: TracePrinter): TypeEvaluator;
|
5
|
+
export declare function createTypeEvaluatorWithTracker(importLookup: ImportLookup, evaluatorOptions: EvaluatorOptions, logger: LogTracker, printer?: TracePrinter): import("./typeEvaluatorTypes").TypeEvaluator;
|
@@ -12,115 +12,51 @@
|
|
12
12
|
*/
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
14
14
|
exports.createTypeEvaluatorWithTracker = void 0;
|
15
|
+
const console_1 = require("../common/console");
|
15
16
|
const core_1 = require("../common/core");
|
16
17
|
const timing_1 = require("../common/timing");
|
17
18
|
const typeEvaluator_1 = require("./typeEvaluator");
|
18
19
|
// We don't want to track calls from the type evaluator itself, but only entry points.
|
19
20
|
function createTypeEvaluatorWithTracker(importLookup, evaluatorOptions, logger, printer) {
|
20
|
-
|
21
|
-
|
21
|
+
function wrapWithLogger(func) {
|
22
|
+
// Only wrap the function if told to do so and the log level is high enough for it
|
23
|
+
// to actually log something.
|
24
|
+
if (evaluatorOptions.logCalls && logger.logLevel === console_1.LogLevel.Log) {
|
25
|
+
return (...args) => {
|
26
|
+
return logger.log(func.name, (s) => {
|
27
|
+
if (func.name === 'importLookup' && args.length > 0) {
|
28
|
+
// This is actually a filename, so special case it.
|
29
|
+
s.add(printer === null || printer === void 0 ? void 0 : printer.printFileOrModuleName(args[0]));
|
30
|
+
}
|
31
|
+
else {
|
32
|
+
// Print all parameters.
|
33
|
+
args.forEach((a) => {
|
34
|
+
s.add(printer === null || printer === void 0 ? void 0 : printer.print(a));
|
35
|
+
});
|
36
|
+
}
|
37
|
+
return timing_1.timingStats.typeEvaluationTime.timeOperation(func, ...args);
|
38
|
+
}, evaluatorOptions.minimumLoggingThreshold,
|
39
|
+
/* logParsingPerf */ true);
|
40
|
+
};
|
41
|
+
}
|
42
|
+
else if (!(0, core_1.isDebugMode)()) {
|
43
|
+
return timing_1.timingStats.typeEvaluationTime.timeOperation.bind(timing_1.timingStats.typeEvaluationTime, func);
|
44
|
+
}
|
45
|
+
else {
|
46
|
+
return func;
|
47
|
+
}
|
22
48
|
}
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
32
|
-
|
33
|
-
|
34
|
-
return importLookup(filePath);
|
35
|
-
}, evaluatorOptions.minimumLoggingThreshold, true)
|
36
|
-
: importLookup;
|
37
|
-
const typeEvaluator = (0, typeEvaluator_1.createTypeEvaluator)(lookup, evaluatorOptions);
|
38
|
-
const withTracker = {
|
39
|
-
runWithCancellationToken: typeEvaluator.runWithCancellationToken,
|
40
|
-
getType: (n) => run('getType', () => typeEvaluator.getType(n), n),
|
41
|
-
getTypeOfExpression: (n, f, e) => run('getTypeOfExpression', () => typeEvaluator.getTypeOfExpression(n, f, e), n),
|
42
|
-
getTypeOfAnnotation: typeEvaluator.getTypeOfAnnotation,
|
43
|
-
getTypeOfClass: (n) => run('getTypeOfClass', () => typeEvaluator.getTypeOfClass(n), n),
|
44
|
-
getTypeOfFunction: (n) => run('getTypeOfFunction', () => typeEvaluator.getTypeOfFunction(n), n),
|
45
|
-
getTypeOfExpressionExpectingType: typeEvaluator.getTypeOfExpressionExpectingType,
|
46
|
-
evaluateTypeForSubnode: typeEvaluator.evaluateTypeForSubnode,
|
47
|
-
evaluateTypesForStatement: (n) => run('evaluateTypesForStatement', () => typeEvaluator.evaluateTypesForStatement(n), n),
|
48
|
-
evaluateTypesForMatchStatement: typeEvaluator.evaluateTypesForMatchStatement,
|
49
|
-
evaluateTypesForCaseStatement: typeEvaluator.evaluateTypesForCaseStatement,
|
50
|
-
evaluateTypeOfParameter: typeEvaluator.evaluateTypeOfParameter,
|
51
|
-
canBeTruthy: typeEvaluator.canBeTruthy,
|
52
|
-
canBeFalsy: typeEvaluator.canBeFalsy,
|
53
|
-
stripLiteralValue: typeEvaluator.stripLiteralValue,
|
54
|
-
removeTruthinessFromType: typeEvaluator.removeTruthinessFromType,
|
55
|
-
removeFalsinessFromType: typeEvaluator.removeFalsinessFromType,
|
56
|
-
getExpectedType: (n) => run('getExpectedType', () => typeEvaluator.getExpectedType(n), n),
|
57
|
-
verifyRaiseExceptionType: (n) => run('verifyRaiseExceptionType', () => typeEvaluator.verifyRaiseExceptionType(n), n),
|
58
|
-
verifyDeleteExpression: (n) => run('verifyDeleteExpression', () => typeEvaluator.verifyDeleteExpression(n), n),
|
59
|
-
validateOverloadedFunctionArguments: typeEvaluator.validateOverloadedFunctionArguments,
|
60
|
-
isAfterNodeReachable: (n) => run('isAfterNodeReachable', () => typeEvaluator.isAfterNodeReachable(n), n),
|
61
|
-
isNodeReachable: (n, s) => run('isNodeReachable', () => typeEvaluator.isNodeReachable(n, s), n),
|
62
|
-
isAsymmetricDescriptorAssignment: typeEvaluator.isAsymmetricDescriptorAssignment,
|
63
|
-
suppressDiagnostics: (node, callback) => run('suppressDiagnostics', () => typeEvaluator.suppressDiagnostics(node, callback)),
|
64
|
-
getDeclarationsForStringNode: (n) => run('getDeclarationsForStringNode', () => typeEvaluator.getDeclarationsForStringNode(n), n),
|
65
|
-
getDeclarationsForNameNode: (n, s) => run('getDeclarationsForNameNode', () => typeEvaluator.getDeclarationsForNameNode(n, s), n),
|
66
|
-
getTypeForDeclaration: (n) => run('getTypeForDeclaration', () => typeEvaluator.getTypeForDeclaration(n), n),
|
67
|
-
resolveAliasDeclaration: (d, l, h) => run('resolveAliasDeclaration', () => typeEvaluator.resolveAliasDeclaration(d, l, h), d),
|
68
|
-
resolveAliasDeclarationWithInfo: (d, l, h) => run('resolveAliasDeclarationWithInfo', () => typeEvaluator.resolveAliasDeclarationWithInfo(d, l, h), d),
|
69
|
-
getTypeOfIterable: (t, a, e) => run('getTypeOfIterable', () => typeEvaluator.getTypeOfIterable(t, a, e), t),
|
70
|
-
getTypeOfIterator: (t, a, e) => run('getTypeOfIterator', () => typeEvaluator.getTypeOfIterator(t, a, e), t),
|
71
|
-
getGetterTypeFromProperty: (p, i) => run('getGetterTypeFromProperty', () => typeEvaluator.getGetterTypeFromProperty(p, i), p),
|
72
|
-
getTypeOfArgument: typeEvaluator.getTypeOfArgument,
|
73
|
-
markNamesAccessed: (n, a) => run('markNamesAccessed', () => typeEvaluator.markNamesAccessed(n, a), n),
|
74
|
-
getScopeIdForNode: typeEvaluator.getScopeIdForNode,
|
75
|
-
makeTopLevelTypeVarsConcrete: (t) => run('makeTopLevelTypeVarsConcrete', () => typeEvaluator.makeTopLevelTypeVarsConcrete(t), t),
|
76
|
-
mapSubtypesExpandTypeVars: typeEvaluator.mapSubtypesExpandTypeVars,
|
77
|
-
lookUpSymbolRecursive: typeEvaluator.lookUpSymbolRecursive,
|
78
|
-
getDeclaredTypeOfSymbol: typeEvaluator.getDeclaredTypeOfSymbol,
|
79
|
-
getEffectiveTypeOfSymbol: (s) => run('getEffectiveTypeOfSymbol', () => typeEvaluator.getEffectiveTypeOfSymbol(s), s),
|
80
|
-
getEffectiveTypeOfSymbolForUsage: (s, u, d) => run('getEffectiveTypeOfSymbolForUsage', () => typeEvaluator.getEffectiveTypeOfSymbolForUsage(s, u, d), s),
|
81
|
-
getInferredTypeOfDeclaration: typeEvaluator.getInferredTypeOfDeclaration,
|
82
|
-
getDeclaredTypeForExpression: typeEvaluator.getDeclaredTypeForExpression,
|
83
|
-
getFunctionDeclaredReturnType: (n) => run('getFunctionDeclaredReturnType', () => typeEvaluator.getFunctionDeclaredReturnType(n), n),
|
84
|
-
getFunctionInferredReturnType: (t, a) => run('getFunctionInferredReturnType', () => typeEvaluator.getFunctionInferredReturnType(t, a), t),
|
85
|
-
getBestOverloadForArguments: (e, t, a) => typeEvaluator.getBestOverloadForArguments(e, t, a),
|
86
|
-
getBuiltInType: (n, b) => run('getBuiltInType', () => typeEvaluator.getBuiltInType(n, b), n),
|
87
|
-
getTypeOfMember: (m) => run('getTypeOfMember', () => typeEvaluator.getTypeOfMember(m), m.symbol),
|
88
|
-
getTypeOfObjectMember: typeEvaluator.getTypeOfObjectMember,
|
89
|
-
getBoundMethod: typeEvaluator.getBoundMethod,
|
90
|
-
getTypeOfMagicMethodReturn: typeEvaluator.getTypeOfMagicMethodReturn,
|
91
|
-
bindFunctionToClassOrObject: typeEvaluator.bindFunctionToClassOrObject,
|
92
|
-
getCallSignatureInfo: (n, i, a) => run('getCallSignatureInfo', () => typeEvaluator.getCallSignatureInfo(n, i, a), n),
|
93
|
-
getAbstractMethods: (c) => run('getAbstractMethods', () => typeEvaluator.getAbstractMethods(c), c),
|
94
|
-
narrowConstrainedTypeVar: typeEvaluator.narrowConstrainedTypeVar,
|
95
|
-
assignType: (d, s, a, dc, sc, f, r) => run('assignType', () => typeEvaluator.assignType(d, s, a, dc, sc, f, r), d),
|
96
|
-
validateOverrideMethod: (b, o, d, e) => run('validateOverrideMethod', () => typeEvaluator.validateOverrideMethod(b, o, d, e), o),
|
97
|
-
assignTypeToExpression: typeEvaluator.assignTypeToExpression,
|
98
|
-
assignClassToSelf: typeEvaluator.assignClassToSelf,
|
99
|
-
getBuiltInObject: typeEvaluator.getBuiltInObject,
|
100
|
-
getTypedDictClassType: typeEvaluator.getTypedDictClassType,
|
101
|
-
getTupleClassType: typeEvaluator.getTupleClassType,
|
102
|
-
getObjectType: typeEvaluator.getObjectType,
|
103
|
-
getTypingType: typeEvaluator.getTypingType,
|
104
|
-
inferReturnTypeIfNecessary: typeEvaluator.inferReturnTypeIfNecessary,
|
105
|
-
inferTypeParameterVarianceForClass: typeEvaluator.inferTypeParameterVarianceForClass,
|
106
|
-
verifyTypeArgumentsAssignable: typeEvaluator.verifyTypeArgumentsAssignable,
|
107
|
-
addError: typeEvaluator.addError,
|
108
|
-
addWarning: typeEvaluator.addWarning,
|
109
|
-
addInformation: typeEvaluator.addInformation,
|
110
|
-
addUnusedCode: typeEvaluator.addUnusedCode,
|
111
|
-
addUnreachableCode: typeEvaluator.addUnreachableCode,
|
112
|
-
addDeprecated: typeEvaluator.addDeprecated,
|
113
|
-
addDiagnostic: typeEvaluator.addDiagnostic,
|
114
|
-
addDiagnosticForTextRange: typeEvaluator.addDiagnosticForTextRange,
|
115
|
-
printType: (t, e) => run('printType', () => typeEvaluator.printType(t, e), t),
|
116
|
-
printFunctionParts: (t) => run('printFunctionParts', () => typeEvaluator.printFunctionParts(t), t),
|
117
|
-
getTypeCacheEntryCount: typeEvaluator.getTypeCacheEntryCount,
|
118
|
-
disposeEvaluator: typeEvaluator.disposeEvaluator,
|
119
|
-
useSpeculativeMode: typeEvaluator.useSpeculativeMode,
|
120
|
-
setTypeForNode: typeEvaluator.setTypeForNode,
|
121
|
-
checkForCancellation: typeEvaluator.checkForCancellation,
|
122
|
-
};
|
123
|
-
return withTracker;
|
49
|
+
// Wrap all functions with either a logger or a timer.
|
50
|
+
importLookup = wrapWithLogger(importLookup);
|
51
|
+
const evaluator = (0, typeEvaluator_1.createTypeEvaluator)(importLookup, evaluatorOptions);
|
52
|
+
const keys = Object.keys(evaluator);
|
53
|
+
keys.forEach((k) => {
|
54
|
+
const entry = evaluator[k];
|
55
|
+
if (typeof entry === 'function') {
|
56
|
+
evaluator[k] = wrapWithLogger(entry);
|
57
|
+
}
|
58
|
+
});
|
59
|
+
return evaluator;
|
124
60
|
}
|
125
61
|
exports.createTypeEvaluatorWithTracker = createTypeEvaluatorWithTracker;
|
126
62
|
//# sourceMappingURL=typeEvaluatorWithTracker.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeEvaluatorWithTracker.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorWithTracker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,yCAA6C;AAE7C,6CAA+C;AAG/C,mDAAwE;
|
1
|
+
{"version":3,"file":"typeEvaluatorWithTracker.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorWithTracker.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;AAEH,+CAA6C;AAC7C,yCAA6C;AAE7C,6CAA+C;AAG/C,mDAAwE;AAExE,sFAAsF;AACtF,SAAgB,8BAA8B,CAC1C,YAA0B,EAC1B,gBAAkC,EAClC,MAAkB,EAClB,OAAsB;IAEtB,SAAS,cAAc,CAAoC,IAAO;QAC9D,kFAAkF;QAClF,6BAA6B;QAC7B,IAAI,gBAAgB,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,KAAK,kBAAQ,CAAC,GAAG,EAAE;YAC/D,OAAO,CAAC,GAAG,IAAmB,EAAiB,EAAE;gBAC7C,OAAO,MAAM,CAAC,GAAG,CACb,IAAI,CAAC,IAAI,EACT,CAAC,CAAC,EAAE,EAAE;oBACF,IAAI,IAAI,CAAC,IAAI,KAAK,cAAc,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;wBACjD,mDAAmD;wBACnD,CAAC,CAAC,GAAG,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,qBAAqB,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;qBAClD;yBAAM;wBACH,wBAAwB;wBACxB,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;4BACf,CAAC,CAAC,GAAG,CAAC,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;wBAC7B,CAAC,CAAC,CAAC;qBACN;oBACD,OAAO,oBAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,EAAE,GAAG,IAAI,CAAC,CAAC;gBACvE,CAAC,EACD,gBAAgB,CAAC,uBAAuB;gBACxC,oBAAoB,CAAC,IAAI,CAC5B,CAAC;YACN,CAAC,CAAC;SACL;aAAM,IAAI,CAAC,IAAA,kBAAW,GAAE,EAAE;YACvB,OAAO,oBAAW,CAAC,kBAAkB,CAAC,aAAa,CAAC,IAAI,CAAC,oBAAW,CAAC,kBAAkB,EAAE,IAAI,CAAC,CAAC;SAClG;aAAM;YACH,OAAO,IAAI,CAAC;SACf;IACL,CAAC;IAED,sDAAsD;IACtD,YAAY,GAAG,cAAc,CAAC,YAAY,CAAC,CAAC;IAC5C,MAAM,SAAS,GAAG,IAAA,mCAAmB,EAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;IACtE,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;IACpC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;QACf,MAAM,KAAK,GAAI,SAAiB,CAAC,CAAC,CAAC,CAAC;QACpC,IAAI,OAAO,KAAK,KAAK,UAAU,EAAE;YAC5B,SAAiB,CAAC,CAAC,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,CAAC;SACjD;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,SAAS,CAAC;AACrB,CAAC;AAhDD,wEAgDC"}
|
@@ -82,19 +82,19 @@ class ImportSymbolWalker extends parseTreeWalker_1.ParseTreeWalker {
|
|
82
82
|
}
|
83
83
|
}
|
84
84
|
visitName(node) {
|
85
|
-
this._accessedImportedSymbols.
|
85
|
+
this._accessedImportedSymbols.add(node.value);
|
86
86
|
return true;
|
87
87
|
}
|
88
88
|
visitMemberAccess(node) {
|
89
89
|
const baseExpression = this._getRecursiveModuleAccessExpression(node.leftExpression);
|
90
90
|
if (baseExpression) {
|
91
|
-
this._accessedImportedSymbols.
|
91
|
+
this._accessedImportedSymbols.add(`${baseExpression}.${node.memberName.value}`);
|
92
92
|
}
|
93
93
|
return true;
|
94
94
|
}
|
95
95
|
visitString(node) {
|
96
96
|
if (this._treatStringsAsSymbols) {
|
97
|
-
this._accessedImportedSymbols.
|
97
|
+
this._accessedImportedSymbols.add(node.value);
|
98
98
|
}
|
99
99
|
return true;
|
100
100
|
}
|
@@ -130,7 +130,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
130
130
|
this._emitDocString = true;
|
131
131
|
this._trackedImportAs = new Map();
|
132
132
|
this._trackedImportFrom = new Map();
|
133
|
-
this._accessedImportedSymbols = new
|
133
|
+
this._accessedImportedSymbols = new Set();
|
134
134
|
// As a heuristic, we'll include all of the import statements
|
135
135
|
// in "__init__.pyi" files even if they're not locally referenced
|
136
136
|
// because these are often used as ways to re-export symbols.
|
@@ -576,7 +576,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
576
576
|
let lineEmitted = false;
|
577
577
|
// Emit the "import" statements.
|
578
578
|
this._trackedImportAs.forEach((imp) => {
|
579
|
-
if (this._accessedImportedSymbols.
|
579
|
+
if (this._accessedImportedSymbols.has(imp.alias || imp.importName)) {
|
580
580
|
imp.isAccessed = true;
|
581
581
|
}
|
582
582
|
if (imp.isAccessed || this._includeAllImports) {
|
@@ -591,7 +591,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
591
591
|
// Emit the "import from" statements.
|
592
592
|
this._trackedImportFrom.forEach((imp) => {
|
593
593
|
imp.symbols.forEach((s) => {
|
594
|
-
if (this._accessedImportedSymbols.
|
594
|
+
if (this._accessedImportedSymbols.has(s.alias || s.name)) {
|
595
595
|
s.isAccessed = true;
|
596
596
|
}
|
597
597
|
});
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeStubWriter.js","sourceRoot":"","sources":["../../../src/analyzer/typeStubWriter.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"typeStubWriter.js","sourceRoot":"","sources":["../../../src/analyzer/typeStubWriter.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;AAEH,qDA6B8B;AAE9B,qEAAuD;AACvD,iEAAmD;AACnD,uDAAoD;AACpD,6CAA+C;AAG/C,mEAAqD;AAErD,mCAAiH;AAEjH,MAAM,aAAa;IACf,YAAmB,UAAkB;QAAlB,eAAU,GAAV,UAAU,CAAQ;QAErC,eAAU,GAAG,KAAK,CAAC;IAFqB,CAAC;CAG5C;AAED,MAAM,eAAgB,SAAQ,aAAa;IACvC,YAAY,UAAkB,EAAS,KAAyB,EAAS,MAAc;QACnF,KAAK,CAAC,UAAU,CAAC,CAAC;QADiB,UAAK,GAAL,KAAK,CAAoB;QAAS,WAAM,GAAN,MAAM,CAAQ;IAEvF,CAAC;CACJ;AASD,MAAM,iBAAkB,SAAQ,aAAa;IAGzC,YAAY,UAAkB,EAAS,gBAAyB,EAAS,IAAqB;QAC1F,KAAK,CAAC,UAAU,CAAC,CAAC;QADiB,qBAAgB,GAAhB,gBAAgB,CAAS;QAAS,SAAI,GAAJ,IAAI,CAAiB;QAF9F,YAAO,GAA0B,EAAE,CAAC;IAIpC,CAAC;IAED,SAAS,CAAC,MAA0B,EAAE,IAAY,EAAE,KAAyB,EAAE,UAAU,GAAG,KAAK;QAC7F,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,EAAE;YAC5C,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC;gBACd,MAAM;gBACN,IAAI;gBACJ,KAAK;gBACL,UAAU;aACb,CAAC,CAAC;SACN;IACL,CAAC;CACJ;AAED,MAAM,kBAAmB,SAAQ,iCAAe;IAC5C,YAAoB,wBAAqC,EAAU,sBAA+B;QAC9F,KAAK,EAAE,CAAC;QADQ,6BAAwB,GAAxB,wBAAwB,CAAa;QAAU,2BAAsB,GAAtB,sBAAsB,CAAS;IAElG,CAAC;IAED,OAAO,CAAC,IAAoB;QACxB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACpB,CAAC;IAEQ,IAAI,CAAC,IAAe;QACzB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;IACL,CAAC;IAEQ,SAAS,CAAC,IAAc;QAC7B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,iBAAiB,CAAC,IAAsB;QAC7C,MAAM,cAAc,GAAG,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAErF,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC,CAAC;SACnF;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEQ,WAAW,CAAC,IAAgB;QACjC,IAAI,IAAI,CAAC,sBAAsB,EAAE;YAC7B,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;SACjD;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,mCAAmC,CAAC,IAAoB;QAC5D,IAAI,IAAI,CAAC,QAAQ,kBAAuB,EAAE;YACtC,OAAO,IAAI,CAAC,KAAK,CAAC;SACrB;QAED,IAAI,IAAI,CAAC,QAAQ,0BAA+B,EAAE;YAC9C,MAAM,cAAc,GAAG,IAAI,CAAC,mCAAmC,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;YACrF,IAAI,CAAC,cAAc,EAAE;gBACjB,OAAO,SAAS,CAAC;aACpB;YAED,OAAO,GAAG,cAAc,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;SACvD;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;CACJ;AAED,MAAa,cAAe,SAAQ,iCAAe;IAe/C,YAAoB,SAAiB,EAAU,WAAuB,EAAU,UAAyB;QACrG,KAAK,EAAE,CAAC;QADQ,cAAS,GAAT,SAAS,CAAQ;QAAU,gBAAW,GAAX,WAAW,CAAY;QAAU,eAAU,GAAV,UAAU,CAAe;QAdjG,kBAAa,GAAG,CAAC,CAAC;QAClB,uBAAkB,GAAG,KAAK,CAAC;QAC3B,kBAAa,GAAG,EAAE,CAAC;QACnB,aAAQ,GAAG,IAAI,CAAC;QAChB,SAAI,GAAG,MAAM,CAAC;QACd,oBAAe,GAAG,CAAC,CAAC;QACpB,uBAAkB,GAAG,CAAC,CAAC;QACvB,iBAAY,GAAG,CAAC,CAAC;QACjB,kBAAa,GAAG,KAAK,CAAC;QACtB,mBAAc,GAAG,IAAI,CAAC;QACtB,qBAAgB,GAAG,IAAI,GAAG,EAA2B,CAAC;QACtD,uBAAkB,GAAG,IAAI,GAAG,EAA6B,CAAC;QAC1D,6BAAwB,GAAG,IAAI,GAAG,EAAU,CAAC;QAKjD,6DAA6D;QAC7D,iEAAiE;QACjE,6DAA6D;QAC7D,IAAI,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YACzC,IAAI,CAAC,kBAAkB,GAAG,IAAI,CAAC;SAClC;IACL,CAAC;IAED,KAAK;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,WAAW,CAAC,eAAe,EAAG,CAAC;QACzD,IAAI,CAAC,QAAQ,GAAG,YAAY,CAAC,eAAe,CAAC,4BAA4B,CAAC;QAC1E,IAAI,CAAC,IAAI,GAAG,YAAY,CAAC,eAAe,CAAC,sBAAsB,CAAC;QAEhE,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAElC,IAAI,CAAC,UAAU,EAAE,CAAC;IACtB,CAAC;IAEQ,IAAI,CAAC,IAAe;QACzB,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,CAAC,IAAI,CAAC,EAAE;YAC3C,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACpB;IACL,CAAC;IAEQ,UAAU,CAAC,IAAe;QAC/B,MAAM,SAAS,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAElC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;QAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACtC,IAAI,IAAI,GAAG,SAAS,SAAS,EAAE,CAAC;QAEhC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC1D;QAED,oDAAoD;QACpD,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,MAAM,CAC9B,CAAC,GAAG,EAAE,EAAE,CACJ,GAAG,CAAC,IAAI,KAAK,SAAS;YACtB,GAAG,CAAC,gBAAgB,mBAA4B;YAChD,GAAG,CAAC,eAAe,CAAC,QAAQ,kBAAuB;YACnD,GAAG,CAAC,eAAe,CAAC,KAAK,KAAK,QAAQ,CAC7C,CAAC;QAEF,IAAI,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;YACjB,IAAI,IAAI,IAAI,IAAI;iBACX,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACT,IAAI,SAAS,GAAG,EAAE,CAAC;gBACnB,IAAI,GAAG,CAAC,IAAI,EAAE;oBACV,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,GAAG,CAAC;iBACpC;gBACD,SAAS,IAAI,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;gBACxD,OAAO,SAAS,CAAC;YACrB,CAAC,CAAC;iBACD,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;SACtB;QACD,IAAI,IAAI,GAAG,CAAC;QACZ,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;YACjB,IAAI,CAAC,eAAe,EAAE,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACtB,IAAI,CAAC,eAAe,EAAE,CAAC;QAC3B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QACnB,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;QAEnB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,aAAa,CAAC,IAAkB;QACrC,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAErC,+EAA+E;QAC/E,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,YAAY,CAAC,EAAE;YAC1F,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC;YAC3B,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YACtC,IAAI,IAAI,GAAG,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC;YACxC,IAAI,IAAI,OAAO,YAAY,EAAE,CAAC;YAE9B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACrB,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;aAC1D;YAED,IAAI,IAAI,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;YAE1G,IAAI,gBAAoC,CAAC;YACzC,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC3B,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,oBAAoB,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC;aACzG;iBAAM,IAAI,IAAI,CAAC,yBAAyB,EAAE;gBACvC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CACpC,IAAI,CAAC,yBAAyB,CAAC,oBAAoB;gBACnD,2BAA2B,CAAC,IAAI,CACnC,CAAC;aACL;iBAAM;gBACH,6DAA6D;gBAC7D,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,UAAU,EAAE;oBAChC,gBAAgB,GAAG,MAAM,CAAC;iBAC7B;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,KAAK,SAAS,EAAE;oBACtC,gBAAgB,GAAG,KAAK,CAAC;iBAC5B;qBAAM,IAAI,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;oBACzE,gBAAgB,GAAG,KAAK,CAAC;iBAC5B;qBAAM,IACH,CAAC,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,IAAI,CAC7D,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CACrC,EACH;oBACE,gBAAgB,GAAG,MAAM,CAAC;iBAC7B;aACJ;YAED,IAAI,gBAAgB,EAAE;gBAClB,IAAI,IAAI,MAAM,GAAG,gBAAgB,CAAC;aACrC;YAED,IAAI,IAAI,GAAG,CAAC;YAEZ,+DAA+D;YAC/D,sDAAsD;YACtD,IAAI,CAAC,gBAAgB,EAAE;gBACnB,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;gBAC7D,IAAI,YAAY,IAAI,IAAA,kBAAU,EAAC,YAAY,CAAC,YAAY,CAAC,EAAE;oBACvD,IAAI,UAAU,GAAG,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;oBAC1F,UAAU,GAAG,IAAA,8BAAsB,EAAC,UAAU,CAAC,CAAC;oBAChD,IAAI,CAAC,IAAA,eAAO,EAAC,UAAU,CAAC,IAAI,CAAC,IAAA,iBAAS,EAAC,UAAU,CAAC,EAAE;wBAChD,IAAI,IAAI,SAAS,IAAI,CAAC,UAAU,CAAC,SAAS,CAAC,UAAU,EAAE,qBAAqB,CAAC,KAAK,CAAC,GAAG,CAAC;qBAC1F;iBACJ;aACJ;YAED,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;YAErB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBACjB,mCAAmC;gBACnC,IAAI,CAAC,kBAAkB,EAAE,CAAC;gBAC1B,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;gBACtB,IAAI,CAAC,kBAAkB,EAAE,CAAC;YAC9B,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;SACtB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,UAAU,CAAC,IAAe;QAC/B,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,QAAQ,CAAC,IAAa;QAC3B,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,QAAQ,CAAC,IAAa;QAC3B,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,SAAS,CAAC,IAAc;QAC7B,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAC5B,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,OAAO,CAAC,IAAY;QACzB,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,4CAA4C;QAC5C,uBAAuB;QACvB,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;YAC1D,IAAI,CAAC,YAAY,EAAE,CAAC;YACpB,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAC1B,IAAI,CAAC,SAAS,CAAC,KAAK,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,GAAG,GAAG,CAAC,CAAC;YACzE,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;gBACjB,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;YAC/C,CAAC,CAAC,CAAC;YAEH,MAAM,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;YACjC,IAAI,SAAS,EAAE;gBACX,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAC;gBACxB,IAAI,CAAC,UAAU,CAAC,GAAG,EAAE;oBACjB,IAAI,SAAS,CAAC,QAAQ,gBAAqB,EAAE;wBACzC,IAAI,CAAC,YAAY,CAAC,CAAC,SAAS,CAAC,cAAc,EAAE,SAAS,CAAC,OAAO,EAAE,SAAS,CAAC,SAAS,CAAC,CAAC,CAAC;qBACzF;yBAAM;wBACH,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;qBAC3C;gBACL,CAAC,CAAC,CAAC;aACN;YACD,IAAI,CAAC,YAAY,EAAE,CAAC;SACvB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,cAAc,CAAC,IAAmB;QACvC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAExC,IAAI,IAAI,CAAC,cAAc,EAAE;YACrB,IAAI,IAAI,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SAC1D;QAED,IAAI,IAAI,KAAK,CAAC;QACd,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAC/C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;QAErB,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,eAAe,CAAC,IAAoB;QACzC,IAAI,WAAW,GAAG,KAAK,CAAC;QACxB,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,kBAAuB,EAAE;YACrD,sCAAsC;YACtC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,SAAS,EAAE;gBACzC,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;oBAC1D,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;oBAE1B,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBAClD,IAAI,IAAI,KAAK,CAAC;oBACd,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACxB;gBAED,OAAO,KAAK,CAAC;aAChB;YAED,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;gBAC/B,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAClD,IAAI,IAAI,CAAC,qBAAqB,EAAE;oBAC5B,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,qBAAqB,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC;iBACtG;gBAED,MAAM,SAAS,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC/D,IAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,aAAa,EAAE;oBAC1B,WAAW,GAAG,IAAI,CAAC;iBACtB;qBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,iBAAuB,EAAE;oBAC7D,yEAAyE;oBACzE,0BAA0B;oBAC1B,MAAM,YAAY,GAAG,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;oBAClF,IACI,YAAY;wBACZ,IAAA,2BAAmB,EAAC,YAAY,CAAC;wBACjC,iBAAS,CAAC,SAAS,CAAC,YAAY,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,EACxF;wBACE,WAAW,GAAG,IAAI,CAAC;qBACtB;iBACJ;aACJ;SACJ;aAAM,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,4BAAiC,EAAE;YACtE,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,eAAe,CAAC;YAEtD,IAAI,SAAS,CAAC,QAAQ,kBAAuB,EAAE;gBAC3C,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;oBAC/B,IAAI,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,KAAK,IAAI,CAAC,gBAAgB,CAChE,IAAI,CAAC,cAAc,CAAC,cAAc;oBAClC,2BAA2B,CAAC,IAAI,CACnC,EAAE,CAAC;iBACP;aACJ;SACJ;QAED,IAAI,IAAI,EAAE;YACN,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC;YAE1B,IAAI,IAAI,KAAK,CAAC;YAEd,IAAI,WAAW,EAAE;gBACb,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACvD;iBAAM;gBACH,IAAI,IAAI,KAAK,CAAC;aACjB;YACD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;SACxB;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,wBAAwB,CAAC,IAA6B;QAC3D,IAAI,IAAI,CAAC,cAAc,CAAC,QAAQ,kBAAuB,EAAE;YACrD,yCAAyC;YACzC,IAAI,IAAI,CAAC,cAAc,CAAC,KAAK,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,qBAA0B,EAAE;gBACpF,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,IAAI,IAAI,CAAC,YAAY,KAAK,CAAC,EAAE;oBAC1D,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;oBACtD,IAAI,IAAI,MAAM,CAAC;oBACf,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;oBACpD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;iBACxB;aACJ;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,mBAAmB,CAAC,IAAwB;QACjD,IAAI,IAAI,CAAC,kBAAkB,KAAK,CAAC,EAAE;YAC/B,IAAI,IAAI,GAAG,EAAE,CAAC;YACd,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,kBAAuB,EAAE;gBACtD,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;aACtD;iBAAM,IAAI,IAAI,CAAC,eAAe,CAAC,QAAQ,0BAA+B,EAAE;gBACrE,MAAM,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC;gBAC3D,IAAI,cAAc,CAAC,QAAQ,kBAAuB,EAAE;oBAChD,IAAI,cAAc,CAAC,KAAK,KAAK,MAAM,EAAE;wBACjC,MAAM,UAAU,GAAG,IAAI,CAAC,eAAe,CAAC,UAAU,CAAC,KAAK,CAAC;wBACzD,IAAI,CAAC,eAAe,CAAC,wBAAwB,CAAC,UAAU,CAAC,EAAE;4BACvD,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;yBACtD;qBACJ;iBACJ;aACJ;YAED,IAAI,IAAI,EAAE;gBACN,IAAI,IAAI,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,cAAc,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC;gBAC5F,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;aACxB;SACJ;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,WAAW,CAAC,IAAgB;QACjC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,YAAY,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,EAAE;YACd,8BAA8B;YAC9B,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACtB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACrD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;oBACxC,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK;wBACxB,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK;wBACjB,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;4BACjC,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,KAAK;4BAC/B,CAAC,CAAC,EAAE,CAAC;oBACT,MAAM,UAAU,GAAG,YAAY,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;oBAClE,IAAI,UAAU,EAAE;wBACZ,MAAM,eAAe,GAAG,IAAI,eAAe,CACvC,UAAU,EACV,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACvC,UAAU,CAAC,MAAM,CACpB,CAAC;wBACF,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,UAAU,EAAE,eAAe,CAAC,CAAC;qBAC1D;iBACJ;YACL,CAAC,CAAC,CAAC;SACN;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,eAAe,CAAC,IAAoB;QACzC,IAAI,IAAI,CAAC,kBAAkB,GAAG,CAAC,IAAI,IAAI,CAAC,eAAe,GAAG,CAAC,EAAE;YACzD,OAAO,KAAK,CAAC;SAChB;QAED,MAAM,YAAY,GAAG,IAAA,4BAAe,EAAC,IAAI,CAAC,CAAC;QAC3C,IAAI,YAAY,EAAE;YACd,8BAA8B;YAC9B,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACtD,IAAI,iBAAiB,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAChE,IAAI,CAAC,iBAAiB,EAAE;gBACpB,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,UAAU,EAAE,IAAI,CAAC,gBAAgB,EAAE,IAAI,CAAC,CAAC;gBACnF,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC;aAC9D;YAED,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACzB,MAAM,UAAU,GAAG,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAChE,MAAM,UAAU,GAAG,YAAY,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAC;gBAClE,IAAI,UAAU,EAAE;oBACZ,iBAAkB,CAAC,SAAS,CACxB,UAAU,CAAC,MAAM,EACjB,GAAG,CAAC,IAAI,CAAC,KAAK,EACd,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,EACvC,KAAK,CACR,CAAC;iBACL;YACL,CAAC,CAAC,CAAC;SACN;QAED,OAAO,KAAK,CAAC;IACjB,CAAC;IAEQ,kBAAkB,CAAC,IAAuB;QAC/C,IAAI,IAAI,CAAC,UAAU,CAAC,MAAM,GAAG,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,QAAQ,wBAA6B,EAAE;YACxF,2DAA2D;YAC3D,iDAAiD;YACjD,IAAI,CAAC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,cAAc,EAAE;gBAC5C,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC7D;SACJ;QAED,qDAAqD;QACrD,IAAI,CAAC,cAAc,GAAG,KAAK,CAAC;QAE5B,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACnC,OAAO,KAAK,CAAC;IACjB,CAAC;IAEO,UAAU,CAAC,QAAoB;QACnC,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE;YACtB,MAAM,gBAAgB,GAAG,IAAI,CAAC,aAAa,CAAC;YAC5C,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;YAE3B,QAAQ,EAAE,CAAC;YAEX,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE;gBACrB,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;aACzB;YAED,IAAI,CAAC,aAAa,GAAG,gBAAgB,CAAC;QAC1C,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,eAAe,CAAC,QAAoB;QACxC,IAAI,CAAC,aAAa,EAAE,CAAC;QACrB,QAAQ,EAAE,CAAC;QACX,IAAI,CAAC,aAAa,EAAE,CAAC;IACzB,CAAC;IAEO,eAAe,CAAC,UAA2B;QAC/C,UAAU,CAAC,OAAO,CAAC,CAAC,SAAS,EAAE,EAAE;YAC7B,IAAI,CAAC,SAAS,CAAC,GAAG,GAAG,IAAI,CAAC,gBAAgB,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC,CAAC;QACtE,CAAC,CAAC,CAAC;IACP,CAAC;IAEO,qBAAqB;QACzB,OAAO,CACH,KAAK;YACL,IAAI,CAAC,QAAQ;YACb,+CAA+C;YAC/C,IAAI,CAAC,QAAQ;YACb,KAAK;YACL,IAAI,CAAC,QAAQ;YACb,IAAI,CAAC,QAAQ,CAChB,CAAC;IACN,CAAC;IAEO,SAAS,CAAC,IAAY;QAC1B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,aAAa,EAAE,CAAC,EAAE,EAAE;YACzC,IAAI,CAAC,aAAa,IAAI,IAAI,CAAC,IAAI,CAAC;SACnC;QAED,IAAI,CAAC,aAAa,IAAI,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC;IAC/C,CAAC;IAEO,oBAAoB,CAAC,IAA2B;QACpD,OAAO,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC;IACpG,CAAC;IAEO,mBAAmB,CAAC,IAAuB;QAC/C,IAAI,IAAI,GAAG,EAAE,CAAC;QAEd,IAAI,IAAI,CAAC,iBAAiB,KAAK,kCAAqB,CAAC,YAAY,EAAE;YAC/D,IAAI,IAAI,GAAG,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,iBAAiB,KAAK,kCAAqB,CAAC,SAAS,EAAE;YACnE,IAAI,IAAI,IAAI,CAAC;SAChB;QAED,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;QAExB,IAAI,IAAI,CAAC,eAAe,EAAE;YACtB,IAAI,IAAI,IAAI,CAAC;YACb,IAAI,IAAI,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;SACvD;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAoB;QACzC,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE,EAAE;YACvC,IAAI,IAAI,GAAG,CAAC;SACf;QACD,IAAI,IAAI,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAC3D,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,eAAe,CAAC,SAAwB,EAAE,YAA0B,EAAE,UAAkB;QAC5F,IAAI,IAAI,GAAG,EAAE,CAAC;QACd,IAAI,SAAS,CAAC,QAAQ,uBAAiC,EAAE;YACrD,IAAI,IAAI,GAAG,CAAC;SACf;aAAM,IAAI,SAAS,CAAC,QAAQ,6BAAuC,EAAE;YAClE,IAAI,IAAI,IAAI,CAAC;SAChB;QAED,IAAI,SAAS,CAAC,IAAI,EAAE;YAChB,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC;SAChC;aAAM,IAAI,SAAS,CAAC,QAAQ,mBAA6B,EAAE;YACxD,IAAI,IAAI,GAAG,CAAC;SACf;QAED,MAAM,mBAAmB,GAAG,cAAc,CAAC,6BAA6B,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;QACnG,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,mBAAmB,EAAE;YACrB,SAAS,GAAG,IAAI,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,2BAA2B,CAAC,IAAI,CAAC,CAAC;SAC5F;QAED,IAAI,SAAS,EAAE;YACX,IAAI,IAAI,IAAI,GAAG,SAAS,CAAC;SAC5B;QAED,IAAI,SAAS,CAAC,YAAY,EAAE;YACxB,oDAAoD;YACpD,6CAA6C;YAC7C,IAAI,SAAS,EAAE;gBACX,IAAI,IAAI,QAAQ,CAAC;aACpB;iBAAM;gBACH,IAAI,IAAI,MAAM,CAAC;aAClB;SACJ;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAEO,gBAAgB,CAAC,IAAoB,EAAE,MAAM,GAAG,KAAK,EAAE,qBAAqB,GAAG,KAAK;QACxF,MAAM,kBAAkB,GAAG,IAAI,kBAAkB,CAAC,IAAI,CAAC,wBAAwB,EAAE,qBAAqB,CAAC,CAAC;QACxG,kBAAkB,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QAEjC,IAAI,eAAe,GAAG,MAAM;YACxB,CAAC;YACD,CAAC,aAAyC,CAAC;QAC/C,eAAe,kCAA8D,CAAC;QAE9E,OAAO,cAAc,CAAC,eAAe,CAAC,IAAI,EAAE,eAAe,CAAC,CAAC;IACjE,CAAC;IAEO,oBAAoB;QACxB,IAAI,SAAS,GAAG,EAAE,CAAC;QACnB,IAAI,WAAW,GAAG,KAAK,CAAC;QAExB,gCAAgC;QAChC,IAAI,CAAC,gBAAgB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YAClC,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,UAAU,CAAC,EAAE;gBAChE,GAAG,CAAC,UAAU,GAAG,IAAI,CAAC;aACzB;YAED,IAAI,GAAG,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3C,SAAS,IAAI,UAAU,GAAG,CAAC,UAAU,EAAE,CAAC;gBACxC,IAAI,GAAG,CAAC,KAAK,EAAE;oBACX,SAAS,IAAI,OAAO,GAAG,CAAC,KAAK,EAAE,CAAC;iBACnC;gBACD,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC;aACtB;QACL,CAAC,CAAC,CAAC;QAEH,qCAAqC;QACrC,IAAI,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACpC,GAAG,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE;gBACtB,IAAI,IAAI,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,EAAE;oBACtD,CAAC,CAAC,UAAU,GAAG,IAAI,CAAC;iBACvB;YACL,CAAC,CAAC,CAAC;YAEH,IAAI,GAAG,CAAC,gBAAgB,EAAE;gBACtB,SAAS,IAAI,QAAQ,GAAG,CAAC,UAAU,WAAW,GAAG,IAAI,CAAC,QAAQ,CAAC;gBAC/D,WAAW,GAAG,IAAI,CAAC;aACtB;YAED,MAAM,aAAa,GAAG,GAAG,CAAC,OAAO;iBAC5B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,IAAI,IAAI,CAAC,kBAAkB,CAAC;iBACtD,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE;gBACX,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE;oBACjB,OAAO,CAAC,CAAC,CAAC;iBACb;qBAAM,IAAI,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,IAAI,EAAE;oBACxB,OAAO,CAAC,CAAC;iBACZ;gBACD,OAAO,CAAC,CAAC;YACb,CAAC,CAAC,CAAC;YAEP,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC1B,SAAS,IAAI,QAAQ,GAAG,CAAC,UAAU,UAAU,CAAC;gBAE9C,SAAS,IAAI,aAAa;qBACrB,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;oBACZ,IAAI,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC;oBACzB,IAAI,MAAM,CAAC,KAAK,EAAE;wBACd,MAAM,IAAI,MAAM,GAAG,MAAM,CAAC,KAAK,CAAC;qBACnC;oBACD,OAAO,MAAM,CAAC;gBAClB,CAAC,CAAC;qBACD,IAAI,CAAC,IAAI,CAAC,CAAC;gBAEhB,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;gBAC3B,WAAW,GAAG,IAAI,CAAC;aACtB;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,WAAW,EAAE;YACb,SAAS,IAAI,IAAI,CAAC,QAAQ,CAAC;SAC9B;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAEO,UAAU;QACd,IAAI,SAAS,GAAG,IAAI,CAAC,qBAAqB,EAAE,CAAC;QAC7C,SAAS,IAAI,IAAI,CAAC,oBAAoB,EAAE,CAAC;QACzC,SAAS,IAAI,IAAI,CAAC,aAAa,CAAC;QAEhC,IAAI,CAAC,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,IAAI,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjF,CAAC;CACJ;AAxnBD,wCAwnBC"}
|
@@ -179,7 +179,8 @@ function getParameterListDetails(type) {
|
|
179
179
|
// If this is an unpacked tuple, expand the entries.
|
180
180
|
const paramType = types_1.FunctionType.getEffectiveParameterType(type, index);
|
181
181
|
if (param.name && (0, types_1.isUnpackedClass)(paramType) && paramType.tupleTypeArguments) {
|
182
|
-
|
182
|
+
const addToPositionalOnly = index < result.positionOnlyParamCount;
|
183
|
+
paramType.tupleTypeArguments.forEach((tupleArg, tupleIndex) => {
|
183
184
|
const category = (0, types_1.isVariadicTypeVar)(tupleArg.type) || tupleArg.isUnbounded
|
184
185
|
? 1 /* VarArgList */
|
185
186
|
: 0 /* Simple */;
|
@@ -191,11 +192,14 @@ function getParameterListDetails(type) {
|
|
191
192
|
}
|
192
193
|
addVirtualParameter({
|
193
194
|
category,
|
194
|
-
name: `${param.name}[${
|
195
|
+
name: `${param.name}[${tupleIndex.toString()}]`,
|
195
196
|
isNameSynthesized: true,
|
196
197
|
type: tupleArg.type,
|
197
198
|
hasDeclaredType: true,
|
198
|
-
},
|
199
|
+
}, tupleIndex, tupleArg.type);
|
200
|
+
if (tupleIndex > 0 && addToPositionalOnly) {
|
201
|
+
result.positionOnlyParamCount++;
|
202
|
+
}
|
199
203
|
});
|
200
204
|
}
|
201
205
|
else {
|
@@ -2057,7 +2061,7 @@ class TypeVarTransformer {
|
|
2057
2061
|
this._pendingTypeVarTransformations = new Set();
|
2058
2062
|
}
|
2059
2063
|
apply(type, recursionCount = 0) {
|
2060
|
-
var _a;
|
2064
|
+
var _a, _b;
|
2061
2065
|
if (recursionCount > types_1.maxTypeRecursionCount) {
|
2062
2066
|
return type;
|
2063
2067
|
}
|
@@ -2100,7 +2104,7 @@ class TypeVarTransformer {
|
|
2100
2104
|
// _pendingTypeVarTransformations set.
|
2101
2105
|
const typeVarName = types_1.TypeVarType.getNameWithScope(type);
|
2102
2106
|
if (!this._pendingTypeVarTransformations.has(typeVarName)) {
|
2103
|
-
replacementType = this.transformTypeVar(type);
|
2107
|
+
replacementType = (_b = this.transformTypeVar(type)) !== null && _b !== void 0 ? _b : type;
|
2104
2108
|
if (!this._isTransformingTypeArg) {
|
2105
2109
|
this._pendingTypeVarTransformations.add(typeVarName);
|
2106
2110
|
replacementType = this.apply(replacementType, recursionCount);
|
@@ -2236,7 +2240,8 @@ class TypeVarTransformer {
|
|
2236
2240
|
else {
|
2237
2241
|
const typeParamName = types_1.TypeVarType.getNameWithScope(typeParam);
|
2238
2242
|
if (!this._pendingTypeVarTransformations.has(typeParamName)) {
|
2239
|
-
|
2243
|
+
const transformedType = this.transformTypeVar(typeParam);
|
2244
|
+
replacementType = transformedType !== null && transformedType !== void 0 ? transformedType : typeParam;
|
2240
2245
|
if (replacementType !== typeParam) {
|
2241
2246
|
if (!this._isTransformingTypeArg) {
|
2242
2247
|
this._pendingTypeVarTransformations.add(typeParamName);
|
@@ -2245,6 +2250,9 @@ class TypeVarTransformer {
|
|
2245
2250
|
}
|
2246
2251
|
specializationNeeded = true;
|
2247
2252
|
}
|
2253
|
+
else if (transformedType !== undefined && !classType.typeArguments) {
|
2254
|
+
specializationNeeded = true;
|
2255
|
+
}
|
2248
2256
|
}
|
2249
2257
|
}
|
2250
2258
|
newTypeArgs.push(replacementType);
|
@@ -2477,7 +2485,7 @@ class ApplySolvedTypeVarsTransformer extends TypeVarTransformer {
|
|
2477
2485
|
return types_1.UnknownType.create();
|
2478
2486
|
}
|
2479
2487
|
}
|
2480
|
-
return
|
2488
|
+
return undefined;
|
2481
2489
|
}
|
2482
2490
|
transformUnionSubtype(preTransform, postTransform) {
|
2483
2491
|
// If a union contains unsolved TypeVars within scope, eliminate them
|