@zzzen/pyright-internal 1.2.0-dev.20220911 → 1.2.0-dev.20220925
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/binder.js +11 -6
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +10 -4
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +0 -6
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +3 -2
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/service.js +2 -2
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +3 -2
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +122 -54
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -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/typeGuards.js +4 -1
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.js +16 -8
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +2 -0
- package/dist/analyzer/types.js +8 -0
- package/dist/analyzer/types.js.map +1 -1
- 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/languageService/indentationUtils.d.ts +5 -0
- package/dist/languageService/indentationUtils.js +68 -27
- package/dist/languageService/indentationUtils.js.map +1 -1
- package/dist/languageService/insertionPointUtils.d.ts +2 -2
- package/dist/languageService/insertionPointUtils.js +1 -1
- package/dist/languageService/insertionPointUtils.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +2 -1
- package/dist/languageService/signatureHelpProvider.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.js +43 -46
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizer.d.ts +1 -1
- package/dist/parser/tokenizer.js +46 -20
- 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/fourslash/signature.paramspec.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/signature.paramspec.fourslash.js +30 -0
- package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +1 -0
- 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/parser.test.js +2 -2
- package/dist/tests/testUtils.d.ts +4 -1
- package/dist/tests/testUtils.js +10 -4
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/tokenizer.test.js +3 -0
- package/dist/tests/tokenizer.test.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 +3 -3
@@ -28,6 +28,7 @@ export declare const enum EvaluatorFlags {
|
|
28
28
|
DisallowTypeVarsWithScopeId = 2048,
|
29
29
|
DisallowTypeVarsWithoutScopeId = 4096,
|
30
30
|
AssociateTypeVarsWithCurrentScope = 8192,
|
31
|
+
EnforceTypeVarVarianceConsistency = 16384,
|
31
32
|
VariableTypeAnnotation = 32768,
|
32
33
|
DisallowRecursiveTypeAliasPlaceholder = 65536,
|
33
34
|
ClassVarDisallowed = 131072,
|
@@ -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;;;AAyCH,gEAAgE;AAChE,kDAAkD;AACrC,QAAA,0BAA0B,GAAG,EAAE,CAAC;AAE7C,IAAkB,
|
1
|
+
{"version":3,"file":"typeEvaluatorTypes.js","sourceRoot":"","sources":["../../../src/analyzer/typeEvaluatorTypes.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAyCH,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"}
|
@@ -731,7 +731,10 @@ function narrowTypeForIsInstance(evaluator, type, classTypeList, isInstanceCheck
|
|
731
731
|
},
|
732
732
|
]);
|
733
733
|
}
|
734
|
-
|
734
|
+
let newClassInstanceType = types_1.ClassType.cloneAsInstance(newClassType);
|
735
|
+
if (varType.condition) {
|
736
|
+
newClassInstanceType = (0, typeUtils_1.addConditionToType)(newClassInstanceType, varType.condition);
|
737
|
+
}
|
735
738
|
// If this is a issubclass check, we do a double conversion from instantiable
|
736
739
|
// to instance back to instantiable to make sure that the includeSubclasses flag
|
737
740
|
// gets cleared.
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/analyzer/typeGuards.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"typeGuards.js","sourceRoot":"","sources":["../../../src/analyzer/typeGuards.ts"],"names":[],"mappings":"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"}
|
@@ -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 {
|
@@ -1893,7 +1897,7 @@ function computeMroLinearization(classType) {
|
|
1893
1897
|
});
|
1894
1898
|
// Construct the list of class lists that need to be merged.
|
1895
1899
|
const classListsToMerge = [];
|
1896
|
-
filteredBaseClasses.forEach((baseClass
|
1900
|
+
filteredBaseClasses.forEach((baseClass) => {
|
1897
1901
|
if ((0, types_1.isInstantiableClass)(baseClass)) {
|
1898
1902
|
const typeVarContext = buildTypeVarContextFromSpecializedClass(baseClass, /* makeConcrete */ false);
|
1899
1903
|
classListsToMerge.push(baseClass.details.mro.map((mroClass) => {
|
@@ -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
|