@zzzen/pyright-internal 1.2.0-dev.20260621 → 1.2.0-dev.20260628
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/codeFlowEngine.js +6 -0
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/docStringUtils.d.ts +1 -0
- package/dist/analyzer/docStringUtils.js +78 -0
- package/dist/analyzer/docStringUtils.js.map +1 -1
- package/dist/analyzer/importResolver.js +69 -4
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +19 -1
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +8 -0
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +44 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +6 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +2 -2
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +91 -19
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +53 -61
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +52 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/common/docStringService.d.ts +2 -0
- package/dist/common/docStringService.js +5 -1
- package/dist/common/docStringService.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +2 -1
- package/dist/common/fullAccessHost.js +43 -9
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +2 -2
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +1 -0
- package/dist/common/uri/fileUri.js +20 -0
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js +5 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +2 -0
- package/dist/common/uri/uriUtils.js +22 -0
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/languageServerBase.js +6 -1
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +6 -0
- package/dist/languageService/completionProvider.js +194 -46
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -0
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +15 -1
- package/dist/languageService/documentSymbolCollector.js +64 -41
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +22 -0
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importStatementCandidates.d.ts +16 -0
- package/dist/languageService/importStatementCandidates.js +100 -0
- package/dist/languageService/importStatementCandidates.js.map +1 -0
- package/dist/languageService/referencesProvider.d.ts +16 -9
- package/dist/languageService/referencesProvider.js +188 -32
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +7 -2
- package/dist/languageService/renameProvider.js +45 -17
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +6 -0
- package/dist/localization/localize.js +4 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -0
- package/dist/parser/parser.js +9 -0
- package/dist/parser/parser.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.js +13 -6
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/tests/checker.test.js +4 -0
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/completions.test.js +118 -9
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/docStringReturnExtraction.test.d.ts +1 -0
- package/dist/tests/docStringReturnExtraction.test.js +125 -0
- package/dist/tests/docStringReturnExtraction.test.js.map +1 -0
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js +35 -0
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js +86 -0
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js.map +1 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js +122 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js.map +1 -0
- package/dist/tests/harness/testAccessHost.d.ts +1 -1
- package/dist/tests/harness/testAccessHost.js +1 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/importResolver.test.js +33 -0
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +92 -0
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/parser.test.js +18 -0
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +25 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +73 -0
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +4 -0
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +6 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +22 -0
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +23 -21
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +4 -4
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pythonPathUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/pythonPathUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoBH,0DAmBC;AAED,0DAEC;AAED,
|
|
1
|
+
{"version":3,"file":"pythonPathUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/pythonPathUtils.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,12 +16,26 @@ const pythonVersion_1 = require("../common/pythonVersion");
|
|
|
16
16
|
// Returns undefined if the expression cannot be evaluated
|
|
17
17
|
// statically as a bool value or true/false if it can.
|
|
18
18
|
function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
|
|
19
|
+
return _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, _evaluateBoolConstant);
|
|
20
|
+
}
|
|
21
|
+
// Similar to evaluateStaticBoolExpression except that it handles other non-bool
|
|
22
|
+
// values that are statically falsy or truthy (like "None", "...", and
|
|
23
|
+
// numeric/string/container literals).
|
|
24
|
+
function evaluateStaticBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
|
|
25
|
+
return _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, _evaluateBoolLikeLiteral);
|
|
26
|
+
}
|
|
27
|
+
// Shared implementation of the two functions above.
|
|
28
|
+
// The `evaluateLeafAsBool` callback evaluates leaf expressions.
|
|
29
|
+
function _evaluateStaticBoolOrBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool) {
|
|
19
30
|
if (node.nodeType === 4 /* ParseNodeType.AssignmentExpression */) {
|
|
20
|
-
return
|
|
31
|
+
return _evaluateStaticBoolOrBoolLikeExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
|
|
21
32
|
}
|
|
22
33
|
if (node.nodeType === 55 /* ParseNodeType.UnaryOperation */) {
|
|
23
34
|
if (node.d.operator === 38 /* OperatorType.Not */) {
|
|
24
|
-
const value =
|
|
35
|
+
const value = _evaluateStaticBoolOrBoolLikeExpression(node.d.expr, execEnv, definedConstants, typingImportAliases, sysImportAliases,
|
|
36
|
+
// `not x` always forces a truthiness context on its operand and yields real `bool`.
|
|
37
|
+
// So the operand is folded with the bool-like leaf even for strict callers.
|
|
38
|
+
_evaluateBoolLikeLiteral);
|
|
25
39
|
if (value !== undefined) {
|
|
26
40
|
return !value;
|
|
27
41
|
}
|
|
@@ -30,8 +44,8 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
|
|
|
30
44
|
else if (node.nodeType === 7 /* ParseNodeType.BinaryOperation */) {
|
|
31
45
|
// Is it an OR or AND expression?
|
|
32
46
|
if (node.d.operator === 37 /* OperatorType.Or */ || node.d.operator === 36 /* OperatorType.And */) {
|
|
33
|
-
const leftValue =
|
|
34
|
-
const rightValue =
|
|
47
|
+
const leftValue = _evaluateStaticBoolOrBoolLikeExpression(node.d.leftExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
|
|
48
|
+
const rightValue = _evaluateStaticBoolOrBoolLikeExpression(node.d.rightExpr, execEnv, definedConstants, typingImportAliases, sysImportAliases, evaluateLeafAsBool);
|
|
35
49
|
if (leftValue === undefined || rightValue === undefined) {
|
|
36
50
|
return undefined;
|
|
37
51
|
}
|
|
@@ -95,14 +109,6 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
|
|
|
95
109
|
}
|
|
96
110
|
}
|
|
97
111
|
}
|
|
98
|
-
else if (node.nodeType === 14 /* ParseNodeType.Constant */) {
|
|
99
|
-
if (node.d.constType === 34 /* KeywordType.True */) {
|
|
100
|
-
return true;
|
|
101
|
-
}
|
|
102
|
-
else if (node.d.constType === 15 /* KeywordType.False */) {
|
|
103
|
-
return false;
|
|
104
|
-
}
|
|
105
|
-
}
|
|
106
112
|
else if (node.nodeType === 38 /* ParseNodeType.Name */) {
|
|
107
113
|
if (node.d.value === 'TYPE_CHECKING') {
|
|
108
114
|
return true;
|
|
@@ -124,18 +130,84 @@ function evaluateStaticBoolExpression(node, execEnv, definedConstants, typingImp
|
|
|
124
130
|
return !!constant;
|
|
125
131
|
}
|
|
126
132
|
}
|
|
127
|
-
return
|
|
133
|
+
return evaluateLeafAsBool(node);
|
|
128
134
|
}
|
|
129
|
-
|
|
130
|
-
// other non-bool values that are statically falsy or truthy
|
|
131
|
-
// (like "None").
|
|
132
|
-
function evaluateStaticBoolLikeExpression(node, execEnv, definedConstants, typingImportAliases, sysImportAliases) {
|
|
135
|
+
function _evaluateBoolConstant(node) {
|
|
133
136
|
if (node.nodeType === 14 /* ParseNodeType.Constant */) {
|
|
134
|
-
if (node.d.constType ===
|
|
137
|
+
if (node.d.constType === 34 /* KeywordType.True */) {
|
|
138
|
+
return true;
|
|
139
|
+
}
|
|
140
|
+
if (node.d.constType === 15 /* KeywordType.False */) {
|
|
135
141
|
return false;
|
|
136
142
|
}
|
|
137
143
|
}
|
|
138
|
-
return
|
|
144
|
+
return undefined;
|
|
145
|
+
}
|
|
146
|
+
function _evaluateBoolLikeLiteral(node) {
|
|
147
|
+
switch (node.nodeType) {
|
|
148
|
+
case 14 /* ParseNodeType.Constant */:
|
|
149
|
+
if (node.d.constType === 34 /* KeywordType.True */) {
|
|
150
|
+
return true;
|
|
151
|
+
}
|
|
152
|
+
if (node.d.constType === 15 /* KeywordType.False */ || node.d.constType === 27 /* KeywordType.None */) {
|
|
153
|
+
return false;
|
|
154
|
+
}
|
|
155
|
+
return undefined;
|
|
156
|
+
case 21 /* ParseNodeType.Ellipsis */:
|
|
157
|
+
return true;
|
|
158
|
+
case 40 /* ParseNodeType.Number */:
|
|
159
|
+
return _evaluateNumberTruthiness(node);
|
|
160
|
+
case 48 /* ParseNodeType.StringList */:
|
|
161
|
+
return _evaluateStringListTruthiness(node);
|
|
162
|
+
case 34 /* ParseNodeType.List */:
|
|
163
|
+
case 45 /* ParseNodeType.Set */:
|
|
164
|
+
case 52 /* ParseNodeType.Tuple */:
|
|
165
|
+
return _evaluateSequenceTruthiness(node.d.items);
|
|
166
|
+
case 18 /* ParseNodeType.Dictionary */:
|
|
167
|
+
return _evaluateDictTruthiness(node.d.items);
|
|
168
|
+
default:
|
|
169
|
+
return undefined;
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
function _evaluateNumberTruthiness(node) {
|
|
173
|
+
// bool(v) is False iff v == 0:
|
|
174
|
+
// - zero (0, 0.0, 0j) is falsy;
|
|
175
|
+
// - everything else is truthy, including infinity and NaN.
|
|
176
|
+
if (typeof node.d.value === 'bigint') {
|
|
177
|
+
return node.d.value !== BigInt(0);
|
|
178
|
+
}
|
|
179
|
+
return node.d.value !== 0;
|
|
180
|
+
}
|
|
181
|
+
function _evaluateStringListTruthiness(node) {
|
|
182
|
+
// If any segment is an f-string, the concatenated value is runtime-dependent
|
|
183
|
+
// (e.g. f"{x}" may be empty or not).
|
|
184
|
+
if (node.d.strings.some((str) => str.nodeType === 30 /* ParseNodeType.FormatString */)) {
|
|
185
|
+
return undefined;
|
|
186
|
+
}
|
|
187
|
+
// Truthy iff any segment is non-empty.
|
|
188
|
+
return node.d.strings.some((str) => str.d.value.length > 0);
|
|
189
|
+
}
|
|
190
|
+
function _evaluateSequenceTruthiness(items) {
|
|
191
|
+
if (items.length === 0) {
|
|
192
|
+
return false;
|
|
193
|
+
}
|
|
194
|
+
// A concrete element (not an unpack "*x" or a comprehension) guarantees the sequence is non-empty.
|
|
195
|
+
if (items.some((item) => item.nodeType !== 56 /* ParseNodeType.Unpack */ && item.nodeType !== 11 /* ParseNodeType.Comprehension */)) {
|
|
196
|
+
return true;
|
|
197
|
+
}
|
|
198
|
+
// Only unpacks/comprehensions remain (e.g. "[*x]", "[i for i in y]").
|
|
199
|
+
return undefined;
|
|
200
|
+
}
|
|
201
|
+
function _evaluateDictTruthiness(items) {
|
|
202
|
+
if (items.length === 0) {
|
|
203
|
+
return false;
|
|
204
|
+
}
|
|
205
|
+
// A concrete key/value entry guarantees the dict is non-empty.
|
|
206
|
+
if (items.some((item) => item.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */)) {
|
|
207
|
+
return true;
|
|
208
|
+
}
|
|
209
|
+
// Only "**" expansions or comprehensions remain.
|
|
210
|
+
return undefined;
|
|
139
211
|
}
|
|
140
212
|
function _convertTupleToVersion(node) {
|
|
141
213
|
if (node.d.items.length >= 2) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"staticExpressions.js","sourceRoot":"","sources":["../../../../../src/analyzer/staticExpressions.ts"],"names":[],"mappings":"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"}
|
|
@@ -564,9 +564,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
564
564
|
const anySpecialForm = types_1.AnyType.createSpecialForm();
|
|
565
565
|
if ((0, types_1.isAny)(anySpecialForm)) {
|
|
566
566
|
types_1.TypeBase.setSpecialForm(anySpecialForm, anyClass);
|
|
567
|
-
|
|
568
|
-
types_1.TypeBase.setTypeForm(anySpecialForm, (0, typeUtils_1.convertToInstance)(anySpecialForm));
|
|
569
|
-
}
|
|
567
|
+
types_1.TypeBase.setTypeForm(anySpecialForm, (0, typeUtils_1.convertToInstance)(anySpecialForm));
|
|
570
568
|
}
|
|
571
569
|
}
|
|
572
570
|
}
|
|
@@ -695,7 +693,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
695
693
|
// reported them when analyzing the contents of the string.
|
|
696
694
|
expectingInstantiable = false;
|
|
697
695
|
}
|
|
698
|
-
typeResult = getTypeOfStringList(node, flags);
|
|
696
|
+
typeResult = getTypeOfStringList(node, flags, inferenceContext);
|
|
699
697
|
break;
|
|
700
698
|
}
|
|
701
699
|
case 40 /* ParseNodeType.Number */: {
|
|
@@ -966,7 +964,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
966
964
|
}
|
|
967
965
|
return typeResult;
|
|
968
966
|
}
|
|
969
|
-
function getTypeOfStringList(node, flags) {
|
|
967
|
+
function getTypeOfStringList(node, flags, inferenceContext) {
|
|
970
968
|
let typeResult;
|
|
971
969
|
if ((flags & 8 /* EvalFlags.StrLiteralAsType */) !== 0 && (flags & 1073741824 /* EvalFlags.TypeFormArg */) === 0) {
|
|
972
970
|
return getTypeOfStringListAsType(node, flags);
|
|
@@ -1031,9 +1029,16 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
1031
1029
|
isIncomplete,
|
|
1032
1030
|
};
|
|
1033
1031
|
}
|
|
1034
|
-
if (node.d.strings.length !== 1 ||
|
|
1035
|
-
|
|
1036
|
-
|
|
1032
|
+
if (node.d.strings.length !== 1 || node.d.strings[0].nodeType !== 49 /* ParseNodeType.String */) {
|
|
1033
|
+
return typeResult;
|
|
1034
|
+
}
|
|
1035
|
+
// Only attempt to interpret the string as a TypeForm forward reference when
|
|
1036
|
+
// there's a signal that a TypeForm value is wanted in this context. Doing it
|
|
1037
|
+
// unconditionally can trigger expensive (and recursion-prone) type lookups
|
|
1038
|
+
// for plain string literals in non-type contexts.
|
|
1039
|
+
const wantsTypeForm = (flags & 1073741824 /* EvalFlags.TypeFormArg */) !== 0 ||
|
|
1040
|
+
(inferenceContext !== undefined && expectedTypeWantsTypeForm(inferenceContext.expectedType));
|
|
1041
|
+
if (!wantsTypeForm) {
|
|
1037
1042
|
return typeResult;
|
|
1038
1043
|
}
|
|
1039
1044
|
// For performance reasons, do not attempt to treat the string literal
|
|
@@ -1826,11 +1831,22 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
1826
1831
|
types_1.FunctionType.addKeywordOnlyParamSeparator(newFunction);
|
|
1827
1832
|
}
|
|
1828
1833
|
tdEntries.forEach((tdEntry, name) => {
|
|
1829
|
-
|
|
1834
|
+
// A TypedDict entry type may carry the TypedDict's own type parameters (e.g. an unpacked
|
|
1835
|
+
// generic TypedDict `**kwargs: Unpack[TD[int]]`), so specialize each entry against the
|
|
1836
|
+
// (possibly generic) TypedDict instance. Specializing an already-concrete type is a
|
|
1837
|
+
// no-op, so this is safe for non-generic TypedDicts.
|
|
1838
|
+
const specializedValueType = (0, typeUtils_1.partiallySpecializeType)(tdEntry.valueType, kwargsType,
|
|
1839
|
+
/* typeClassType */ undefined);
|
|
1840
|
+
types_1.FunctionType.addParam(newFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, specializedValueType, types_1.FunctionParamFlags.TypeDeclared, name, tdEntry.isRequired ? undefined : specializedValueType));
|
|
1830
1841
|
});
|
|
1831
1842
|
const extraItemsType = kwargsType.shared.typedDictEntries?.extraItems?.valueType;
|
|
1832
1843
|
if (extraItemsType && !(0, types_1.isNever)(extraItemsType)) {
|
|
1833
|
-
|
|
1844
|
+
// Specialized for the same reason as the per-entry types above. This PEP 728
|
|
1845
|
+
// `extra_items` branch uses the identical mechanism and is intentionally not
|
|
1846
|
+
// separately tested.
|
|
1847
|
+
const specializedExtraItemsType = (0, typeUtils_1.partiallySpecializeType)(extraItemsType, kwargsType,
|
|
1848
|
+
/* typeClassType */ undefined);
|
|
1849
|
+
types_1.FunctionType.addParam(newFunction, types_1.FunctionParam.create(2 /* ParamCategory.KwargsDict */, specializedExtraItemsType, types_1.FunctionParamFlags.TypeDeclared, 'kwargs'));
|
|
1834
1850
|
}
|
|
1835
1851
|
return newFunction;
|
|
1836
1852
|
}
|
|
@@ -3389,9 +3405,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
3389
3405
|
return { type, isIncomplete };
|
|
3390
3406
|
}
|
|
3391
3407
|
function addTypeFormForSymbol(node, type, flags, includesVarDecl) {
|
|
3392
|
-
if (!isTypeFormSupported(node)) {
|
|
3393
|
-
return type;
|
|
3394
|
-
}
|
|
3395
3408
|
const isValid = isSymbolValidTypeExpression(type, includesVarDecl);
|
|
3396
3409
|
// If the type already has type information associated with it, don't replace.
|
|
3397
3410
|
if (type.props?.typeForm) {
|
|
@@ -5297,9 +5310,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
5297
5310
|
...aliasInfo,
|
|
5298
5311
|
typeArgs: aliasTypeArgs,
|
|
5299
5312
|
});
|
|
5300
|
-
|
|
5301
|
-
type = types_1.TypeBase.cloneWithTypeForm(type, reportedError ? undefined : (0, typeUtils_1.convertToInstance)(type));
|
|
5302
|
-
}
|
|
5313
|
+
type = types_1.TypeBase.cloneWithTypeForm(type, reportedError ? undefined : (0, typeUtils_1.convertToInstance)(type));
|
|
5303
5314
|
if (baseType.props?.typeAliasInfo) {
|
|
5304
5315
|
return { type, node };
|
|
5305
5316
|
}
|
|
@@ -6183,7 +6194,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
6183
6194
|
return { type: types_1.UnknownType.create() };
|
|
6184
6195
|
}
|
|
6185
6196
|
const typeFormResult = getTypeOfArgExpectingType(convertNodeToArg(node.d.args[0]), {
|
|
6186
|
-
typeFormArg:
|
|
6197
|
+
typeFormArg: true,
|
|
6187
6198
|
noNonTypeSpecialForms: true,
|
|
6188
6199
|
typeExpression: true,
|
|
6189
6200
|
});
|
|
@@ -9705,9 +9716,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
9705
9716
|
(flags & 128 /* EvalFlags.InstantiableType */) !== 0
|
|
9706
9717
|
? prefetched.noneTypeClass
|
|
9707
9718
|
: (0, typeUtils_1.convertToInstance)(prefetched.noneTypeClass);
|
|
9708
|
-
|
|
9709
|
-
type = types_1.TypeBase.cloneWithTypeForm(type, (0, typeUtils_1.convertToInstance)(type));
|
|
9710
|
-
}
|
|
9719
|
+
type = types_1.TypeBase.cloneWithTypeForm(type, (0, typeUtils_1.convertToInstance)(type));
|
|
9711
9720
|
}
|
|
9712
9721
|
}
|
|
9713
9722
|
else if (node.d.constType === 34 /* KeywordType.True */ ||
|
|
@@ -11017,7 +11026,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11017
11026
|
if (paramSpec) {
|
|
11018
11027
|
types_1.FunctionType.addParamSpecVariadics(functionType, (0, typeUtils_1.convertToInstance)(paramSpec));
|
|
11019
11028
|
}
|
|
11020
|
-
if (
|
|
11029
|
+
if (isValidTypeForm) {
|
|
11021
11030
|
functionType = types_1.TypeBase.cloneWithTypeForm(functionType, (0, typeUtils_1.convertToInstance)(functionType));
|
|
11022
11031
|
}
|
|
11023
11032
|
return functionType;
|
|
@@ -11182,7 +11191,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11182
11191
|
if ((0, types_1.isUnion)(result) && prefetched?.unionTypeClass && (0, types_1.isInstantiableClass)(prefetched.unionTypeClass)) {
|
|
11183
11192
|
result = types_1.TypeBase.cloneAsSpecialForm(result, types_1.ClassType.cloneAsInstance(prefetched.unionTypeClass));
|
|
11184
11193
|
}
|
|
11185
|
-
if (
|
|
11194
|
+
if (isValidTypeForm) {
|
|
11186
11195
|
result = types_1.TypeBase.cloneWithTypeForm(result, (0, typeUtils_1.convertToInstance)(result));
|
|
11187
11196
|
}
|
|
11188
11197
|
return result;
|
|
@@ -11228,9 +11237,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11228
11237
|
return (0, typeUtils_1.convertToInstance)(validateTypeArg(typeArg) ? typeArg.type : types_1.UnknownType.create());
|
|
11229
11238
|
});
|
|
11230
11239
|
let resultType = types_1.ClassType.specialize(classType, convertedTypeArgs);
|
|
11231
|
-
|
|
11232
|
-
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
11233
|
-
}
|
|
11240
|
+
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
11234
11241
|
return resultType;
|
|
11235
11242
|
}
|
|
11236
11243
|
// Creates a "TypeGuard" and "TypeIs" type.
|
|
@@ -11252,9 +11259,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11252
11259
|
return (0, typeUtils_1.convertToInstance)(validateTypeArg(typeArg) ? typeArg.type : types_1.UnknownType.create());
|
|
11253
11260
|
});
|
|
11254
11261
|
let resultType = types_1.ClassType.specialize(classType, convertedTypeArgs);
|
|
11255
|
-
|
|
11256
|
-
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
11257
|
-
}
|
|
11262
|
+
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
11258
11263
|
return resultType;
|
|
11259
11264
|
}
|
|
11260
11265
|
function createSelfType(classType, errorNode, typeArgs, flags) {
|
|
@@ -11687,7 +11692,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11687
11692
|
unionType = types_1.TypeBase.cloneWithTypeForm(unionType, undefined);
|
|
11688
11693
|
}
|
|
11689
11694
|
}
|
|
11690
|
-
else
|
|
11695
|
+
else {
|
|
11691
11696
|
const typeFormType = (0, types_1.combineTypes)(types.map((t) => t.props.typeForm));
|
|
11692
11697
|
unionType = types_1.TypeBase.cloneWithTypeForm(unionType, typeFormType);
|
|
11693
11698
|
}
|
|
@@ -11953,16 +11958,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
11953
11958
|
if (assignedName === 'LiteralString') {
|
|
11954
11959
|
specialType.shared.baseClasses.push(prefetched?.strClass ?? types_1.AnyType.create());
|
|
11955
11960
|
(0, typeUtils_1.computeMroLinearization)(specialType);
|
|
11956
|
-
|
|
11957
|
-
specialType = types_1.TypeBase.cloneWithTypeForm(specialType, (0, typeUtils_1.convertToInstance)(specialType));
|
|
11958
|
-
}
|
|
11961
|
+
specialType = types_1.TypeBase.cloneWithTypeForm(specialType, (0, typeUtils_1.convertToInstance)(specialType));
|
|
11959
11962
|
}
|
|
11960
11963
|
// Handle 'Never' and 'NoReturn' specially.
|
|
11961
11964
|
if (assignedName === 'Never' || assignedName === 'NoReturn') {
|
|
11962
11965
|
specialType = types_1.TypeBase.cloneAsSpecialForm(assignedName === 'Never' ? types_1.NeverType.createNever() : types_1.NeverType.createNoReturn(), specialType);
|
|
11963
|
-
|
|
11964
|
-
specialType = types_1.TypeBase.cloneWithTypeForm(specialType, (0, typeUtils_1.convertToInstance)(specialType));
|
|
11965
|
-
}
|
|
11966
|
+
specialType = types_1.TypeBase.cloneWithTypeForm(specialType, (0, typeUtils_1.convertToInstance)(specialType));
|
|
11966
11967
|
}
|
|
11967
11968
|
writeTypeCache(node, { type: specialType }, 0 /* EvalFlags.None */);
|
|
11968
11969
|
return specialType;
|
|
@@ -15044,9 +15045,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
15044
15045
|
}
|
|
15045
15046
|
let resultType = aliasedName === 'Never' ? types_1.NeverType.createNever() : types_1.NeverType.createNoReturn();
|
|
15046
15047
|
resultType = types_1.TypeBase.cloneAsSpecialForm(resultType, classType);
|
|
15047
|
-
|
|
15048
|
-
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
15049
|
-
}
|
|
15048
|
+
resultType = types_1.TypeBase.cloneWithTypeForm(resultType, (0, typeUtils_1.convertToInstance)(resultType));
|
|
15050
15049
|
return { type: resultType };
|
|
15051
15050
|
}
|
|
15052
15051
|
case 'Optional': {
|
|
@@ -15059,9 +15058,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
15059
15058
|
if ((0, types_1.isInstantiableClass)(typeType)) {
|
|
15060
15059
|
typeType = (0, typeUtils_1.explodeGenericClass)(typeType);
|
|
15061
15060
|
}
|
|
15062
|
-
|
|
15063
|
-
typeType = types_1.TypeBase.cloneWithTypeForm(typeType, (0, typeUtils_1.convertToInstance)(typeType));
|
|
15064
|
-
}
|
|
15061
|
+
typeType = types_1.TypeBase.cloneWithTypeForm(typeType, (0, typeUtils_1.convertToInstance)(typeType));
|
|
15065
15062
|
return { type: typeType };
|
|
15066
15063
|
}
|
|
15067
15064
|
case 'ClassVar': {
|
|
@@ -15170,9 +15167,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
15170
15167
|
if ((0, types_1.isInstantiableClass)(typeType)) {
|
|
15171
15168
|
typeType = (0, typeUtils_1.explodeGenericClass)(typeType);
|
|
15172
15169
|
}
|
|
15173
|
-
|
|
15174
|
-
typeType = types_1.TypeBase.cloneWithTypeForm(typeType, (0, typeUtils_1.convertToInstance)(typeType));
|
|
15175
|
-
}
|
|
15170
|
+
typeType = types_1.TypeBase.cloneWithTypeForm(typeType, (0, typeUtils_1.convertToInstance)(typeType));
|
|
15176
15171
|
return { type: typeType };
|
|
15177
15172
|
}
|
|
15178
15173
|
}
|
|
@@ -15183,9 +15178,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
15183
15178
|
/* paramLimit */ undefined,
|
|
15184
15179
|
/* allowParamSpec */ undefined,
|
|
15185
15180
|
/* isSpecialForm */ false);
|
|
15186
|
-
|
|
15187
|
-
specializedClass = types_1.TypeBase.cloneWithTypeForm(specializedClass, (0, typeUtils_1.convertToInstance)(specializedClass));
|
|
15188
|
-
}
|
|
15181
|
+
specializedClass = types_1.TypeBase.cloneWithTypeForm(specializedClass, (0, typeUtils_1.convertToInstance)(specializedClass));
|
|
15189
15182
|
return { type: specializedClass };
|
|
15190
15183
|
}
|
|
15191
15184
|
}
|
|
@@ -15377,9 +15370,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
15377
15370
|
typeArgTypes = typeArgs.map((t) => (0, typeUtils_1.convertToInstance)(t.type));
|
|
15378
15371
|
}
|
|
15379
15372
|
let specializedClass = types_1.ClassType.specialize(classType, typeArgTypes, typeArgs !== undefined);
|
|
15380
|
-
|
|
15381
|
-
specializedClass = types_1.TypeBase.cloneWithTypeForm(specializedClass, isValidTypeForm ? (0, typeUtils_1.convertToInstance)(specializedClass) : undefined);
|
|
15382
|
-
}
|
|
15373
|
+
specializedClass = types_1.TypeBase.cloneWithTypeForm(specializedClass, isValidTypeForm ? (0, typeUtils_1.convertToInstance)(specializedClass) : undefined);
|
|
15383
15374
|
return { type: specializedClass };
|
|
15384
15375
|
}
|
|
15385
15376
|
// PEP 612 says that if the class has only one type parameter consisting
|
|
@@ -18290,6 +18281,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
18290
18281
|
});
|
|
18291
18282
|
return isAssignable;
|
|
18292
18283
|
}
|
|
18284
|
+
function expectedTypeWantsTypeForm(expectedType) {
|
|
18285
|
+
return (0, typeUtils_1.someSubtypes)(expectedType, (subtype) => (0, types_1.isClassInstance)(subtype) && types_1.ClassType.isBuiltIn(subtype, 'TypeForm'));
|
|
18286
|
+
}
|
|
18293
18287
|
// If the expected type is an explicit TypeForm type, see if the source
|
|
18294
18288
|
// type has an implicit TypeForm type that can be assigned to it. If so,
|
|
18295
18289
|
// convert to an explicit TypeForm type.
|
|
@@ -19208,9 +19202,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
19208
19202
|
continue;
|
|
19209
19203
|
}
|
|
19210
19204
|
const nonDefaultSrcParamCount = srcParamDetails.params.filter((p) => !!p.param.name && !p.defaultType && p.param.category === 0 /* ParamCategory.Simple */).length;
|
|
19211
|
-
diag?.createAddendum().addMessage(localize_1.LocAddendum.
|
|
19212
|
-
expected:
|
|
19213
|
-
received:
|
|
19205
|
+
diag?.createAddendum().addMessage(localize_1.LocAddendum.functionTooManyParams().format({
|
|
19206
|
+
expected: destPositionalCount,
|
|
19207
|
+
received: nonDefaultSrcParamCount,
|
|
19214
19208
|
}));
|
|
19215
19209
|
canAssign = false;
|
|
19216
19210
|
break;
|
|
@@ -19262,9 +19256,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
19262
19256
|
}
|
|
19263
19257
|
}
|
|
19264
19258
|
if (srcPositionalCount < adjDestPositionalCount) {
|
|
19265
|
-
diag?.addMessage(localize_1.LocAddendum.
|
|
19266
|
-
expected:
|
|
19267
|
-
received:
|
|
19259
|
+
diag?.addMessage(localize_1.LocAddendum.functionTooFewParams().format({
|
|
19260
|
+
expected: adjDestPositionalCount,
|
|
19261
|
+
received: srcPositionalCount,
|
|
19268
19262
|
}));
|
|
19269
19263
|
canAssign = false;
|
|
19270
19264
|
}
|
|
@@ -20437,11 +20431,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
20437
20431
|
}
|
|
20438
20432
|
return { sourceType: simpleSrcType, destType: simpleDestType };
|
|
20439
20433
|
}
|
|
20440
|
-
function isTypeFormSupported(node) {
|
|
20441
|
-
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|
|
20442
|
-
// For now, enable only if enableExperimentalFeatures is true.
|
|
20443
|
-
return fileInfo.diagnosticRuleSet.enableExperimentalFeatures;
|
|
20444
|
-
}
|
|
20445
20434
|
function printType(type, options) {
|
|
20446
20435
|
let flags = evaluatorOptions.printTypeFlags;
|
|
20447
20436
|
if (options?.expandTypeAlias) {
|
|
@@ -20465,6 +20454,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
|
20465
20454
|
if (options?.useFullyQualifiedNames) {
|
|
20466
20455
|
flags |= 4096 /* TypePrinter.PrintTypeFlags.UseFullyQualifiedNames */;
|
|
20467
20456
|
}
|
|
20457
|
+
if (options?.disablePep604) {
|
|
20458
|
+
flags &= ~8 /* TypePrinter.PrintTypeFlags.PEP604 */;
|
|
20459
|
+
}
|
|
20468
20460
|
return TypePrinter.printType(type, flags, getEffectiveReturnType);
|
|
20469
20461
|
}
|
|
20470
20462
|
// Calls back into the parser to parse the contents of a string literal.
|