@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240804
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 +2 -2
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +15 -12
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +3 -0
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +5 -3
- package/dist/analyzer/checker.js +238 -193
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -2
- package/dist/analyzer/codeFlowEngine.js +53 -46
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolution.d.ts +21 -0
- package/dist/analyzer/constraintSolution.js +71 -0
- package/dist/analyzer/constraintSolution.js.map +1 -0
- package/dist/analyzer/constraintSolver.d.ts +10 -6
- package/dist/analyzer/constraintSolver.js +520 -462
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constraintTracker.d.ts +44 -0
- package/dist/analyzer/constraintTracker.js +230 -0
- package/dist/analyzer/constraintTracker.js.map +1 -0
- package/dist/analyzer/constructorTransform.d.ts +2 -2
- package/dist/analyzer/constructorTransform.js +25 -25
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -3
- package/dist/analyzer/constructors.js +80 -64
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +2 -2
- package/dist/analyzer/dataClasses.js +87 -61
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +9 -9
- package/dist/analyzer/declaration.js +9 -9
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +6 -6
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +5 -5
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +2 -2
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -2
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.d.ts +2 -2
- package/dist/analyzer/functionTransform.js +5 -5
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +5 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +3 -3
- package/dist/analyzer/namedTuples.js +21 -22
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -2
- package/dist/analyzer/operations.js +105 -82
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +16 -12
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +12 -12
- package/dist/analyzer/parameterUtils.js +67 -69
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -6
- package/dist/analyzer/parseTreeUtils.js +22 -22
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +122 -101
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +11 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.d.ts +3 -2
- package/dist/analyzer/properties.js +27 -27
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +3 -3
- package/dist/analyzer/protocols.js +58 -57
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +1 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -7
- package/dist/analyzer/service.js +28 -30
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/serviceUtils.d.ts +8 -0
- package/dist/analyzer/serviceUtils.js +31 -0
- package/dist/analyzer/serviceUtils.js.map +1 -0
- package/dist/analyzer/sourceFile.js +5 -19
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +1 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +9 -0
- package/dist/analyzer/tuples.js +253 -0
- package/dist/analyzer/tuples.js.map +1 -0
- package/dist/analyzer/typeComplexity.d.ts +2 -0
- package/dist/analyzer/typeComplexity.js +94 -0
- package/dist/analyzer/typeComplexity.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +1758 -1979
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +69 -45
- package/dist/analyzer/typeEvaluatorTypes.js +7 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +157 -121
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +64 -61
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +3 -3
- package/dist/analyzer/typeStubWriter.js +15 -15
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +45 -41
- package/dist/analyzer/typeUtils.js +511 -748
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.js +4 -4
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +4 -4
- package/dist/analyzer/typedDicts.js +73 -77
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +97 -72
- package/dist/analyzer/types.js +217 -208
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +13 -0
- package/dist/common/languageServerInterface.js +15 -1
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/lspUtils.js +2 -2
- package/dist/common/memUtils.d.ts +4 -0
- package/dist/common/memUtils.js +33 -2
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +7 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +5 -4
- package/dist/languageServerBase.js +19 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -2
- package/dist/languageService/autoImporter.js +5 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +5 -3
- package/dist/languageService/completionProvider.js +39 -38
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +1 -1
- package/dist/languageService/completionProviderUtils.js +3 -3
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.js +3 -3
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js +1 -1
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +3 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +5 -0
- package/dist/localization/localize.js +6 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +5 -1
- package/dist/localization/package.nls.de.json +5 -1
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/localization/package.nls.es.json +5 -1
- package/dist/localization/package.nls.fr.json +5 -1
- package/dist/localization/package.nls.it.json +5 -1
- package/dist/localization/package.nls.ja.json +5 -1
- package/dist/localization/package.nls.ko.json +5 -1
- package/dist/localization/package.nls.pl.json +5 -1
- package/dist/localization/package.nls.pt-br.json +5 -1
- package/dist/localization/package.nls.qps-ploc.json +5 -1
- package/dist/localization/package.nls.ru.json +5 -1
- package/dist/localization/package.nls.tr.json +5 -1
- package/dist/localization/package.nls.zh-cn.json +5 -1
- package/dist/localization/package.nls.zh-tw.json +5 -1
- package/dist/parser/parseNodes.d.ts +9 -9
- package/dist/parser/parseNodes.js +20 -20
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +30 -30
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/checker.test.js +12 -4
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
- package/dist/tests/harness/vfs/filesystem.js +0 -4
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +62 -15
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +9 -3
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +72 -60
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +6 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +4 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +13 -18
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +3 -2
- package/dist/workspaceFactory.js +15 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
- package/dist/analyzer/typeVarContext.d.ts +0 -60
- package/dist/analyzer/typeVarContext.js +0 -392
- package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -46,7 +46,7 @@ var PrintTypeFlags;
|
|
46
46
|
// Avoid printing "Unknown" and always use "Any" instead.
|
47
47
|
PrintTypeFlags[PrintTypeFlags["PrintUnknownWithAny"] = 1] = "PrintUnknownWithAny";
|
48
48
|
// Omit type arguments for generic classes if they are "Unknown".
|
49
|
-
PrintTypeFlags[PrintTypeFlags["
|
49
|
+
PrintTypeFlags[PrintTypeFlags["OmitTypeArgsIfUnknown"] = 2] = "OmitTypeArgsIfUnknown";
|
50
50
|
// Omit printing type for param if type is not specified.
|
51
51
|
PrintTypeFlags[PrintTypeFlags["OmitUnannotatedParamType"] = 4] = "OmitUnannotatedParamType";
|
52
52
|
// Print Union and Optional in PEP 604 format.
|
@@ -209,24 +209,24 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
209
209
|
if (!uniqueNameMap.isUnique(aliasName)) {
|
210
210
|
aliasName = aliasInfo.fullName;
|
211
211
|
}
|
212
|
-
const typeParams = aliasInfo.
|
212
|
+
const typeParams = aliasInfo.typeParams;
|
213
213
|
if (typeParams && typeParams.length > 0) {
|
214
214
|
let argumentStrings;
|
215
215
|
// If there is a type arguments array, it's a specialized type alias.
|
216
|
-
if (aliasInfo.
|
217
|
-
if ((printTypeFlags & 2 /* PrintTypeFlags.
|
218
|
-
aliasInfo.
|
216
|
+
if (aliasInfo.typeArgs) {
|
217
|
+
if ((printTypeFlags & 2 /* PrintTypeFlags.OmitTypeArgsIfUnknown */) === 0 ||
|
218
|
+
aliasInfo.typeArgs.some((typeArg) => !(0, types_1.isUnknown)(typeArg))) {
|
219
219
|
argumentStrings = [];
|
220
|
-
aliasInfo.
|
220
|
+
aliasInfo.typeArgs.forEach((typeArg, index) => {
|
221
221
|
// Which type parameter does this map to?
|
222
222
|
const typeParam = index < typeParams.length ? typeParams[index] : typeParams[typeParams.length - 1];
|
223
|
-
// If this type argument maps to a
|
224
|
-
if ((0, types_1.
|
223
|
+
// If this type argument maps to a TypeVarTuple, unpack it.
|
224
|
+
if ((0, types_1.isTypeVarTuple)(typeParam) &&
|
225
225
|
(0, types_1.isClassInstance)(typeArg) &&
|
226
226
|
(0, typeUtils_1.isTupleClass)(typeArg) &&
|
227
|
-
typeArg.priv.
|
228
|
-
typeArg.priv.
|
229
|
-
typeArg.priv.
|
227
|
+
typeArg.priv.tupleTypeArgs &&
|
228
|
+
typeArg.priv.tupleTypeArgs.every((typeArg) => !typeArg.isUnbounded)) {
|
229
|
+
typeArg.priv.tupleTypeArgs.forEach((tupleTypeArg) => {
|
230
230
|
argumentStrings.push(printTypeInternal(tupleTypeArg.type, printTypeFlags, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount));
|
231
231
|
});
|
232
232
|
}
|
@@ -237,7 +237,7 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
237
237
|
}
|
238
238
|
}
|
239
239
|
else {
|
240
|
-
if ((printTypeFlags & 2 /* PrintTypeFlags.
|
240
|
+
if ((printTypeFlags & 2 /* PrintTypeFlags.OmitTypeArgsIfUnknown */) === 0 ||
|
241
241
|
typeParams.some((typeParam) => !(0, types_1.isUnknown)(typeParam))) {
|
242
242
|
argumentStrings = [];
|
243
243
|
typeParams.forEach((typeParam) => {
|
@@ -273,7 +273,7 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
273
273
|
return type.shared.recursiveAlias.name;
|
274
274
|
}
|
275
275
|
if (aliasInfo) {
|
276
|
-
if (!aliasInfo.
|
276
|
+
if (!aliasInfo.typeParams) {
|
277
277
|
let name = (printTypeFlags & 4096 /* PrintTypeFlags.UseFullyQualifiedNames */) !== 0
|
278
278
|
? aliasInfo.fullName
|
279
279
|
: aliasInfo.name;
|
@@ -501,7 +501,7 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
501
501
|
// If it's a synthesized type var used to implement `self` or `cls` types,
|
502
502
|
// print the type with a special character that indicates that the type
|
503
503
|
// is internally represented as a TypeVar.
|
504
|
-
if (
|
504
|
+
if (types_1.TypeVarType.isSelf(type) && type.shared.boundType) {
|
505
505
|
let boundTypeString = printTypeInternal(type.shared.boundType, printTypeFlags & ~32 /* PrintTypeFlags.ExpandTypeAlias */, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount);
|
506
506
|
if (!(0, types_1.isAnyOrUnknown)(type.shared.boundType)) {
|
507
507
|
if (printTypeFlags & 256 /* PrintTypeFlags.PythonSyntax */) {
|
@@ -520,7 +520,7 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
520
520
|
? 'Any'
|
521
521
|
: 'Unknown';
|
522
522
|
}
|
523
|
-
if (
|
523
|
+
if ((0, types_1.isParamSpec)(type)) {
|
524
524
|
const paramSpecText = _getReadableTypeVarName(type, (printTypeFlags & 256 /* PrintTypeFlags.PythonSyntax */) !== 0);
|
525
525
|
if (type.priv.paramSpecAccess) {
|
526
526
|
return `${paramSpecText}.${type.priv.paramSpecAccess}`;
|
@@ -528,16 +528,18 @@ function printTypeInternal(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
528
528
|
return paramSpecText;
|
529
529
|
}
|
530
530
|
let typeVarName = _getReadableTypeVarName(type, (printTypeFlags & 256 /* PrintTypeFlags.PythonSyntax */) !== 0);
|
531
|
-
if (
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
531
|
+
if ((0, types_1.isTypeVarTuple)(type)) {
|
532
|
+
if (type.priv.isUnpacked) {
|
533
|
+
typeVarName = _printUnpack(typeVarName, printTypeFlags);
|
534
|
+
}
|
535
|
+
if (type.priv.isInUnion) {
|
536
|
+
typeVarName = `Union[${typeVarName}]`;
|
537
|
+
}
|
536
538
|
}
|
537
539
|
if (types_1.TypeBase.isInstantiable(type)) {
|
538
540
|
typeVarName = `${_printNestedInstantiable(type, typeVarName)}`;
|
539
541
|
}
|
540
|
-
if (!type
|
542
|
+
if (!(0, types_1.isTypeVarTuple)(type) && (printTypeFlags & 2048 /* PrintTypeFlags.PrintTypeVarVariance */) !== 0) {
|
541
543
|
const varianceText = _getTypeVarVarianceText(type);
|
542
544
|
if (varianceText) {
|
543
545
|
typeVarName = `${typeVarName} (${varianceText})`;
|
@@ -569,7 +571,7 @@ function printFunctionType(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
569
571
|
isPositionalParamsOnly = true;
|
570
572
|
}
|
571
573
|
else {
|
572
|
-
if (typeWithoutParamSpec.shared.parameters.every((param) => param.category === 0 /*
|
574
|
+
if (typeWithoutParamSpec.shared.parameters.every((param) => param.category === 0 /* ParamCategory.Simple */)) {
|
573
575
|
const lastParam = typeWithoutParamSpec.shared.parameters[typeWithoutParamSpec.shared.parameters.length - 1];
|
574
576
|
if (!lastParam.name) {
|
575
577
|
isPositionalParamsOnly = true;
|
@@ -585,7 +587,7 @@ function printFunctionType(type, printTypeFlags, returnTypeCallback, uniqueNameM
|
|
585
587
|
const paramTypes = [];
|
586
588
|
typeWithoutParamSpec.shared.parameters.forEach((param, index) => {
|
587
589
|
if (param.name) {
|
588
|
-
const paramType = types_1.FunctionType.
|
590
|
+
const paramType = types_1.FunctionType.getParamType(typeWithoutParamSpec, index);
|
589
591
|
if (recursionTypes.length < types_1.maxTypeRecursionCount) {
|
590
592
|
paramTypes.push(printTypeInternal(paramType, printTypeFlags, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount));
|
591
593
|
}
|
@@ -643,11 +645,11 @@ function printObjectTypeForClassInternal(type, printTypeFlags, returnTypeCallbac
|
|
643
645
|
// If this is a pseudo-generic class, don't display the type arguments
|
644
646
|
// or type parameters because it will confuse users.
|
645
647
|
if (!types_1.ClassType.isPseudoGenericClass(type)) {
|
646
|
-
const typeParams = types_1.ClassType.
|
648
|
+
const typeParams = types_1.ClassType.getTypeParams(type);
|
647
649
|
const lastTypeParam = typeParams.length > 0 ? typeParams[typeParams.length - 1] : undefined;
|
648
|
-
const isVariadic = lastTypeParam ? lastTypeParam
|
650
|
+
const isVariadic = lastTypeParam ? (0, types_1.isTypeVarTuple)(lastTypeParam) : false;
|
649
651
|
// If there is a type arguments array, it's a specialized class.
|
650
|
-
const typeArgs = (_a = type.priv.
|
652
|
+
const typeArgs = (_a = type.priv.tupleTypeArgs) !== null && _a !== void 0 ? _a : (_b = type.priv.typeArgs) === null || _b === void 0 ? void 0 : _b.map((t) => {
|
651
653
|
return { type: t, isUnbounded: false };
|
652
654
|
});
|
653
655
|
if (typeArgs) {
|
@@ -658,12 +660,12 @@ function printObjectTypeForClassInternal(type, printTypeFlags, returnTypeCallbac
|
|
658
660
|
typeArgs.forEach((typeArg, index) => {
|
659
661
|
const typeParam = index < typeParams.length ? typeParams[index] : undefined;
|
660
662
|
if (typeParam &&
|
661
|
-
typeParam
|
663
|
+
(0, types_1.isTypeVarTuple)(typeParam) &&
|
662
664
|
(0, types_1.isClassInstance)(typeArg.type) &&
|
663
665
|
types_1.ClassType.isBuiltIn(typeArg.type, 'tuple') &&
|
664
|
-
typeArg.type.priv.
|
665
|
-
// Expand the tuple type that maps to the
|
666
|
-
if (typeArg.type.priv.
|
666
|
+
typeArg.type.priv.tupleTypeArgs) {
|
667
|
+
// Expand the tuple type that maps to the TypeVarTuple.
|
668
|
+
if (typeArg.type.priv.tupleTypeArgs.length === 0) {
|
667
669
|
if (!(0, types_1.isUnknown)(typeArg.type)) {
|
668
670
|
isAllUnknown = false;
|
669
671
|
}
|
@@ -672,7 +674,7 @@ function printObjectTypeForClassInternal(type, printTypeFlags, returnTypeCallbac
|
|
672
674
|
}
|
673
675
|
}
|
674
676
|
else {
|
675
|
-
(0, collectionUtils_1.appendArray)(typeArgStrings, typeArg.type.priv.
|
677
|
+
(0, collectionUtils_1.appendArray)(typeArgStrings, typeArg.type.priv.tupleTypeArgs.map((typeArg) => {
|
676
678
|
if (!(0, types_1.isUnknown)(typeArg.type)) {
|
677
679
|
isAllUnknown = false;
|
678
680
|
}
|
@@ -705,7 +707,7 @@ function printObjectTypeForClassInternal(type, printTypeFlags, returnTypeCallbac
|
|
705
707
|
if (type.priv.isUnpacked) {
|
706
708
|
objName = _printUnpack(objName, printTypeFlags);
|
707
709
|
}
|
708
|
-
if ((printTypeFlags & 2 /* PrintTypeFlags.
|
710
|
+
if ((printTypeFlags & 2 /* PrintTypeFlags.OmitTypeArgsIfUnknown */) === 0 || !isAllUnknown) {
|
709
711
|
objName += '[' + typeArgStrings.join(', ') + ']';
|
710
712
|
}
|
711
713
|
}
|
@@ -723,7 +725,7 @@ function printObjectTypeForClassInternal(type, printTypeFlags, returnTypeCallbac
|
|
723
725
|
objName = _printUnpack(objName, printTypeFlags);
|
724
726
|
}
|
725
727
|
if (typeParams.length > 0) {
|
726
|
-
if ((printTypeFlags & 2 /* PrintTypeFlags.
|
728
|
+
if ((printTypeFlags & 2 /* PrintTypeFlags.OmitTypeArgsIfUnknown */) === 0 ||
|
727
729
|
typeParams.some((typeParam) => !(0, types_1.isUnknown)(typeParam))) {
|
728
730
|
objName +=
|
729
731
|
'[' +
|
@@ -756,15 +758,17 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
756
758
|
type = types_1.FunctionType.cloneRemoveParamSpecArgsKwargs(type);
|
757
759
|
}
|
758
760
|
type.shared.parameters.forEach((param, index) => {
|
759
|
-
|
761
|
+
const paramType = types_1.FunctionType.getParamType(type, index);
|
762
|
+
const defaultType = types_1.FunctionType.getParamDefaultType(type, index);
|
763
|
+
// Handle specialized TypeVarTuples specially.
|
760
764
|
if (index === type.shared.parameters.length - 1 &&
|
761
|
-
param.category === 1 /*
|
762
|
-
(0, types_1.
|
763
|
-
const specializedParamType = types_1.FunctionType.
|
765
|
+
param.category === 1 /* ParamCategory.ArgsList */ &&
|
766
|
+
(0, types_1.isTypeVarTuple)(paramType)) {
|
767
|
+
const specializedParamType = types_1.FunctionType.getParamType(type, index);
|
764
768
|
if ((0, types_1.isClassInstance)(specializedParamType) &&
|
765
769
|
types_1.ClassType.isBuiltIn(specializedParamType, 'tuple') &&
|
766
|
-
specializedParamType.priv.
|
767
|
-
specializedParamType.priv.
|
770
|
+
specializedParamType.priv.tupleTypeArgs) {
|
771
|
+
specializedParamType.priv.tupleTypeArgs.forEach((paramType) => {
|
768
772
|
const paramString = printTypeInternal(paramType.type, printTypeFlags, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount);
|
769
773
|
paramTypeStrings.push(paramString);
|
770
774
|
});
|
@@ -772,22 +776,22 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
772
776
|
}
|
773
777
|
}
|
774
778
|
// Handle expanding TypedDict kwargs specially.
|
775
|
-
if ((0, parameterUtils_1.isTypedKwargs)(param) &&
|
779
|
+
if ((0, parameterUtils_1.isTypedKwargs)(param, paramType) &&
|
776
780
|
printTypeFlags & 1024 /* PrintTypeFlags.ExpandTypedDictArgs */ &&
|
777
|
-
|
778
|
-
|
781
|
+
paramType.category === 6 /* TypeCategory.Class */) {
|
782
|
+
paramType.shared.typedDictEntries.knownItems.forEach((v, k) => {
|
779
783
|
const valueTypeString = printTypeInternal(v.valueType, printTypeFlags, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount);
|
780
784
|
paramTypeStrings.push(`${k}: ${valueTypeString}`);
|
781
785
|
});
|
782
786
|
return;
|
783
787
|
}
|
784
788
|
let paramString = '';
|
785
|
-
if (param.category === 1 /*
|
789
|
+
if (param.category === 1 /* ParamCategory.ArgsList */) {
|
786
790
|
if (!param.name || !types_1.FunctionParam.isNameSynthesized(param)) {
|
787
791
|
paramString += '*';
|
788
792
|
}
|
789
793
|
}
|
790
|
-
else if (param.category === 2 /*
|
794
|
+
else if (param.category === 2 /* ParamCategory.KwargsDict */) {
|
791
795
|
paramString += '**';
|
792
796
|
}
|
793
797
|
let emittedParamName = false;
|
@@ -806,17 +810,17 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
806
810
|
if (param.name) {
|
807
811
|
// Avoid printing type types if parameter have unknown type.
|
808
812
|
if (types_1.FunctionParam.isTypeDeclared(param) || types_1.FunctionParam.isTypeInferred(param)) {
|
809
|
-
const paramType = types_1.FunctionType.
|
813
|
+
const paramType = types_1.FunctionType.getParamType(type, index);
|
810
814
|
let paramTypeString = recursionTypes.length < types_1.maxTypeRecursionCount
|
811
815
|
? printTypeInternal(paramType, printTypeFlags, returnTypeCallback, uniqueNameMap, recursionTypes, recursionCount)
|
812
816
|
: '';
|
813
817
|
if (emittedParamName) {
|
814
818
|
paramString += ': ';
|
815
819
|
}
|
816
|
-
else if (param.category === 1 /*
|
820
|
+
else if (param.category === 1 /* ParamCategory.ArgsList */ && !(0, types_1.isUnpacked)(paramType)) {
|
817
821
|
paramString += '*';
|
818
822
|
}
|
819
|
-
if (param.category === 2 /*
|
823
|
+
if (param.category === 2 /* ParamCategory.KwargsDict */ && (0, types_1.isUnpacked)(paramType)) {
|
820
824
|
if (printTypeFlags & 256 /* PrintTypeFlags.PythonSyntax */) {
|
821
825
|
// Use "Unpack" because ** isn't legal syntax prior to Python 3.12.
|
822
826
|
paramTypeString = `Unpack[${paramTypeString.substring(1)}]`;
|
@@ -828,8 +832,7 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
828
832
|
}
|
829
833
|
paramString += paramTypeString;
|
830
834
|
if ((0, types_1.isParamSpec)(paramType)) {
|
831
|
-
if (param.category === 1 /*
|
832
|
-
param.category === 2 /* ParameterCategory.KwargsDict */) {
|
835
|
+
if (param.category === 1 /* ParamCategory.ArgsList */ || param.category === 2 /* ParamCategory.KwargsDict */) {
|
833
836
|
isParamSpecArgsKwargsParam = true;
|
834
837
|
}
|
835
838
|
}
|
@@ -837,7 +840,7 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
837
840
|
// spaces when used with a type annotation.
|
838
841
|
defaultValueAssignment = ' = ';
|
839
842
|
}
|
840
|
-
else if ((printTypeFlags & 2 /* PrintTypeFlags.
|
843
|
+
else if ((printTypeFlags & 2 /* PrintTypeFlags.OmitTypeArgsIfUnknown */) === 0) {
|
841
844
|
if (!types_1.FunctionParam.isNameSynthesized(param)) {
|
842
845
|
paramString += ': ';
|
843
846
|
}
|
@@ -850,7 +853,7 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
850
853
|
defaultValueAssignment = ' = ';
|
851
854
|
}
|
852
855
|
}
|
853
|
-
else if (param.category === 0 /*
|
856
|
+
else if (param.category === 0 /* ParamCategory.Simple */) {
|
854
857
|
if (sawDefinedName) {
|
855
858
|
paramString += '/';
|
856
859
|
}
|
@@ -858,7 +861,7 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
858
861
|
return;
|
859
862
|
}
|
860
863
|
}
|
861
|
-
if (
|
864
|
+
if (defaultType) {
|
862
865
|
const paramNode = functionNode === null || functionNode === void 0 ? void 0 : functionNode.d.params.find((p) => { var _a; return ((_a = p.d.name) === null || _a === void 0 ? void 0 : _a.d.value) === param.name; });
|
863
866
|
if (paramNode === null || paramNode === void 0 ? void 0 : paramNode.d.defaultValue) {
|
864
867
|
paramString += defaultValueAssignment + ParseTreeUtils.printExpression(paramNode.d.defaultValue);
|
@@ -872,10 +875,10 @@ function printFunctionPartsInternal(type, printTypeFlags, returnTypeCallback, un
|
|
872
875
|
}
|
873
876
|
// If this is a (...) signature, replace the *args, **kwargs with "...".
|
874
877
|
if (types_1.FunctionType.isGradualCallableForm(type) && !isParamSpecArgsKwargsParam) {
|
875
|
-
if (param.category === 1 /*
|
878
|
+
if (param.category === 1 /* ParamCategory.ArgsList */) {
|
876
879
|
paramString = '...';
|
877
880
|
}
|
878
|
-
else if (param.category === 2 /*
|
881
|
+
else if (param.category === 2 /* ParamCategory.KwargsDict */) {
|
879
882
|
return;
|
880
883
|
}
|
881
884
|
}
|
@@ -961,10 +964,10 @@ class UniqueNameMap {
|
|
961
964
|
: aliasInfo.name;
|
962
965
|
this._addIfUnique(typeAliasName, type, /* useTypeAliasName */ true);
|
963
966
|
// Recursively add the type arguments if present.
|
964
|
-
if (aliasInfo.
|
967
|
+
if (aliasInfo.typeArgs) {
|
965
968
|
recursionTypes.push(type);
|
966
969
|
try {
|
967
|
-
aliasInfo.
|
970
|
+
aliasInfo.typeArgs.forEach((typeArg) => {
|
968
971
|
this.build(typeArg, recursionTypes, recursionCount);
|
969
972
|
});
|
970
973
|
}
|
@@ -980,7 +983,7 @@ class UniqueNameMap {
|
|
980
983
|
switch (type.category) {
|
981
984
|
case 4 /* TypeCategory.Function */: {
|
982
985
|
type.shared.parameters.forEach((_, index) => {
|
983
|
-
const paramType = types_1.FunctionType.
|
986
|
+
const paramType = types_1.FunctionType.getParamType(type, index);
|
984
987
|
this.build(paramType, recursionTypes, recursionCount);
|
985
988
|
});
|
986
989
|
const returnType = this._returnTypeCallback(type);
|
@@ -1006,13 +1009,13 @@ class UniqueNameMap {
|
|
1006
1009
|
}
|
1007
1010
|
this._addIfUnique(className, type);
|
1008
1011
|
if (!types_1.ClassType.isPseudoGenericClass(type)) {
|
1009
|
-
if (type.priv.
|
1010
|
-
type.priv.
|
1012
|
+
if (type.priv.tupleTypeArgs) {
|
1013
|
+
type.priv.tupleTypeArgs.forEach((typeArg) => {
|
1011
1014
|
this.build(typeArg.type, recursionTypes, recursionCount);
|
1012
1015
|
});
|
1013
1016
|
}
|
1014
|
-
else if (type.priv.
|
1015
|
-
type.priv.
|
1017
|
+
else if (type.priv.typeArgs) {
|
1018
|
+
type.priv.typeArgs.forEach((typeArg) => {
|
1016
1019
|
this.build(typeArg, recursionTypes, recursionCount);
|
1017
1020
|
});
|
1018
1021
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"typePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/typePrinter.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"typePrinter.js","sourceRoot":"","sources":["../../../../../src/analyzer/typePrinter.ts"],"names":[],"mappings":"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"}
|
@@ -42,10 +42,10 @@ export declare class TypeStubWriter extends ParseTreeWalker {
|
|
42
42
|
private _emitDecorators;
|
43
43
|
private _printHeaderDocString;
|
44
44
|
private _emitLine;
|
45
|
-
private
|
46
|
-
private
|
45
|
+
private _printTypeParams;
|
46
|
+
private _printTypeParam;
|
47
47
|
private _printModuleName;
|
48
|
-
private
|
48
|
+
private _printParam;
|
49
49
|
private _printExpression;
|
50
50
|
private _printTrackedImports;
|
51
51
|
private _writeFile;
|
@@ -161,11 +161,11 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
161
161
|
this._emitDecorators(node.d.decorators);
|
162
162
|
let line = `class ${className}`;
|
163
163
|
if (node.d.typeParams) {
|
164
|
-
line += this.
|
164
|
+
line += this._printTypeParams(node.d.typeParams);
|
165
165
|
}
|
166
166
|
// Remove "object" from the list, since it's implied
|
167
167
|
const args = node.d.arguments.filter((arg) => arg.d.name !== undefined ||
|
168
|
-
arg.d.argCategory !== 0 /*
|
168
|
+
arg.d.argCategory !== 0 /* ArgCategory.Simple */ ||
|
169
169
|
arg.d.valueExpr.nodeType !== 38 /* ParseNodeType.Name */ ||
|
170
170
|
arg.d.valueExpr.d.value !== 'object');
|
171
171
|
if (args.length > 0) {
|
@@ -201,9 +201,9 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
201
201
|
let line = node.d.isAsync ? 'async ' : '';
|
202
202
|
line += `def ${functionName}`;
|
203
203
|
if (node.d.typeParams) {
|
204
|
-
line += this.
|
204
|
+
line += this._printTypeParams(node.d.typeParams);
|
205
205
|
}
|
206
|
-
line += `(${node.d.params.map((param, index) => this.
|
206
|
+
line += `(${node.d.params.map((param, index) => this._printParam(param, node, index)).join(', ')})`;
|
207
207
|
let returnAnnotation;
|
208
208
|
if (node.d.returnAnnotation) {
|
209
209
|
returnAnnotation = this._printExpression(node.d.returnAnnotation, /* treatStringsAsSymbols */ true);
|
@@ -308,7 +308,7 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
308
308
|
let line = '';
|
309
309
|
line = this._printExpression(node.d.name);
|
310
310
|
if (node.d.typeParams) {
|
311
|
-
line += this.
|
311
|
+
line += this._printTypeParams(node.d.typeParams);
|
312
312
|
}
|
313
313
|
line += ' = ';
|
314
314
|
line += this._printExpression(node.d.expr);
|
@@ -509,15 +509,15 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
509
509
|
}
|
510
510
|
this._typeStubText += line + this._lineEnd;
|
511
511
|
}
|
512
|
-
|
513
|
-
return `[${node.d.params.map((typeParam) => this.
|
512
|
+
_printTypeParams(node) {
|
513
|
+
return `[${node.d.params.map((typeParam) => this._printTypeParam(typeParam)).join(',')}]`;
|
514
514
|
}
|
515
|
-
|
515
|
+
_printTypeParam(node) {
|
516
516
|
let line = '';
|
517
|
-
if (node.d.typeParamKind === parseNodes_1.
|
517
|
+
if (node.d.typeParamKind === parseNodes_1.TypeParamKind.TypeVarTuple) {
|
518
518
|
line += '*';
|
519
519
|
}
|
520
|
-
else if (node.d.typeParamKind === parseNodes_1.
|
520
|
+
else if (node.d.typeParamKind === parseNodes_1.TypeParamKind.ParamSpec) {
|
521
521
|
line += '**';
|
522
522
|
}
|
523
523
|
line += node.d.name.d.value;
|
@@ -539,21 +539,21 @@ class TypeStubWriter extends parseTreeWalker_1.ParseTreeWalker {
|
|
539
539
|
line += node.d.nameParts.map((part) => part.d.value).join('.');
|
540
540
|
return line;
|
541
541
|
}
|
542
|
-
|
542
|
+
_printParam(paramNode, functionNode, paramIndex) {
|
543
543
|
let line = '';
|
544
|
-
if (paramNode.d.category === 1 /*
|
544
|
+
if (paramNode.d.category === 1 /* ParamCategory.ArgsList */) {
|
545
545
|
line += '*';
|
546
546
|
}
|
547
|
-
else if (paramNode.d.category === 2 /*
|
547
|
+
else if (paramNode.d.category === 2 /* ParamCategory.KwargsDict */) {
|
548
548
|
line += '**';
|
549
549
|
}
|
550
550
|
if (paramNode.d.name) {
|
551
551
|
line += paramNode.d.name.d.value;
|
552
552
|
}
|
553
|
-
else if (paramNode.d.category === 0 /*
|
553
|
+
else if (paramNode.d.category === 0 /* ParamCategory.Simple */) {
|
554
554
|
line += '/';
|
555
555
|
}
|
556
|
-
const paramTypeAnnotation = ParseTreeUtils.
|
556
|
+
const paramTypeAnnotation = ParseTreeUtils.getTypeAnnotationForParam(functionNode, paramIndex);
|
557
557
|
let paramType = '';
|
558
558
|
if (paramTypeAnnotation) {
|
559
559
|
paramType = this._printExpression(paramTypeAnnotation, /* treatStringsAsSymbols */ true);
|