@zzzen/pyright-internal 1.2.0-dev.20240707 → 1.2.0-dev.20240714
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/analyzerNodeInfo.js +74 -46
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +506 -512
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +649 -634
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +5 -3
- package/dist/analyzer/codeFlowEngine.js +87 -101
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +30 -28
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +68 -64
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +22 -22
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +51 -48
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +109 -175
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declarationUtils.js +14 -15
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +77 -77
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +70 -56
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +8 -18
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -1
- package/dist/analyzer/importResolver.js +40 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +27 -27
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +33 -59
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.js +66 -66
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +66 -62
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +4 -4
- package/dist/analyzer/parameterUtils.js +28 -46
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +268 -269
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +76 -76
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +176 -143
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +78 -147
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +21 -21
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.js +3 -3
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +20 -19
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +83 -84
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/testWalker.js +2 -2
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +20 -20
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +25 -25
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +1884 -1937
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +6 -5
- package/dist/analyzer/typeEvaluatorTypes.js +4 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +211 -211
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +118 -115
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +104 -103
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +14 -3
- package/dist/analyzer/typeUtils.js +432 -402
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +8 -8
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +13 -10
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.js +96 -198
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +144 -102
- package/dist/analyzer/types.js +662 -494
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +33 -33
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fullAccessHost.js +6 -4
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +1 -0
- package/dist/common/realFileSystem.js +4 -0
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditTracker.js +14 -14
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/languageService/autoImporter.js +10 -10
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +23 -23
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.js +153 -151
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +1 -1
- package/dist/languageService/definitionProvider.js +3 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +19 -19
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +25 -24
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js +8 -8
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/referencesProvider.js +8 -8
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +1 -1
- package/dist/languageService/signatureHelpProvider.js +6 -6
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +3 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +13 -13
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/parser/parseNodes.d.ts +468 -401
- package/dist/parser/parseNodes.js +626 -355
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.js +316 -294
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +14 -14
- package/dist/tests/classDeclaration.test.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
- package/dist/tests/harness/vfs/filesystem.js +6 -2
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +4 -3
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +5 -5
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +8 -8
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +7 -7
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +8 -3
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +14 -39
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/package.json +1 -1
@@ -16,7 +16,7 @@ function isTypedKwargs(param) {
|
|
16
16
|
(0, types_1.isClassInstance)(param.type) &&
|
17
17
|
(0, types_1.isUnpackedClass)(param.type) &&
|
18
18
|
types_1.ClassType.isTypedDictClass(param.type) &&
|
19
|
-
!!param.type.
|
19
|
+
!!param.type.shared.typedDictEntries);
|
20
20
|
}
|
21
21
|
exports.isTypedKwargs = isTypedKwargs;
|
22
22
|
var ParameterKind;
|
@@ -26,7 +26,7 @@ var ParameterKind;
|
|
26
26
|
ParameterKind[ParameterKind["Keyword"] = 2] = "Keyword";
|
27
27
|
})(ParameterKind || (exports.ParameterKind = ParameterKind = {}));
|
28
28
|
function firstParametersExcludingSelf(type) {
|
29
|
-
return type.
|
29
|
+
return type.shared.parameters.find((p) => !((0, types_1.isTypeVar)(p.type) && p.type.shared.isSynthesizedSelf));
|
30
30
|
}
|
31
31
|
exports.firstParametersExcludingSelf = firstParametersExcludingSelf;
|
32
32
|
// Examines the input parameters within a function signature and creates a
|
@@ -41,12 +41,12 @@ function getParameterListDetails(type) {
|
|
41
41
|
hasUnpackedVariadicTypeVar: false,
|
42
42
|
hasUnpackedTypedDict: false,
|
43
43
|
};
|
44
|
-
let positionOnlyIndex = type.
|
44
|
+
let positionOnlyIndex = type.shared.parameters.findIndex((p) => (0, types_1.isPositionOnlySeparator)(p));
|
45
45
|
// Handle the old (pre Python 3.8) way of specifying positional-only
|
46
46
|
// parameters by naming them with "__".
|
47
47
|
if (positionOnlyIndex < 0) {
|
48
|
-
for (let i = 0; i < type.
|
49
|
-
const p = type.
|
48
|
+
for (let i = 0; i < type.shared.parameters.length; i++) {
|
49
|
+
const p = type.shared.parameters[i];
|
50
50
|
if (p.category !== 0 /* ParameterCategory.Simple */) {
|
51
51
|
break;
|
52
52
|
}
|
@@ -64,7 +64,7 @@ function getParameterListDetails(type) {
|
|
64
64
|
}
|
65
65
|
}
|
66
66
|
for (let i = 0; i < positionOnlyIndex; i++) {
|
67
|
-
if (type.
|
67
|
+
if (type.shared.parameters[i].defaultType) {
|
68
68
|
break;
|
69
69
|
}
|
70
70
|
result.positionOnlyParamCount++;
|
@@ -97,14 +97,14 @@ function getParameterListDetails(type) {
|
|
97
97
|
});
|
98
98
|
}
|
99
99
|
};
|
100
|
-
type.
|
100
|
+
type.shared.parameters.forEach((param, index) => {
|
101
101
|
var _a, _b;
|
102
102
|
if (param.category === 1 /* ParameterCategory.ArgsList */) {
|
103
103
|
// If this is an unpacked tuple, expand the entries.
|
104
104
|
const paramType = types_1.FunctionType.getEffectiveParameterType(type, index);
|
105
|
-
if (param.name && (0, types_1.isUnpackedClass)(paramType) && paramType.tupleTypeArguments) {
|
105
|
+
if (param.name && (0, types_1.isUnpackedClass)(paramType) && paramType.priv.tupleTypeArguments) {
|
106
106
|
const addToPositionalOnly = index < result.positionOnlyParamCount;
|
107
|
-
paramType.tupleTypeArguments.forEach((tupleArg, tupleIndex) => {
|
107
|
+
paramType.priv.tupleTypeArguments.forEach((tupleArg, tupleIndex) => {
|
108
108
|
const category = (0, types_1.isVariadicTypeVar)(tupleArg.type) || tupleArg.isUnbounded
|
109
109
|
? 1 /* ParameterCategory.ArgsList */
|
110
110
|
: 0 /* ParameterCategory.Simple */;
|
@@ -114,13 +114,7 @@ function getParameterListDetails(type) {
|
|
114
114
|
if ((0, types_1.isVariadicTypeVar)(param.type)) {
|
115
115
|
result.hasUnpackedVariadicTypeVar = true;
|
116
116
|
}
|
117
|
-
addVirtualParameter({
|
118
|
-
category,
|
119
|
-
name: `${param.name}[${tupleIndex.toString()}]`,
|
120
|
-
isNameSynthesized: true,
|
121
|
-
type: tupleArg.type,
|
122
|
-
hasDeclaredType: true,
|
123
|
-
}, index, tupleArg.type,
|
117
|
+
addVirtualParameter(types_1.FunctionParam.create(category, tupleArg.type, types_1.FunctionParamFlags.NameSynthesized | types_1.FunctionParamFlags.TypeDeclared, `${param.name}[${tupleIndex.toString()}]`), index, tupleArg.type,
|
124
118
|
/* defaultArgTypeOverride */ undefined, ParameterKind.Positional);
|
125
119
|
if (category === 0 /* ParameterCategory.Simple */) {
|
126
120
|
result.positionParamCount++;
|
@@ -163,29 +157,17 @@ function getParameterListDetails(type) {
|
|
163
157
|
sawKeywordOnlySeparator = true;
|
164
158
|
const paramType = types_1.FunctionType.getEffectiveParameterType(type, index);
|
165
159
|
// Is this an unpacked TypedDict? If so, expand the entries.
|
166
|
-
if ((0, types_1.isClassInstance)(paramType) && (0, types_1.isUnpackedClass)(paramType) && paramType.
|
160
|
+
if ((0, types_1.isClassInstance)(paramType) && (0, types_1.isUnpackedClass)(paramType) && paramType.shared.typedDictEntries) {
|
167
161
|
if (result.firstKeywordOnlyIndex === undefined) {
|
168
162
|
result.firstKeywordOnlyIndex = result.params.length;
|
169
163
|
}
|
170
164
|
const typedDictType = paramType;
|
171
|
-
paramType.
|
165
|
+
paramType.shared.typedDictEntries.knownItems.forEach((entry, name) => {
|
172
166
|
const specializedParamType = (0, typeUtils_1.partiallySpecializeType)(entry.valueType, typedDictType);
|
173
|
-
addVirtualParameter(
|
174
|
-
category: 0 /* ParameterCategory.Simple */,
|
175
|
-
name,
|
176
|
-
type: specializedParamType,
|
177
|
-
hasDeclaredType: true,
|
178
|
-
hasDefault: !entry.isRequired,
|
179
|
-
}, index, specializedParamType);
|
167
|
+
addVirtualParameter(types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, specializedParamType, types_1.FunctionParamFlags.TypeDeclared, name, !entry.isRequired ? specializedParamType : undefined), index, specializedParamType);
|
180
168
|
});
|
181
|
-
if (paramType.
|
182
|
-
addVirtualParameter(
|
183
|
-
category: 2 /* ParameterCategory.KwargsDict */,
|
184
|
-
name: 'kwargs',
|
185
|
-
type: paramType.details.typedDictEntries.extraItems.valueType,
|
186
|
-
hasDeclaredType: true,
|
187
|
-
hasDefault: false,
|
188
|
-
}, index, paramType.details.typedDictEntries.extraItems.valueType);
|
169
|
+
if (paramType.shared.typedDictEntries.extraItems) {
|
170
|
+
addVirtualParameter(types_1.FunctionParam.create(2 /* ParameterCategory.KwargsDict */, paramType.shared.typedDictEntries.extraItems.valueType, types_1.FunctionParamFlags.TypeDeclared, 'kwargs'), index, paramType.shared.typedDictEntries.extraItems.valueType);
|
189
171
|
result.kwargsIndex = result.params.length - 1;
|
190
172
|
}
|
191
173
|
result.hasUnpackedTypedDict = true;
|
@@ -206,8 +188,8 @@ function getParameterListDetails(type) {
|
|
206
188
|
result.positionParamCount++;
|
207
189
|
}
|
208
190
|
addVirtualParameter(param, index,
|
209
|
-
/* typeOverride */ undefined, ((_a = type.specializedTypes) === null || _a === void 0 ? void 0 : _a.parameterDefaultArgs)
|
210
|
-
? (_b = type.specializedTypes) === null || _b === void 0 ? void 0 : _b.parameterDefaultArgs[index]
|
191
|
+
/* typeOverride */ undefined, ((_a = type.priv.specializedTypes) === null || _a === void 0 ? void 0 : _a.parameterDefaultArgs)
|
192
|
+
? (_b = type.priv.specializedTypes) === null || _b === void 0 ? void 0 : _b.parameterDefaultArgs[index]
|
211
193
|
: undefined);
|
212
194
|
}
|
213
195
|
});
|
@@ -227,15 +209,15 @@ function isParamSpecArgsArgument(paramSpec, argType) {
|
|
227
209
|
let isCompatible = true;
|
228
210
|
(0, typeUtils_1.doForEachSubtype)(argType, (argSubtype) => {
|
229
211
|
if ((0, types_1.isParamSpec)(argSubtype) &&
|
230
|
-
argSubtype.paramSpecAccess === 'args' &&
|
212
|
+
argSubtype.priv.paramSpecAccess === 'args' &&
|
231
213
|
(0, types_1.isTypeSame)(argSubtype, paramSpec, { ignoreTypeFlags: true })) {
|
232
214
|
return;
|
233
215
|
}
|
234
216
|
if ((0, types_1.isClassInstance)(argSubtype) &&
|
235
|
-
argSubtype.tupleTypeArguments &&
|
236
|
-
argSubtype.tupleTypeArguments.length === 1 &&
|
237
|
-
argSubtype.tupleTypeArguments[0].isUnbounded &&
|
238
|
-
(0, types_1.isAnyOrUnknown)(argSubtype.tupleTypeArguments[0].type)) {
|
217
|
+
argSubtype.priv.tupleTypeArguments &&
|
218
|
+
argSubtype.priv.tupleTypeArguments.length === 1 &&
|
219
|
+
argSubtype.priv.tupleTypeArguments[0].isUnbounded &&
|
220
|
+
(0, types_1.isAnyOrUnknown)(argSubtype.priv.tupleTypeArguments[0].type)) {
|
239
221
|
return;
|
240
222
|
}
|
241
223
|
if ((0, types_1.isAnyOrUnknown)(argSubtype)) {
|
@@ -252,17 +234,17 @@ function isParamSpecKwargsArgument(paramSpec, argType) {
|
|
252
234
|
let isCompatible = true;
|
253
235
|
(0, typeUtils_1.doForEachSubtype)(argType, (argSubtype) => {
|
254
236
|
if ((0, types_1.isParamSpec)(argSubtype) &&
|
255
|
-
argSubtype.paramSpecAccess === 'kwargs' &&
|
237
|
+
argSubtype.priv.paramSpecAccess === 'kwargs' &&
|
256
238
|
(0, types_1.isTypeSame)(argSubtype, paramSpec, { ignoreTypeFlags: true })) {
|
257
239
|
return;
|
258
240
|
}
|
259
241
|
if ((0, types_1.isClassInstance)(argSubtype) &&
|
260
242
|
types_1.ClassType.isBuiltIn(argSubtype, 'dict') &&
|
261
|
-
argSubtype.typeArguments &&
|
262
|
-
argSubtype.typeArguments.length === 2 &&
|
263
|
-
(0, types_1.isClassInstance)(argSubtype.typeArguments[0]) &&
|
264
|
-
types_1.ClassType.isBuiltIn(argSubtype.typeArguments[0], 'str') &&
|
265
|
-
(0, types_1.isAnyOrUnknown)(argSubtype.typeArguments[1])) {
|
243
|
+
argSubtype.priv.typeArguments &&
|
244
|
+
argSubtype.priv.typeArguments.length === 2 &&
|
245
|
+
(0, types_1.isClassInstance)(argSubtype.priv.typeArguments[0]) &&
|
246
|
+
types_1.ClassType.isBuiltIn(argSubtype.priv.typeArguments[0], 'str') &&
|
247
|
+
(0, types_1.isAnyOrUnknown)(argSubtype.priv.typeArguments[1])) {
|
266
248
|
return;
|
267
249
|
}
|
268
250
|
if ((0, types_1.isAnyOrUnknown)(argSubtype)) {
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uDAAiD;AACjD,
|
1
|
+
{"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":"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"}
|