@zzzen/pyright-internal 1.2.0-dev.20240512 → 1.2.0-dev.20240519
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/checker.js +4 -4
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +23 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +7 -16
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +29 -24
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/deprecatedSymbols.js +1 -0
- package/dist/analyzer/deprecatedSymbols.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -5
- package/dist/analyzer/enums.js +97 -40
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/operations.js +11 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/properties.js +3 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +90 -156
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -1
- package/dist/analyzer/typeGuards.js +28 -17
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -1
- package/dist/analyzer/typeUtils.js +11 -78
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +0 -1
- package/dist/analyzer/types.js.map +1 -1
- package/dist/localization/localize.d.ts +6 -6
- package/dist/localization/localize.js +2 -2
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +0 -2
- package/dist/localization/package.nls.de.json +0 -2
- package/dist/localization/package.nls.en-us.json +2 -2
- package/dist/localization/package.nls.es.json +0 -2
- package/dist/localization/package.nls.fr.json +0 -2
- package/dist/localization/package.nls.it.json +0 -2
- package/dist/localization/package.nls.ja.json +0 -2
- package/dist/localization/package.nls.ko.json +0 -2
- package/dist/localization/package.nls.pl.json +0 -2
- package/dist/localization/package.nls.pt-br.json +0 -2
- package/dist/localization/package.nls.qps-ploc.json +0 -2
- package/dist/localization/package.nls.ru.json +0 -2
- package/dist/localization/package.nls.tr.json +0 -2
- package/dist/localization/package.nls.zh-cn.json +0 -2
- package/dist/localization/package.nls.zh-tw.json +0 -2
- package/dist/parser/parser.js +4 -3
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +1 -0
- package/dist/parser/tokenizerTypes.js +4 -0
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/tests/completions.test.js +2 -2
- package/dist/tests/completions.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 +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/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +0 -4
- 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/package.json +1 -1
@@ -7,7 +7,7 @@ export interface TypeNarrowingResult {
|
|
7
7
|
}
|
8
8
|
export type TypeNarrowingCallback = (type: Type) => TypeNarrowingResult | undefined;
|
9
9
|
export declare function getTypeNarrowingCallback(evaluator: TypeEvaluator, reference: ExpressionNode, testExpression: ExpressionNode, isPositiveTest: boolean, recursionCount?: number): TypeNarrowingCallback | undefined;
|
10
|
-
export declare function isIsinstanceFilterSuperclass(evaluator: TypeEvaluator, varType: Type, concreteVarType: ClassType, filterType: Type, concreteFilterType: ClassType, isInstanceCheck: boolean
|
10
|
+
export declare function isIsinstanceFilterSuperclass(evaluator: TypeEvaluator, varType: Type, concreteVarType: ClassType, filterType: Type, concreteFilterType: ClassType, isInstanceCheck: boolean): boolean;
|
11
11
|
export declare function isIsinstanceFilterSubclass(evaluator: TypeEvaluator, varType: ClassType, concreteFilterType: ClassType, isInstanceCheck: boolean): boolean;
|
12
12
|
export declare function getElementTypeForContainerNarrowing(containerType: Type): Type | undefined;
|
13
13
|
export declare function narrowTypeForContainerElementType(evaluator: TypeEvaluator, referenceType: Type, elementType: Type): Type;
|
@@ -38,6 +38,7 @@ const debug_1 = require("../common/debug");
|
|
38
38
|
const parseNodes_1 = require("../parser/parseNodes");
|
39
39
|
const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
|
40
40
|
const constraintSolver_1 = require("./constraintSolver");
|
41
|
+
const enums_1 = require("./enums");
|
41
42
|
const ParseTreeUtils = __importStar(require("./parseTreeUtils"));
|
42
43
|
const scopeUtils_1 = require("./scopeUtils");
|
43
44
|
const symbol_1 = require("./symbol");
|
@@ -403,7 +404,9 @@ function getTypeNarrowingCallback(evaluator, reference, testExpression, isPositi
|
|
403
404
|
const arg1TypeResult = evaluator.getTypeOfExpression(arg1Expr, 512 /* EvaluatorFlags.AllowMissingTypeArgs */ |
|
404
405
|
8 /* EvaluatorFlags.EvaluateStringLiteralAsType */ |
|
405
406
|
32 /* EvaluatorFlags.DisallowParamSpec */ |
|
406
|
-
64 /* EvaluatorFlags.DisallowTypeVarTuple */
|
407
|
+
64 /* EvaluatorFlags.DisallowTypeVarTuple */ |
|
408
|
+
16 /* EvaluatorFlags.DisallowFinal */ |
|
409
|
+
2 /* EvaluatorFlags.DoNotSpecialize */);
|
407
410
|
const arg1Type = arg1TypeResult.type;
|
408
411
|
const classTypeList = getIsInstanceClassTypes(arg1Type);
|
409
412
|
const isIncomplete = !!callTypeResult.isIncomplete || !!arg1TypeResult.isIncomplete;
|
@@ -764,6 +767,12 @@ function getIsInstanceClassTypes(argType) {
|
|
764
767
|
// undefined if any of the types are not valid.
|
765
768
|
const addClassTypesToList = (types) => {
|
766
769
|
types.forEach((subtype) => {
|
770
|
+
if ((0, types_1.isClass)(subtype)) {
|
771
|
+
subtype = (0, typeUtils_1.specializeWithUnknownTypeArgs)(subtype);
|
772
|
+
if ((0, types_1.isInstantiableClass)(subtype) && types_1.ClassType.isBuiltIn(subtype, 'Callable')) {
|
773
|
+
subtype = (0, typeUtils_1.convertToInstantiable)((0, typeUtils_1.getUnknownTypeForCallable)());
|
774
|
+
}
|
775
|
+
}
|
767
776
|
if ((0, types_1.isInstantiableClass)(subtype) || ((0, types_1.isTypeVar)(subtype) && types_1.TypeBase.isInstantiable(subtype))) {
|
768
777
|
classTypeList.push(subtype);
|
769
778
|
}
|
@@ -804,14 +813,14 @@ function getIsInstanceClassTypes(argType) {
|
|
804
813
|
});
|
805
814
|
return foundNonClassType ? undefined : classTypeList;
|
806
815
|
}
|
807
|
-
function isIsinstanceFilterSuperclass(evaluator, varType, concreteVarType, filterType, concreteFilterType, isInstanceCheck
|
816
|
+
function isIsinstanceFilterSuperclass(evaluator, varType, concreteVarType, filterType, concreteFilterType, isInstanceCheck) {
|
808
817
|
if ((0, types_1.isTypeVar)(filterType) || concreteFilterType.literalValue !== undefined) {
|
809
818
|
return (0, types_1.isTypeSame)((0, typeUtils_1.convertToInstance)(filterType), varType);
|
810
819
|
}
|
811
820
|
// If the filter type represents all possible subclasses
|
812
821
|
// of a type, we can't make any statements about its superclass
|
813
822
|
// relationship with concreteVarType.
|
814
|
-
if (
|
823
|
+
if (concreteFilterType.includeSubclasses) {
|
815
824
|
return false;
|
816
825
|
}
|
817
826
|
if (types_1.ClassType.isDerivedFrom(concreteVarType, concreteFilterType)) {
|
@@ -875,14 +884,6 @@ function narrowTypeForIsInstanceInternal(evaluator, type, filterTypes, isInstanc
|
|
875
884
|
for (const filterType of filterTypes) {
|
876
885
|
let concreteFilterType = evaluator.makeTopLevelTypeVarsConcrete(filterType);
|
877
886
|
if ((0, types_1.isInstantiableClass)(concreteFilterType)) {
|
878
|
-
// If the class was implicitly specialized (e.g. because its type
|
879
|
-
// parameters have default values), replace the default type arguments
|
880
|
-
// with Unknown.
|
881
|
-
if (concreteFilterType.typeArguments && !concreteFilterType.isTypeArgumentExplicit) {
|
882
|
-
concreteFilterType = (0, typeUtils_1.specializeWithUnknownTypeArgs)(types_1.ClassType.cloneForSpecialization(concreteFilterType,
|
883
|
-
/* typeArguments */ undefined,
|
884
|
-
/* isTypeArgumentExplicit */ false));
|
885
|
-
}
|
886
887
|
let filterIsSuperclass;
|
887
888
|
let filterIsSubclass;
|
888
889
|
if (isTypeIsCheck) {
|
@@ -890,7 +891,15 @@ function narrowTypeForIsInstanceInternal(evaluator, type, filterTypes, isInstanc
|
|
890
891
|
filterIsSubclass = evaluator.assignType(concreteVarType, filterType);
|
891
892
|
}
|
892
893
|
else {
|
893
|
-
|
894
|
+
// If the class was implicitly specialized (e.g. because its type
|
895
|
+
// parameters have default values), replace the default type arguments
|
896
|
+
// with Unknown.
|
897
|
+
if (concreteFilterType.typeArguments && !concreteFilterType.isTypeArgumentExplicit) {
|
898
|
+
concreteFilterType = (0, typeUtils_1.specializeWithUnknownTypeArgs)(types_1.ClassType.cloneForSpecialization(concreteFilterType,
|
899
|
+
/* typeArguments */ undefined,
|
900
|
+
/* isTypeArgumentExplicit */ false));
|
901
|
+
}
|
902
|
+
filterIsSuperclass = isIsinstanceFilterSuperclass(evaluator, varType, concreteVarType, filterType, concreteFilterType, isInstanceCheck);
|
894
903
|
filterIsSubclass = isIsinstanceFilterSubclass(evaluator, concreteVarType, concreteFilterType, isInstanceCheck);
|
895
904
|
}
|
896
905
|
if (filterIsSuperclass) {
|
@@ -940,6 +949,7 @@ function narrowTypeForIsInstanceInternal(evaluator, type, filterTypes, isInstanc
|
|
940
949
|
if (types_1.ClassType.isSpecialBuiltIn(filterType) ||
|
941
950
|
filterType.details.typeParameters.length > 0) {
|
942
951
|
if (!filterType.typeArguments ||
|
952
|
+
!filterType.isTypeArgumentExplicit ||
|
943
953
|
!types_1.ClassType.isSameGenericClass(concreteVarType, filterType)) {
|
944
954
|
const typeVarContext = new typeVarContext_1.TypeVarContext((0, typeUtils_1.getTypeVarScopeId)(filterType));
|
945
955
|
const unspecializedFilterType = types_1.ClassType.cloneForSpecialization(filterType,
|
@@ -947,7 +957,7 @@ function narrowTypeForIsInstanceInternal(evaluator, type, filterTypes, isInstanc
|
|
947
957
|
/* isTypeArgumentExplicit */ false);
|
948
958
|
if ((0, constraintSolver_1.populateTypeVarContextBasedOnExpectedType)(evaluator, unspecializedFilterType, concreteVarType, typeVarContext,
|
949
959
|
/* liveTypeVarScopes */ undefined, errorNode.start)) {
|
950
|
-
specializedFilterType = (0, typeUtils_1.applySolvedTypeVars)(unspecializedFilterType, typeVarContext, { unknownIfNotFound: true });
|
960
|
+
specializedFilterType = (0, typeUtils_1.applySolvedTypeVars)(unspecializedFilterType, typeVarContext, { unknownIfNotFound: true, useUnknownOverDefault: true });
|
951
961
|
}
|
952
962
|
}
|
953
963
|
}
|
@@ -1720,8 +1730,7 @@ function narrowTypeForClassComparison(evaluator, referenceType, classType, isPos
|
|
1720
1730
|
if ((0, types_1.isInstantiableClass)(concreteSubtype) && types_1.ClassType.isFinal(concreteSubtype)) {
|
1721
1731
|
if (!types_1.ClassType.isSameGenericClass(concreteSubtype, classType) &&
|
1722
1732
|
!isIsinstanceFilterSuperclass(evaluator, subtype, concreteSubtype, classType, classType,
|
1723
|
-
/* isInstanceCheck */ false
|
1724
|
-
/* isTypeIsCheck */ false)) {
|
1733
|
+
/* isInstanceCheck */ false)) {
|
1725
1734
|
return undefined;
|
1726
1735
|
}
|
1727
1736
|
}
|
@@ -1793,9 +1802,11 @@ function enumerateLiteralsForType(evaluator, type) {
|
|
1793
1802
|
// Enumerate all of the values in this enumeration.
|
1794
1803
|
const enumList = [];
|
1795
1804
|
const fields = types_1.ClassType.getSymbolTable(type);
|
1796
|
-
fields.forEach((symbol) => {
|
1805
|
+
fields.forEach((symbol, name) => {
|
1806
|
+
var _a;
|
1797
1807
|
if (!symbol.isIgnoredForProtocolMatch()) {
|
1798
|
-
|
1808
|
+
let symbolType = evaluator.getEffectiveTypeOfSymbol(symbol);
|
1809
|
+
symbolType = (_a = (0, enums_1.transformTypeForEnumMember)(evaluator, type, name)) !== null && _a !== void 0 ? _a : symbolType;
|
1799
1810
|
if ((0, types_1.isClassInstance)(symbolType) &&
|
1800
1811
|
types_1.ClassType.isSameGenericClass(type, symbolType) &&
|
1801
1812
|
symbolType.literalValue !== undefined) {
|
@@ -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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"}
|
@@ -52,6 +52,7 @@ export declare const enum AssignTypeFlags {
|
|
52
52
|
}
|
53
53
|
export interface ApplyTypeVarOptions {
|
54
54
|
unknownIfNotFound?: boolean;
|
55
|
+
useUnknownOverDefault?: boolean;
|
55
56
|
unknownExemptTypeVars?: TypeVarType[];
|
56
57
|
useNarrowBoundOnly?: boolean;
|
57
58
|
eliminateUnsolvedInUnions?: boolean;
|
@@ -147,7 +148,6 @@ export declare function getClassIterator(classType: Type, flags?: ClassIteratorF
|
|
147
148
|
export declare function getClassFieldsRecursive(classType: ClassType): Map<string, ClassMember>;
|
148
149
|
export declare function addTypeVarsToListIfUnique(list1: TypeVarType[], list2: TypeVarType[], typeVarScopeId?: TypeVarScopeId): void;
|
149
150
|
export declare function getTypeVarArgumentsRecursive(type: Type, recursionCount?: number): TypeVarType[];
|
150
|
-
export declare function isTypeVarLimitedToCallable(type: Type, typeVar: TypeVarType): boolean;
|
151
151
|
export declare function specializeClassType(type: ClassType): ClassType;
|
152
152
|
export declare function setTypeArgumentsRecursive(destType: Type, srcType: UnknownType | AnyType, typeVarContext: TypeVarContext, recursionCount?: number): void;
|
153
153
|
export declare function buildTypeVarContextFromSpecializedClass(classType: ClassType): TypeVarContext;
|
@@ -9,8 +9,8 @@
|
|
9
9
|
*/
|
10
10
|
Object.defineProperty(exports, "__esModule", { value: true });
|
11
11
|
exports.isTupleClass = exports.isMaybeDescriptorInstance = exports.isDescriptorInstance = exports.isCallableType = exports.isProperty = exports.isEllipsisType = exports.getUnionSubtypeCount = exports.getLiteralTypeClassName = exports.containsLiteralType = exports.isLiteralTypeOrUnion = exports.isLiteralType = exports.getSpecializedTupleType = exports.selfSpecializeClass = exports.getUnknownTypeForCallable = exports.getUnknownTypeForParamSpec = exports.getUnknownTypeForTypeVar = exports.specializeWithUnknownTypeArgs = exports.specializeWithDefaultTypeArgs = exports.getTypeVarScopeIds = exports.getTypeVarScopeId = exports.transformPossibleRecursiveTypeAlias = exports.isTypeAliasRecursive = exports.isTypeAliasPlaceholder = exports.getTypeCondition = exports.addConditionToType = exports.getFullNameOfType = exports.derivesFromAnyOrUnknown = exports.isUnionableType = exports.preserveUnknown = exports.areTypesSame = exports.doForEachSignature = exports.allSubtypes = exports.someSubtypes = exports.doForEachSubtype = exports.sortTypes = exports.cleanIncompleteUnknown = exports.mapSignatures = exports.mapSubtypes = exports.makeInferenceContext = exports.isBuiltInDeprecatedType = exports.isTypeVarSame = exports.isIncompleteUnknown = exports.removeNoneFromUnion = exports.isNoneTypeClass = exports.isNoneInstance = exports.isOptionalType = exports.UniqueSignatureTracker = exports.AssignTypeFlags = exports.ClassIteratorFlags = exports.MemberAccessFlags = void 0;
|
12
|
-
exports.requiresTypeArguments = exports.getGeneratorTypeArgs = exports.removeParamSpecVariadicsFromFunction = exports.removeParamSpecVariadicsFromSignature = exports.specializeTupleClass = exports.combineSameSizedTuples = exports.explodeGenericClass = exports.isPartlyUnknown = exports.containsAnyOrUnknown = exports.containsAnyRecursive = exports.getMembersForModule = exports.getMembersForClass = exports.convertToInstantiable = exports.convertToInstance = exports.isEffectivelyInstantiable = exports.isMetaclassInstance = exports.isInstantiableMetaclass = exports.getGeneratorYieldType = exports.getDeclaredGeneratorReturnType = exports.synthesizeTypeVarForSelfCls = exports.derivesFromClassRecursive = exports.derivesFromStdlibClass = exports.specializeForBaseClass = exports.buildTypeVarContext = exports.buildTypeVarContextFromSpecializedClass = exports.setTypeArgumentsRecursive = exports.specializeClassType = exports.
|
13
|
-
exports.convertParamSpecValueToType = exports.convertTypeToParamSpecValue = exports.getDeclaringModulesForType = exports.computeMroLinearization = exports.isVarianceOfTypeArgumentCompatible = exports.combineVariances =
|
12
|
+
exports.requiresSpecialization = exports.requiresTypeArguments = exports.getGeneratorTypeArgs = exports.removeParamSpecVariadicsFromFunction = exports.removeParamSpecVariadicsFromSignature = exports.specializeTupleClass = exports.combineSameSizedTuples = exports.explodeGenericClass = exports.isPartlyUnknown = exports.containsAnyOrUnknown = exports.containsAnyRecursive = exports.getMembersForModule = exports.getMembersForClass = exports.convertToInstantiable = exports.convertToInstance = exports.isEffectivelyInstantiable = exports.isMetaclassInstance = exports.isInstantiableMetaclass = exports.getGeneratorYieldType = exports.getDeclaredGeneratorReturnType = exports.synthesizeTypeVarForSelfCls = exports.derivesFromClassRecursive = exports.derivesFromStdlibClass = exports.specializeForBaseClass = exports.buildTypeVarContext = exports.buildTypeVarContextFromSpecializedClass = exports.setTypeArgumentsRecursive = exports.specializeClassType = exports.getTypeVarArgumentsRecursive = exports.addTypeVarsToListIfUnique = exports.getClassFieldsRecursive = exports.getClassIterator = exports.getClassMemberIterator = exports.lookUpClassMember = exports.lookUpObjectMember = exports.getContainerDepth = exports.getProtocolSymbolsRecursive = exports.getProtocolSymbols = exports.transformExpectedType = exports.replaceTypeVarsWithAny = exports.validateTypeVarDefault = exports.applyInScopePlaceholders = exports.applySourceContextTypeVarsToSignature = exports.applySourceContextTypeVars = exports.applySolvedTypeVars = exports.ensureFunctionSignaturesAreUnique = exports.populateTypeVarContextForSelfType = exports.partiallySpecializeType = exports.isTupleIndexUnambiguous = exports.isUnboundedTupleClass = void 0;
|
13
|
+
exports.convertParamSpecValueToType = exports.convertTypeToParamSpecValue = exports.getDeclaringModulesForType = exports.computeMroLinearization = exports.isVarianceOfTypeArgumentCompatible = exports.combineVariances = void 0;
|
14
14
|
const collectionUtils_1 = require("../common/collectionUtils");
|
15
15
|
const debug_1 = require("../common/debug");
|
16
16
|
const symbol_1 = require("./symbol");
|
@@ -810,6 +810,10 @@ function specializeWithUnknownTypeArgs(type) {
|
|
810
810
|
if (type.details.typeParameters.length === 0) {
|
811
811
|
return type;
|
812
812
|
}
|
813
|
+
if (isTupleClass(type)) {
|
814
|
+
return types_1.ClassType.cloneIncludeSubclasses(specializeTupleClass(type, [{ type: types_1.UnknownType.create(), isUnbounded: true }],
|
815
|
+
/* isTypeArgumentExplicit */ false), !!type.includeSubclasses);
|
816
|
+
}
|
813
817
|
return types_1.ClassType.cloneForSpecialization(type, type.details.typeParameters.map((param) => getUnknownTypeForTypeVar(param)),
|
814
818
|
/* isTypeArgumentExplicit */ false,
|
815
819
|
/* includeSubclasses */ type.includeSubclasses);
|
@@ -1587,79 +1591,6 @@ function getTypeVarArgumentsRecursive(type, recursionCount = 0) {
|
|
1587
1591
|
return [];
|
1588
1592
|
}
|
1589
1593
|
exports.getTypeVarArgumentsRecursive = getTypeVarArgumentsRecursive;
|
1590
|
-
// Determines if the type variable appears within the type and only within
|
1591
|
-
// a particular Callable within that type.
|
1592
|
-
function isTypeVarLimitedToCallable(type, typeVar) {
|
1593
|
-
const info = getTypeVarWithinTypeInfoRecursive(type, typeVar);
|
1594
|
-
return info.isTypeVarUsed && info.isUsedInCallable;
|
1595
|
-
}
|
1596
|
-
exports.isTypeVarLimitedToCallable = isTypeVarLimitedToCallable;
|
1597
|
-
function getTypeVarWithinTypeInfoRecursive(type, typeVar, recursionCount = 0) {
|
1598
|
-
if (recursionCount > types_1.maxTypeRecursionCount) {
|
1599
|
-
return { isTypeVarUsed: false, isUsedInCallable: false };
|
1600
|
-
}
|
1601
|
-
recursionCount++;
|
1602
|
-
let typeVarUsedCount = 0;
|
1603
|
-
let usedInCallableCount = 0;
|
1604
|
-
if ((0, types_1.isTypeVar)(type)) {
|
1605
|
-
// Ignore P.args or P.kwargs types.
|
1606
|
-
if (!(0, types_1.isParamSpec)(type) || !type.paramSpecAccess) {
|
1607
|
-
if ((0, types_1.isTypeSame)(typeVar, convertToInstance(type))) {
|
1608
|
-
typeVarUsedCount++;
|
1609
|
-
}
|
1610
|
-
}
|
1611
|
-
}
|
1612
|
-
else if ((0, types_1.isClass)(type)) {
|
1613
|
-
if (type.typeArguments) {
|
1614
|
-
type.typeArguments.forEach((typeArg) => {
|
1615
|
-
const subResult = getTypeVarWithinTypeInfoRecursive(typeArg, typeVar, recursionCount);
|
1616
|
-
if (subResult.isTypeVarUsed) {
|
1617
|
-
typeVarUsedCount++;
|
1618
|
-
}
|
1619
|
-
if (subResult.isUsedInCallable) {
|
1620
|
-
usedInCallableCount++;
|
1621
|
-
}
|
1622
|
-
});
|
1623
|
-
}
|
1624
|
-
}
|
1625
|
-
else if ((0, types_1.isUnion)(type)) {
|
1626
|
-
doForEachSubtype(type, (subtype) => {
|
1627
|
-
const subResult = getTypeVarWithinTypeInfoRecursive(subtype, typeVar, recursionCount);
|
1628
|
-
if (subResult.isTypeVarUsed) {
|
1629
|
-
typeVarUsedCount++;
|
1630
|
-
}
|
1631
|
-
if (subResult.isUsedInCallable) {
|
1632
|
-
usedInCallableCount++;
|
1633
|
-
}
|
1634
|
-
});
|
1635
|
-
}
|
1636
|
-
else if ((0, types_1.isFunction)(type)) {
|
1637
|
-
for (let i = 0; i < type.details.parameters.length; i++) {
|
1638
|
-
if (getTypeVarWithinTypeInfoRecursive(types_1.FunctionType.getEffectiveParameterType(type, i), typeVar, recursionCount).isTypeVarUsed) {
|
1639
|
-
typeVarUsedCount++;
|
1640
|
-
}
|
1641
|
-
}
|
1642
|
-
if (type.details.paramSpec) {
|
1643
|
-
if ((0, types_1.isTypeSame)(typeVar, convertToInstance(type.details.paramSpec))) {
|
1644
|
-
typeVarUsedCount++;
|
1645
|
-
}
|
1646
|
-
}
|
1647
|
-
const returnType = types_1.FunctionType.getSpecializedReturnType(type);
|
1648
|
-
if (returnType) {
|
1649
|
-
if (getTypeVarWithinTypeInfoRecursive(returnType, typeVar, recursionCount).isTypeVarUsed) {
|
1650
|
-
typeVarUsedCount++;
|
1651
|
-
}
|
1652
|
-
}
|
1653
|
-
if (typeVarUsedCount > 0) {
|
1654
|
-
typeVarUsedCount = 1;
|
1655
|
-
usedInCallableCount = 1;
|
1656
|
-
}
|
1657
|
-
}
|
1658
|
-
return {
|
1659
|
-
isTypeVarUsed: typeVarUsedCount > 0,
|
1660
|
-
isUsedInCallable: usedInCallableCount === 1 && typeVarUsedCount === 1,
|
1661
|
-
};
|
1662
|
-
}
|
1663
1594
|
// Creates a specialized version of the class, filling in any unspecified
|
1664
1595
|
// type arguments with Unknown.
|
1665
1596
|
function specializeClassType(type) {
|
@@ -3373,7 +3304,9 @@ class ApplySolvedTypeVarsTransformer extends TypeVarTransformer {
|
|
3373
3304
|
subtype = types_1.ClassType.cloneAsInstance(types_1.ClassType.cloneAsInstantiable(subtype));
|
3374
3305
|
}
|
3375
3306
|
if (this._options.unknownIfNotFound) {
|
3376
|
-
return
|
3307
|
+
return this._options.useUnknownOverDefault
|
3308
|
+
? specializeWithUnknownTypeArgs(subtype)
|
3309
|
+
: specializeWithDefaultTypeArgs(subtype);
|
3377
3310
|
}
|
3378
3311
|
}
|
3379
3312
|
return subtype;
|
@@ -3400,7 +3333,7 @@ class ApplySolvedTypeVarsTransformer extends TypeVarTransformer {
|
|
3400
3333
|
}
|
3401
3334
|
if (useDefaultOrUnknown) {
|
3402
3335
|
// Use the default value if there is one.
|
3403
|
-
if (typeVar.details.isDefaultExplicit) {
|
3336
|
+
if (typeVar.details.isDefaultExplicit && !this._options.useUnknownOverDefault) {
|
3404
3337
|
return this._solveDefaultType(typeVar.details.defaultType, recursionCount);
|
3405
3338
|
}
|
3406
3339
|
return types_1.UnknownType.create();
|
@@ -3498,7 +3431,7 @@ class ApplySolvedTypeVarsTransformer extends TypeVarTransformer {
|
|
3498
3431
|
}
|
3499
3432
|
if (useDefaultOrUnknown) {
|
3500
3433
|
// Use the default value if there is one.
|
3501
|
-
if (paramSpec.details.isDefaultExplicit) {
|
3434
|
+
if (paramSpec.details.isDefaultExplicit && !this._options.useUnknownOverDefault) {
|
3502
3435
|
return convertTypeToParamSpecValue(this._solveDefaultType(paramSpec.details.defaultType, recursionCount));
|
3503
3436
|
}
|
3504
3437
|
// Convert to the ParamSpec equivalent of "Unknown".
|