@zzzen/pyright-internal 1.2.0-dev.20231231 → 1.2.0-dev.20240107
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/binder.js +12 -3
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -0
- package/dist/analyzer/checker.js +133 -28
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +4 -4
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +5 -1
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/namedTuples.js +13 -5
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +2 -0
- package/dist/analyzer/protocols.js +72 -3
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/scopeUtils.d.ts +1 -0
- package/dist/analyzer/scopeUtils.js +12 -1
- package/dist/analyzer/scopeUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +175 -94
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js +2 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +8 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +4 -2
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.js +6 -1
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/types.d.ts +1 -1
- package/dist/analyzer/types.js +3 -3
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +4 -3
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -0
- package/dist/backgroundThreadBase.js +8 -1
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/realFileSystem.js +44 -12
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/localization/localize.d.ts +27 -0
- package/dist/localization/localize.js +12 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +13 -1
- package/dist/tests/localizer.test.js +1 -1
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +15 -3
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +3 -3
- 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/uri.test.js +7 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/package.json +1 -1
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/analyzer/protocols.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"protocols.js","sourceRoot":"","sources":["../../../src/analyzer/protocols.ts"],"names":[],"mappings":"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"}
|
@@ -4,3 +4,4 @@ export declare function getBuiltInScope(currentScope: Scope): Scope;
|
|
4
4
|
export declare function getScopeForNode(node: ParseNode): Scope | undefined;
|
5
5
|
export declare function getScopeHierarchy(node: ParseNode, stopScope?: Scope): Scope[] | undefined;
|
6
6
|
export declare function findTopNodeInScope(node: ParseNode, scope: Scope): ParseNode | undefined;
|
7
|
+
export declare function isScopeContainedWithin(scope: Scope, potentialParentScope: Scope): boolean;
|
@@ -9,7 +9,7 @@
|
|
9
9
|
* symbol tables.
|
10
10
|
*/
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
12
|
-
exports.findTopNodeInScope = exports.getScopeHierarchy = exports.getScopeForNode = exports.getBuiltInScope = void 0;
|
12
|
+
exports.isScopeContainedWithin = exports.findTopNodeInScope = exports.getScopeHierarchy = exports.getScopeForNode = exports.getBuiltInScope = void 0;
|
13
13
|
const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
|
14
14
|
const parseTreeUtils_1 = require("./parseTreeUtils");
|
15
15
|
function getBuiltInScope(currentScope) {
|
@@ -70,4 +70,15 @@ function findTopNodeInScope(node, scope) {
|
|
70
70
|
return undefined;
|
71
71
|
}
|
72
72
|
exports.findTopNodeInScope = findTopNodeInScope;
|
73
|
+
function isScopeContainedWithin(scope, potentialParentScope) {
|
74
|
+
let curScope = scope;
|
75
|
+
while (curScope) {
|
76
|
+
if (curScope.parent === potentialParentScope) {
|
77
|
+
return true;
|
78
|
+
}
|
79
|
+
curScope = curScope.parent;
|
80
|
+
}
|
81
|
+
return false;
|
82
|
+
}
|
83
|
+
exports.isScopeContainedWithin = isScopeContainedWithin;
|
73
84
|
//# sourceMappingURL=scopeUtils.js.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/scopeUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAGH,yDAA8C;AAC9C,qDAA0D;AAG1D,SAAgB,eAAe,CAAC,YAAmB;IAC/C,uEAAuE;IACvE,0BAA0B;IAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,OAAO,YAAY,CAAC,IAAI,8BAAsB,EAAE;QAC5C,YAAY,GAAG,YAAY,CAAC,MAAO,CAAC;KACvC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAVD,0CAUC;AAED,yEAAyE;AACzE,SAAgB,eAAe,CAAC,IAAe;IAC3C,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAHD,0CAGC;AAED,4EAA4E;AAC5E,gEAAgE;AAChE,+CAA+C;AAC/C,SAAgB,iBAAiB,CAAC,IAAe,EAAE,SAAiB;IAChE,MAAM,cAAc,GAAY,EAAE,CAAC;IACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAE1C,OAAO,OAAO,EAAE;QACZ,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,cAAc,CAAC;SACzB;QAED,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;AAClD,CAAC;AAxBD,8CAwBC;AAED,4EAA4E;AAC5E,kCAAkC;AAClC,SAAgB,kBAAkB,CAAC,IAAe,EAAE,KAAY;IAC5D,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,QAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO,OAAO,EAAE;QACZ,IAAI,IAAA,2BAAQ,EAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC7B,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,UAAU,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QAED,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC5B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,gDAiBC"}
|
1
|
+
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../src/analyzer/scopeUtils.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;AAGH,yDAA8C;AAC9C,qDAA0D;AAG1D,SAAgB,eAAe,CAAC,YAAmB;IAC/C,uEAAuE;IACvE,0BAA0B;IAC1B,IAAI,YAAY,GAAG,YAAY,CAAC;IAEhC,OAAO,YAAY,CAAC,IAAI,8BAAsB,EAAE;QAC5C,YAAY,GAAG,YAAY,CAAC,MAAO,CAAC;KACvC;IAED,OAAO,YAAY,CAAC;AACxB,CAAC;AAVD,0CAUC;AAED,yEAAyE;AACzE,SAAgB,eAAe,CAAC,IAAe;IAC3C,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,IAAI,CAAC,CAAC;IAC/C,OAAO,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;AAC/B,CAAC;AAHD,0CAGC;AAED,4EAA4E;AAC5E,gEAAgE;AAChE,+CAA+C;AAC/C,SAAgB,iBAAiB,CAAC,IAAe,EAAE,SAAiB;IAChE,MAAM,cAAc,GAAY,EAAE,CAAC;IACnC,IAAI,OAAO,GAA0B,IAAI,CAAC;IAE1C,OAAO,OAAO,EAAE;QACZ,MAAM,SAAS,GAAG,IAAA,uCAAsB,EAAC,OAAO,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,IAAA,2BAAQ,EAAC,SAAS,CAAC,CAAC;QAErC,IAAI,CAAC,QAAQ,EAAE;YACX,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,cAAc,CAAC,MAAM,KAAK,CAAC,IAAI,cAAc,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,CAAC,KAAK,QAAQ,EAAE;YACvF,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACjC;QAED,IAAI,QAAQ,KAAK,SAAS,EAAE;YACxB,OAAO,cAAc,CAAC;SACzB;QAED,OAAO,GAAG,SAAS,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,cAAc,CAAC;AAClD,CAAC;AAxBD,8CAwBC;AAED,4EAA4E;AAC5E,kCAAkC;AAClC,SAAgB,kBAAkB,CAAC,IAAe,EAAE,KAAY;IAC5D,IAAI,OAAO,GAA0B,IAAI,CAAC;IAC1C,IAAI,QAA+B,CAAC;IACpC,IAAI,UAAU,GAAG,KAAK,CAAC;IAEvB,OAAO,OAAO,EAAE;QACZ,IAAI,IAAA,2BAAQ,EAAC,OAAO,CAAC,KAAK,KAAK,EAAE;YAC7B,UAAU,GAAG,IAAI,CAAC;SACrB;aAAM,IAAI,UAAU,EAAE;YACnB,OAAO,QAAQ,CAAC;SACnB;QAED,QAAQ,GAAG,OAAO,CAAC;QACnB,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC;KAC5B;IAED,OAAO,SAAS,CAAC;AACrB,CAAC;AAjBD,gDAiBC;AAED,SAAgB,sBAAsB,CAAC,KAAY,EAAE,oBAA2B;IAC5E,IAAI,QAAQ,GAAsB,KAAK,CAAC;IAExC,OAAO,QAAQ,EAAE;QACb,IAAI,QAAQ,CAAC,MAAM,KAAK,oBAAoB,EAAE;YAC1C,OAAO,IAAI,CAAC;SACf;QAED,QAAQ,GAAG,QAAQ,CAAC,MAAM,CAAC;KAC9B;IAED,OAAO,KAAK,CAAC;AACjB,CAAC;AAZD,wDAYC"}
|
@@ -4383,6 +4383,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4383
4383
|
}
|
4384
4384
|
return indexTypeResult;
|
4385
4385
|
}
|
4386
|
+
// If the list of type parameters includes a TypeVarTuple, we may need to adjust
|
4387
|
+
// the supplied type arguments to map to the type parameter list.
|
4386
4388
|
function adjustTypeArgumentsForVariadicTypeVar(typeArgs, typeParameters, errorNode) {
|
4387
4389
|
const variadicIndex = typeParameters.findIndex((param) => (0, types_1.isVariadicTypeVar)(param));
|
4388
4390
|
// Do we need to adjust the type arguments to map to a variadic type
|
@@ -4485,26 +4487,24 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4485
4487
|
];
|
4486
4488
|
}
|
4487
4489
|
}
|
4488
|
-
|
4489
|
-
|
4490
|
-
|
4491
|
-
|
4492
|
-
|
4493
|
-
|
4494
|
-
|
4495
|
-
|
4496
|
-
|
4497
|
-
|
4498
|
-
|
4499
|
-
|
4500
|
-
|
4501
|
-
|
4502
|
-
|
4503
|
-
|
4504
|
-
|
4505
|
-
|
4506
|
-
}), node.items[node.items.length - 1]);
|
4507
|
-
}
|
4490
|
+
let minTypeArgCount = typeParameters.length;
|
4491
|
+
const firstDefaultParamIndex = typeParameters.findIndex((param) => !!param.details.defaultType);
|
4492
|
+
if (firstDefaultParamIndex >= 0) {
|
4493
|
+
minTypeArgCount = firstDefaultParamIndex;
|
4494
|
+
}
|
4495
|
+
if (typeArgs.length > typeParameters.length) {
|
4496
|
+
addError(localize_1.Localizer.Diagnostic.typeArgsTooMany().format({
|
4497
|
+
name: printType(baseType),
|
4498
|
+
expected: typeParameters.length,
|
4499
|
+
received: typeArgs.length,
|
4500
|
+
}), typeArgs[typeParameters.length].node);
|
4501
|
+
}
|
4502
|
+
else if (typeArgs.length < minTypeArgCount) {
|
4503
|
+
addError(localize_1.Localizer.Diagnostic.typeArgsTooFew().format({
|
4504
|
+
name: printType(baseType),
|
4505
|
+
expected: typeParameters.length,
|
4506
|
+
received: typeArgs.length,
|
4507
|
+
}), node.items[node.items.length - 1]);
|
4508
4508
|
}
|
4509
4509
|
// Handle the mypy_extensions.FlexibleAlias type specially.
|
4510
4510
|
if ((0, types_1.isInstantiableClass)(baseType) &&
|
@@ -4520,7 +4520,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4520
4520
|
const typeList = typeArgs[index].typeList;
|
4521
4521
|
if (typeList) {
|
4522
4522
|
const functionType = types_1.FunctionType.createSynthesizedInstance('', 65536 /* FunctionTypeFlags.ParamSpecValue */);
|
4523
|
-
types_1.TypeBase.setSpecialForm(functionType);
|
4524
4523
|
typeList.forEach((paramType, paramIndex) => {
|
4525
4524
|
types_1.FunctionType.addParameter(functionType, {
|
4526
4525
|
category: 0 /* ParameterCategory.Simple */,
|
@@ -4530,7 +4529,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4530
4529
|
hasDeclaredType: true,
|
4531
4530
|
});
|
4532
4531
|
});
|
4533
|
-
|
4532
|
+
if (typeList.length > 0) {
|
4533
|
+
types_1.FunctionType.addPositionOnlyParameterSeparator(functionType);
|
4534
|
+
}
|
4534
4535
|
(0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, param, functionType, diag, typeVarContext, 256 /* AssignTypeFlags.RetainLiteralsForTypeVar */);
|
4535
4536
|
}
|
4536
4537
|
else if ((0, types_1.isParamSpec)(typeArgType)) {
|
@@ -4566,7 +4567,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4566
4567
|
}
|
4567
4568
|
else if ((0, typeUtils_1.isEllipsisType)(typeArgType)) {
|
4568
4569
|
const functionType = types_1.FunctionType.createSynthesizedInstance('', 65536 /* FunctionTypeFlags.ParamSpecValue */ | 32768 /* FunctionTypeFlags.SkipArgsKwargsCompatibilityCheck */);
|
4569
|
-
types_1.TypeBase.setSpecialForm(functionType);
|
4570
4570
|
types_1.FunctionType.addDefaultParameters(functionType);
|
4571
4571
|
(0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, param, functionType, diag, typeVarContext);
|
4572
4572
|
}
|
@@ -4602,6 +4602,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4602
4602
|
}
|
4603
4603
|
}
|
4604
4604
|
}
|
4605
|
+
if ((0, types_1.isUnpacked)(typeArgType) && !(0, types_1.isVariadicTypeVar)(param)) {
|
4606
|
+
const messageDiag = diag.createAddendum();
|
4607
|
+
messageDiag.addMessage(localize_1.Localizer.Diagnostic.unpackedArgInTypeArgument());
|
4608
|
+
messageDiag.addTextRange(typeArgs[index].node);
|
4609
|
+
typeArgType = types_1.UnknownType.create();
|
4610
|
+
}
|
4605
4611
|
(0, constraintSolver_1.assignTypeToTypeVar)(evaluatorInterface, param, typeArgType, diag, typeVarContext, 256 /* AssignTypeFlags.RetainLiteralsForTypeVar */);
|
4606
4612
|
}
|
4607
4613
|
});
|
@@ -4917,7 +4923,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4917
4923
|
}), node.baseExpression);
|
4918
4924
|
return { type: types_1.UnknownType.create() };
|
4919
4925
|
}
|
4920
|
-
// Handle the special case where the object is a
|
4926
|
+
// Handle the special case where the object is a tuple and
|
4921
4927
|
// the index is a constant number (integer) or a slice with integer
|
4922
4928
|
// start and end values. In these cases, we can determine
|
4923
4929
|
// the exact type by indexing into the tuple type array.
|
@@ -4950,39 +4956,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
4950
4956
|
}
|
4951
4957
|
else if ((0, types_1.isClassInstance)(valueType) && types_1.ClassType.isBuiltIn(valueType, 'slice')) {
|
4952
4958
|
const tupleType = (0, typeUtils_1.getSpecializedTupleType)(baseType);
|
4953
|
-
if (tupleType &&
|
4954
|
-
|
4955
|
-
|
4956
|
-
|
4957
|
-
let value = defaultValue;
|
4958
|
-
if (expression) {
|
4959
|
-
const valType = getTypeOfExpression(expression).type;
|
4960
|
-
if ((0, types_1.isClassInstance)(valType) &&
|
4961
|
-
types_1.ClassType.isBuiltIn(valType, 'int') &&
|
4962
|
-
(0, typeUtils_1.isLiteralType)(valType) &&
|
4963
|
-
typeof valType.literalValue === 'number') {
|
4964
|
-
value = valType.literalValue;
|
4965
|
-
if (value < 0) {
|
4966
|
-
value = tupleType.tupleTypeArguments.length + value;
|
4967
|
-
}
|
4968
|
-
}
|
4969
|
-
else {
|
4970
|
-
value = -1;
|
4971
|
-
}
|
4972
|
-
}
|
4973
|
-
return value;
|
4974
|
-
};
|
4975
|
-
const startValue = getSliceParameter(index0Expr.startValue, 0);
|
4976
|
-
const endValue = getSliceParameter(index0Expr.endValue, tupleType.tupleTypeArguments.length);
|
4977
|
-
if (startValue >= 0 &&
|
4978
|
-
endValue > 0 &&
|
4979
|
-
endValue <= tupleType.tupleTypeArguments.length &&
|
4980
|
-
tupleClassType &&
|
4981
|
-
(0, types_1.isInstantiableClass)(tupleClassType)) {
|
4982
|
-
return {
|
4983
|
-
type: types_1.ClassType.cloneAsInstance((0, typeUtils_1.specializeTupleClass)(tupleClassType, tupleType.tupleTypeArguments.slice(startValue, endValue))),
|
4984
|
-
};
|
4985
|
-
}
|
4959
|
+
if (tupleType && index0Expr.nodeType === 46 /* ParseNodeType.Slice */) {
|
4960
|
+
const slicedTupleType = getSlicedTupleType(tupleType, index0Expr);
|
4961
|
+
if (slicedTupleType) {
|
4962
|
+
return { type: slicedTupleType };
|
4986
4963
|
}
|
4987
4964
|
}
|
4988
4965
|
}
|
@@ -5102,6 +5079,51 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5102
5079
|
isIncomplete: !!callResult.isTypeIncomplete,
|
5103
5080
|
};
|
5104
5081
|
}
|
5082
|
+
// Given a tuple type and a slice expression, determines the resulting
|
5083
|
+
// type if it can be determined. If not, it returns undefined.
|
5084
|
+
function getSlicedTupleType(tupleType, sliceNode) {
|
5085
|
+
// We don't handle step values.
|
5086
|
+
if (sliceNode.stepValue || !tupleType.tupleTypeArguments) {
|
5087
|
+
return undefined;
|
5088
|
+
}
|
5089
|
+
const tupleTypeArgs = tupleType.tupleTypeArguments;
|
5090
|
+
const startValue = getTupleSliceParameter(sliceNode.startValue, 0, tupleTypeArgs);
|
5091
|
+
const endValue = getTupleSliceParameter(sliceNode.endValue, tupleTypeArgs.length, tupleTypeArgs);
|
5092
|
+
if (startValue === undefined || endValue === undefined || endValue < startValue) {
|
5093
|
+
return undefined;
|
5094
|
+
}
|
5095
|
+
const slicedTypeArgs = tupleTypeArgs.slice(startValue, endValue);
|
5096
|
+
return types_1.ClassType.cloneAsInstance((0, typeUtils_1.specializeTupleClass)(tupleType, slicedTypeArgs));
|
5097
|
+
}
|
5098
|
+
function getTupleSliceParameter(expression, defaultValue, tupleTypeArgs) {
|
5099
|
+
let value = defaultValue;
|
5100
|
+
if (expression) {
|
5101
|
+
const valType = getTypeOfExpression(expression).type;
|
5102
|
+
if (!(0, types_1.isClassInstance)(valType) || !types_1.ClassType.isBuiltIn(valType, 'int') || !(0, typeUtils_1.isLiteralType)(valType)) {
|
5103
|
+
return undefined;
|
5104
|
+
}
|
5105
|
+
value = valType.literalValue;
|
5106
|
+
const unboundedIndex = tupleTypeArgs.findIndex((typeArg) => typeArg.isUnbounded || (0, types_1.isVariadicTypeVar)(typeArg.type));
|
5107
|
+
if (value < 0) {
|
5108
|
+
value = tupleTypeArgs.length + value;
|
5109
|
+
if (value < 0) {
|
5110
|
+
return undefined;
|
5111
|
+
}
|
5112
|
+
else if (unboundedIndex >= 0 && value <= unboundedIndex) {
|
5113
|
+
return undefined;
|
5114
|
+
}
|
5115
|
+
}
|
5116
|
+
else {
|
5117
|
+
if (value >= tupleTypeArgs.length) {
|
5118
|
+
return undefined;
|
5119
|
+
}
|
5120
|
+
else if (unboundedIndex >= 0 && value > unboundedIndex) {
|
5121
|
+
return undefined;
|
5122
|
+
}
|
5123
|
+
}
|
5124
|
+
}
|
5125
|
+
return value;
|
5126
|
+
}
|
5105
5127
|
function getTypeArgs(node, flags, options) {
|
5106
5128
|
const typeArgs = [];
|
5107
5129
|
let adjFlags = flags;
|
@@ -5117,7 +5139,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5117
5139
|
if (!(options === null || options === void 0 ? void 0 : options.isAnnotatedClass)) {
|
5118
5140
|
adjFlags |= 131072 /* EvaluatorFlags.DisallowClassVar */ | 16 /* EvaluatorFlags.DisallowFinal */;
|
5119
5141
|
}
|
5120
|
-
adjFlags |= 2097152 /* EvaluatorFlags.AllowUnpackedTupleOrTypeVarTuple */;
|
5142
|
+
adjFlags |= 2097152 /* EvaluatorFlags.AllowUnpackedTupleOrTypeVarTuple */ | 134217728 /* EvaluatorFlags.AllowConcatenate */;
|
5121
5143
|
}
|
5122
5144
|
// Create a local function that validates a single type argument.
|
5123
5145
|
const getTypeArgTypeResult = (expr, argIndex) => {
|
@@ -5181,6 +5203,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5181
5203
|
(0, typeUtils_1.isTupleClass)(typeResult.type)) {
|
5182
5204
|
typeResult.type = types_1.ClassType.cloneForUnpacked(typeResult.type);
|
5183
5205
|
}
|
5206
|
+
else {
|
5207
|
+
addError(localize_1.Localizer.Diagnostic.unpackNotAllowed(), arg.valueExpression);
|
5208
|
+
}
|
5184
5209
|
}
|
5185
5210
|
}
|
5186
5211
|
if (arg.name) {
|
@@ -5836,9 +5861,10 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
5836
5861
|
resultType = types_1.UnknownType.create();
|
5837
5862
|
}
|
5838
5863
|
return {
|
5839
|
-
type: resultIsInstance ? (0, typeUtils_1.convertToInstance)(resultType) : resultType,
|
5864
|
+
type: resultIsInstance ? (0, typeUtils_1.convertToInstance)(resultType, /* includeSubclasses */ false) : resultType,
|
5840
5865
|
bindToSelfType: bindToType
|
5841
|
-
? types_1.TypeBase.cloneForCondition((0, typeUtils_1.synthesizeTypeVarForSelfCls)(bindToType, /*
|
5866
|
+
? types_1.TypeBase.cloneForCondition((0, typeUtils_1.synthesizeTypeVarForSelfCls)(types_1.ClassType.cloneIncludeSubclasses(bindToType, /* includeSubclasses */ false),
|
5867
|
+
/* isClsParam */ false), bindToType.condition)
|
5842
5868
|
: undefined,
|
5843
5869
|
};
|
5844
5870
|
}
|
@@ -6430,18 +6456,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
6430
6456
|
}), errorNode);
|
6431
6457
|
return { returnType: undefined, argumentErrors: true };
|
6432
6458
|
}
|
6433
|
-
// Check for an attempt to invoke an abstract static or class method.
|
6434
|
-
if (expandedCallType.boundToType &&
|
6435
|
-
(0, types_1.isInstantiableClass)(expandedCallType.boundToType) &&
|
6436
|
-
!expandedCallType.boundToType.includeSubclasses) {
|
6437
|
-
if (types_1.FunctionType.isAbstractMethod(expandedCallType)) {
|
6438
|
-
if (types_1.FunctionType.isStaticMethod(expandedCallType) || types_1.FunctionType.isClassMethod(expandedCallType)) {
|
6439
|
-
addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.abstractMethodInvocation().format({
|
6440
|
-
method: expandedCallType.details.name,
|
6441
|
-
}), errorNode.nodeType === 9 /* ParseNodeType.Call */ ? errorNode.leftExpression : errorNode);
|
6442
|
-
}
|
6443
|
-
}
|
6444
|
-
}
|
6445
6459
|
let effectiveTypeVarContext = typeVarContext;
|
6446
6460
|
if (!effectiveTypeVarContext) {
|
6447
6461
|
// If a typeVarContext wasn't provided by the caller, allocate one here.
|
@@ -6494,6 +6508,41 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
6494
6508
|
specializedInitSelfType: functionResult.specializedInitSelfType,
|
6495
6509
|
};
|
6496
6510
|
}
|
6511
|
+
function isMethodUnimplementedAbstract(functionType) {
|
6512
|
+
let isAbstract = false;
|
6513
|
+
// If the function is part of a protocol, it's automatically considered abstract
|
6514
|
+
// unless it's located in a stub, in which case it must be explicitly marked as
|
6515
|
+
// abstract.
|
6516
|
+
if (types_1.FunctionType.isAbstractMethod(functionType)) {
|
6517
|
+
isAbstract = true;
|
6518
|
+
}
|
6519
|
+
else if (functionType.details.methodClass &&
|
6520
|
+
types_1.ClassType.isProtocolClass(functionType.details.methodClass) &&
|
6521
|
+
functionType.details.declaration &&
|
6522
|
+
!AnalyzerNodeInfo.getFileInfo(functionType.details.declaration.node).isStubFile) {
|
6523
|
+
isAbstract = true;
|
6524
|
+
}
|
6525
|
+
if (!isAbstract) {
|
6526
|
+
return false;
|
6527
|
+
}
|
6528
|
+
// Determine if the method is unimplemented by looking at whether its
|
6529
|
+
// body contains a "trivial" implementation.
|
6530
|
+
let implementation = functionType;
|
6531
|
+
// If this is an overloaded method, consider the implementation.
|
6532
|
+
if (functionType.overloaded) {
|
6533
|
+
implementation = types_1.OverloadedFunctionType.getImplementation(functionType.overloaded);
|
6534
|
+
// If there is no implementation and it's in a stub file, assume it's not abstract.
|
6535
|
+
if (!implementation) {
|
6536
|
+
return (functionType.details.declaration !== undefined &&
|
6537
|
+
!AnalyzerNodeInfo.getFileInfo(functionType.details.declaration.node).isStubFile);
|
6538
|
+
}
|
6539
|
+
}
|
6540
|
+
if (!implementation.details.declaration) {
|
6541
|
+
return false;
|
6542
|
+
}
|
6543
|
+
const decl = implementation.details.declaration;
|
6544
|
+
return ParseTreeUtils.isSuiteEmpty(decl.node.suite) || methodAlwaysRaisesNotImplemented(decl);
|
6545
|
+
}
|
6497
6546
|
function validateCallForOverloadedFunction(errorNode, argList, expandedCallType, isCallTypeIncomplete, typeVarContext, skipUnknownArgCheck, inferenceContext) {
|
6498
6547
|
var _a, _b;
|
6499
6548
|
// Handle the 'cast' call as a special case.
|
@@ -7727,6 +7776,12 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
7727
7776
|
let specializedInitSelfType;
|
7728
7777
|
let anyOrUnknownArgument;
|
7729
7778
|
const typeCondition = (0, typeUtils_1.getTypeCondition)(type);
|
7779
|
+
// Check for an attempt to invoke an unimplemented abstract method.
|
7780
|
+
if (type.boundToType && !type.boundToType.includeSubclasses && isMethodUnimplementedAbstract(type)) {
|
7781
|
+
addDiagnostic(AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.abstractMethodInvocation().format({
|
7782
|
+
method: type.details.name,
|
7783
|
+
}), errorNode.nodeType === 9 /* ParseNodeType.Call */ ? errorNode.leftExpression : errorNode);
|
7784
|
+
}
|
7730
7785
|
if (type.boundTypeVarScopeId) {
|
7731
7786
|
// If the function was bound to a class or object and was a constructor, a
|
7732
7787
|
// static method or a class method, it's possible that some of that class's
|
@@ -8593,6 +8648,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8593
8648
|
addError(localize_1.Localizer.Diagnostic.typeVarTupleUnknownParam().format({ name: ((_a = argList[i].name) === null || _a === void 0 ? void 0 : _a.value) || '?' }), ((_b = argList[i].node) === null || _b === void 0 ? void 0 : _b.name) || argList[i].valueExpression || errorNode);
|
8594
8649
|
}
|
8595
8650
|
}
|
8651
|
+
else {
|
8652
|
+
addError(localize_1.Localizer.Diagnostic.typeVarTupleConstraints(), argList[i].valueExpression || errorNode);
|
8653
|
+
}
|
8596
8654
|
}
|
8597
8655
|
return typeVar;
|
8598
8656
|
}
|
@@ -8653,7 +8711,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8653
8711
|
}
|
8654
8712
|
function getParamSpecDefaultType(node) {
|
8655
8713
|
const functionType = types_1.FunctionType.createSynthesizedInstance('', 32768 /* FunctionTypeFlags.SkipArgsKwargsCompatibilityCheck */ | 65536 /* FunctionTypeFlags.ParamSpecValue */);
|
8656
|
-
types_1.TypeBase.setSpecialForm(functionType);
|
8657
8714
|
if (node.nodeType === 18 /* ParseNodeType.Ellipsis */) {
|
8658
8715
|
types_1.FunctionType.addDefaultParameters(functionType);
|
8659
8716
|
return functionType;
|
@@ -8669,6 +8726,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
8669
8726
|
type: (0, typeUtils_1.convertToInstance)(typeResult.type),
|
8670
8727
|
});
|
8671
8728
|
});
|
8729
|
+
if (node.entries.length > 0) {
|
8730
|
+
types_1.FunctionType.addPositionOnlyParameterSeparator(functionType);
|
8731
|
+
}
|
8672
8732
|
// Update the type cache so we don't attempt to re-evaluate this node.
|
8673
8733
|
// The type doesn't matter, so use Any.
|
8674
8734
|
writeTypeCache(node, { type: types_1.AnyType.create() }, /* flags */ undefined);
|
@@ -10451,7 +10511,11 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10451
10511
|
}
|
10452
10512
|
return typeArgs[0].type;
|
10453
10513
|
}
|
10454
|
-
function createConcatenateType(errorNode, classType, typeArgs) {
|
10514
|
+
function createConcatenateType(errorNode, classType, typeArgs, flags) {
|
10515
|
+
if ((flags & 134217728 /* EvaluatorFlags.AllowConcatenate */) === 0) {
|
10516
|
+
addError(localize_1.Localizer.Diagnostic.concatenateContext(), errorNode);
|
10517
|
+
return types_1.AnyType.create();
|
10518
|
+
}
|
10455
10519
|
if (!typeArgs || typeArgs.length === 0) {
|
10456
10520
|
addError(localize_1.Localizer.Diagnostic.concatenateTypeArgsMissing(), errorNode);
|
10457
10521
|
}
|
@@ -10608,7 +10672,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10608
10672
|
}
|
10609
10673
|
// Unpacks the index expression for a "Union[X, Y, Z]" type annotation.
|
10610
10674
|
function createUnionType(classType, errorNode, typeArgs, flags) {
|
10675
|
+
const fileInfo = AnalyzerNodeInfo.getFileInfo(errorNode);
|
10611
10676
|
const types = [];
|
10677
|
+
let allowSingleTypeArg = false;
|
10612
10678
|
if (!typeArgs) {
|
10613
10679
|
// If no type arguments are provided, the resulting type
|
10614
10680
|
// depends on whether we're evaluating a type annotation or
|
@@ -10630,15 +10696,29 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10630
10696
|
}
|
10631
10697
|
// If this is an unpacked tuple, explode out the individual items.
|
10632
10698
|
if ((0, types_1.isUnpackedClass)(typeArg.type) && typeArg.type.tupleTypeArguments) {
|
10633
|
-
|
10634
|
-
|
10635
|
-
|
10699
|
+
if (fileInfo.diagnosticRuleSet.enableExperimentalFeatures) {
|
10700
|
+
typeArg.type.tupleTypeArguments.forEach((tupleTypeArg) => {
|
10701
|
+
types.push((0, typeUtils_1.convertToInstantiable)(tupleTypeArg.type));
|
10702
|
+
});
|
10703
|
+
allowSingleTypeArg = true;
|
10704
|
+
}
|
10705
|
+
else {
|
10706
|
+
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.unionUnpackedTuple(), errorNode);
|
10707
|
+
types.push(types_1.UnknownType.create());
|
10708
|
+
}
|
10636
10709
|
}
|
10637
10710
|
else {
|
10638
|
-
// If this is an unpacked TypeVar, note that it is in a union so we can differentiate
|
10639
|
-
// between Unpack[Vs] and Union[Unpack[Vs]].
|
10640
10711
|
if ((0, types_1.isTypeVar)(typeArgType) && (0, types_1.isUnpackedVariadicTypeVar)(typeArgType)) {
|
10641
|
-
|
10712
|
+
if (fileInfo.diagnosticRuleSet.enableExperimentalFeatures) {
|
10713
|
+
// If this is an unpacked TypeVar, note that it is in a union so we can
|
10714
|
+
// differentiate between Unpack[Vs] and Union[Unpack[Vs]].
|
10715
|
+
typeArgType = types_1.TypeVarType.cloneForUnpacked(typeArgType, /* isInUnion */ true);
|
10716
|
+
allowSingleTypeArg = true;
|
10717
|
+
}
|
10718
|
+
else {
|
10719
|
+
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.unionUnpackedTypeVarTuple(), errorNode);
|
10720
|
+
typeArgType = types_1.UnknownType.create();
|
10721
|
+
}
|
10642
10722
|
}
|
10643
10723
|
types.push(typeArgType);
|
10644
10724
|
}
|
@@ -10646,10 +10726,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
10646
10726
|
// Validate that we received at least two type arguments. One type argument
|
10647
10727
|
// is allowed if it's an unpacked variadic type var or tuple. None is also allowed
|
10648
10728
|
// since it is used to define NoReturn in typeshed stubs).
|
10649
|
-
if (types.length === 1) {
|
10650
|
-
|
10651
|
-
addError(localize_1.Localizer.Diagnostic.unionTypeArgCount(), errorNode);
|
10652
|
-
}
|
10729
|
+
if (types.length === 1 && !allowSingleTypeArg && !(0, typeUtils_1.isNoneInstance)(types[0])) {
|
10730
|
+
addDiagnostic(fileInfo.diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.unionTypeArgCount(), errorNode);
|
10653
10731
|
}
|
10654
10732
|
const unionType = (0, types_1.combineTypes)(types);
|
10655
10733
|
if ((0, types_1.isUnion)(unionType)) {
|
@@ -11005,7 +11083,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
11005
11083
|
// only if the evaluated type is an instantiable type.
|
11006
11084
|
if (!isSpeculativeTypeAlias || isLegalImplicitTypeAliasType(rightHandType)) {
|
11007
11085
|
// If this is a type alias, record its name based on the assignment target.
|
11008
|
-
rightHandType = transformTypeForTypeAlias(rightHandType, typeAliasNameNode,
|
11086
|
+
rightHandType = transformTypeForTypeAlias(rightHandType, typeAliasNameNode, typeAliasNameNode,
|
11009
11087
|
/* isPep695Syntax */ false,
|
11010
11088
|
/* isPep695TypeVarType */ false);
|
11011
11089
|
(0, debug_1.assert)(typeAliasTypeVar !== undefined);
|
@@ -11106,7 +11184,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
11106
11184
|
if (aliasTypeResult.isIncomplete) {
|
11107
11185
|
isIncomplete = true;
|
11108
11186
|
}
|
11109
|
-
aliasType = transformTypeForTypeAlias(aliasType, nameNode,
|
11187
|
+
aliasType = transformTypeForTypeAlias(aliasType, nameNode, nameNode, isPep695Syntax,
|
11110
11188
|
/* isPep695TypeVarType */ true, typeParameters, typeParamNodes);
|
11111
11189
|
if ((0, typeUtils_1.isTypeAliasRecursive)(typeAliasTypeVar, aliasType)) {
|
11112
11190
|
addDiagnostic(AnalyzerNodeInfo.getFileInfo(valueNode).diagnosticRuleSet.reportGeneralTypeIssues, diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.Localizer.Diagnostic.typeAliasIsRecursiveDirect().format({
|
@@ -13784,7 +13862,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
13784
13862
|
return createAnnotatedType(errorNode, typeArgs);
|
13785
13863
|
}
|
13786
13864
|
case 'Concatenate': {
|
13787
|
-
return { type: createConcatenateType(errorNode, classType, typeArgs) };
|
13865
|
+
return { type: createConcatenateType(errorNode, classType, typeArgs, flags) };
|
13788
13866
|
}
|
13789
13867
|
case 'TypeGuard': {
|
13790
13868
|
return { type: createTypeGuardType(errorNode, classType, typeArgs, flags) };
|
@@ -13857,9 +13935,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
13857
13935
|
const variadicTypeParamIndex = typeParameters.findIndex((param) => (0, types_1.isVariadicTypeVar)(param));
|
13858
13936
|
if (typeArgs) {
|
13859
13937
|
let minTypeArgCount = typeParameters.length;
|
13860
|
-
const
|
13861
|
-
if (
|
13862
|
-
minTypeArgCount =
|
13938
|
+
const firstDefaultParamIndex = typeParameters.findIndex((param) => !!param.details.defaultType);
|
13939
|
+
if (firstDefaultParamIndex >= 0) {
|
13940
|
+
minTypeArgCount = firstDefaultParamIndex;
|
13863
13941
|
}
|
13864
13942
|
// Classes that accept inlined type dict type args allow only one.
|
13865
13943
|
if (typeArgs[0].inlinedTypeDict) {
|
@@ -13957,7 +14035,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
13957
14035
|
if (typeParam.details.isParamSpec) {
|
13958
14036
|
const typeArg = typeArgs[index];
|
13959
14037
|
const functionType = types_1.FunctionType.createSynthesizedInstance('', 65536 /* FunctionTypeFlags.ParamSpecValue */);
|
13960
|
-
types_1.TypeBase.setSpecialForm(functionType);
|
13961
14038
|
if ((0, typeUtils_1.isEllipsisType)(typeArg.type)) {
|
13962
14039
|
types_1.FunctionType.addDefaultParameters(functionType);
|
13963
14040
|
functionType.details.flags |= 32768 /* FunctionTypeFlags.SkipArgsKwargsCompatibilityCheck */;
|
@@ -13975,6 +14052,9 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
13975
14052
|
hasDeclaredType: true,
|
13976
14053
|
});
|
13977
14054
|
});
|
14055
|
+
if (typeArg.typeList.length > 0) {
|
14056
|
+
types_1.FunctionType.addPositionOnlyParameterSeparator(functionType);
|
14057
|
+
}
|
13978
14058
|
typeArgTypes.push(functionType);
|
13979
14059
|
typeVarContext.setTypeVarType(typeParam, (0, typeUtils_1.convertTypeToParamSpecValue)(functionType));
|
13980
14060
|
return;
|
@@ -15713,7 +15793,6 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15713
15793
|
function assignClassToSelf(destType, srcType, ignoreBaseClassVariance = true, recursionCount = 0) {
|
15714
15794
|
(0, debug_1.assert)(types_1.ClassType.isSameGenericClass(destType, srcType));
|
15715
15795
|
(0, debug_1.assert)(destType.details.typeParameters.length > 0);
|
15716
|
-
const diag = new diagnostic_1.DiagnosticAddendum();
|
15717
15796
|
const typeVarContext = new typeVarContext_1.TypeVarContext();
|
15718
15797
|
let isAssignable = true;
|
15719
15798
|
destType.details.fields.forEach((symbol, name) => {
|
@@ -15734,7 +15813,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15734
15813
|
types_1.ClassType.isPropertyClass(destMemberType) &&
|
15735
15814
|
(0, types_1.isClassInstance)(srcMemberType) &&
|
15736
15815
|
types_1.ClassType.isPropertyClass(srcMemberType)) {
|
15737
|
-
if (!(0, properties_1.assignProperty)(evaluatorInterface, types_1.ClassType.cloneAsInstantiable(destMemberType), types_1.ClassType.cloneAsInstantiable(srcMemberType), destType, srcType,
|
15816
|
+
if (!(0, properties_1.assignProperty)(evaluatorInterface, types_1.ClassType.cloneAsInstantiable(destMemberType), types_1.ClassType.cloneAsInstantiable(srcMemberType), destType, srcType,
|
15817
|
+
/* diag */ undefined, typeVarContext,
|
15738
15818
|
/* selfTypeVarContext */ undefined, recursionCount)) {
|
15739
15819
|
isAssignable = false;
|
15740
15820
|
}
|
@@ -15753,7 +15833,8 @@ function createTypeEvaluator(importLookup, evaluatorOptions) {
|
|
15753
15833
|
flags |= 1 /* AssignTypeFlags.EnforceInvariance */;
|
15754
15834
|
}
|
15755
15835
|
}
|
15756
|
-
if (!assignType(destMemberType, srcMemberType,
|
15836
|
+
if (!assignType(destMemberType, srcMemberType,
|
15837
|
+
/* diag */ undefined, typeVarContext,
|
15757
15838
|
/* srcTypeVarContext */ undefined, flags, recursionCount)) {
|
15758
15839
|
isAssignable = false;
|
15759
15840
|
}
|