@zzzen/pyright-internal 1.2.0-dev.20241027 → 1.2.0-dev.20241103
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.d.ts +1 -3
- package/dist/analyzer/binder.js +1 -9
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +9 -5
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +2 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +18 -1
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +1 -1
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -1
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/enums.js +3 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +2 -0
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +1 -1
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/protocols.js +1 -1
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.js +1 -1
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +2 -2
- package/dist/analyzer/typeEvaluator.js +108 -31
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +10 -5
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +6 -0
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +0 -1
- package/dist/analyzer/typeUtils.js +42 -23
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +2 -1
- package/dist/analyzer/typedDicts.js +21 -1
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.js +4 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/languageService/completionProvider.js +1 -1
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +2 -1
- package/dist/languageService/hoverProvider.js +33 -10
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/tests/fourslash/hover.typedDict.get.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/hover.typedDict.get.fourslash.js +16 -0
- package/dist/tests/fourslash/hover.typedDict.get.fourslash.js.map +1 -0
- package/dist/tests/typeEvaluator2.test.js +4 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +1 -1
- package/dist/tests/typeEvaluator5.test.js +6 -0
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +6 -0
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +10 -0
- 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
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"sourceFile.js","sourceRoot":"","sources":["../../../../../src/analyzer/sourceFile.ts"],"names":[],"mappings":"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"}
|
@@ -2,9 +2,9 @@ import { DiagnosticAddendum } from '../common/diagnostic';
|
|
2
2
|
import { SliceNode, TupleNode } from '../parser/parseNodes';
|
3
3
|
import { ConstraintTracker } from './constraintTracker';
|
4
4
|
import { AssignTypeFlags, EvalFlags, TypeEvaluator, TypeResult } from './typeEvaluatorTypes';
|
5
|
-
import { ClassType, TupleTypeArg, Type
|
5
|
+
import { ClassType, TupleTypeArg, Type } from './types';
|
6
6
|
import { InferenceContext } from './typeUtils';
|
7
|
-
export declare function makeTupleObject(evaluator: TypeEvaluator, typeArgs: TupleTypeArg[], isUnpacked?: boolean):
|
7
|
+
export declare function makeTupleObject(evaluator: TypeEvaluator, typeArgs: TupleTypeArg[], isUnpacked?: boolean): Type;
|
8
8
|
export declare function getTypeOfTuple(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags, inferenceContext?: InferenceContext | undefined): TypeResult;
|
9
9
|
export declare function getTypeOfTupleWithContext(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags, inferenceContext: InferenceContext): TypeResult | undefined;
|
10
10
|
export declare function getTypeOfTupleInferred(evaluator: TypeEvaluator, node: TupleNode, flags: EvalFlags): TypeResult;
|
@@ -206,6 +206,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
206
206
|
let strClass;
|
207
207
|
let dictClass;
|
208
208
|
let moduleTypeClass;
|
209
|
+
let typedDictClass;
|
209
210
|
let typedDictPrivateClass;
|
210
211
|
let supportsKeysAndGetItemClass;
|
211
212
|
let mappingClass;
|
@@ -500,6 +501,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
500
501
|
strClass = getBuiltInType(node, 'str');
|
501
502
|
dictClass = getBuiltInType(node, 'dict');
|
502
503
|
moduleTypeClass = getTypingType(node, 'ModuleType');
|
504
|
+
typedDictClass = getTypingType(node, 'TypedDict');
|
503
505
|
typedDictPrivateClass = getTypingType(node, '_TypedDict');
|
504
506
|
awaitableClass = getTypingType(node, 'Awaitable');
|
505
507
|
mappingClass = getTypingType(node, 'Mapping');
|
@@ -2380,7 +2382,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
2380
2382
|
if (classTypeResults && (0, types_1.isInstantiableClass)(classTypeResults.classType)) {
|
2381
2383
|
enclosingClass = classTypeResults.classType;
|
2382
2384
|
if ((0, types_1.isClassInstance)(baseType)) {
|
2383
|
-
if (types_1.ClassType.isSameGenericClass(baseType, classTypeResults.classType)) {
|
2385
|
+
if (types_1.ClassType.isSameGenericClass(types_1.ClassType.cloneAsInstantiable(baseType), classTypeResults.classType)) {
|
2384
2386
|
assignTypeToMemberVariable(target, typeResult, /* isInstanceMember */ true, srcExpr);
|
2385
2387
|
}
|
2386
2388
|
}
|
@@ -3828,7 +3830,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
3828
3830
|
else {
|
3829
3831
|
// Is this an attempt to delete or overwrite an enum member?
|
3830
3832
|
if ((0, types_1.isClassInstance)(enumMemberResult.type) &&
|
3831
|
-
types_1.ClassType.isSameGenericClass(enumMemberResult.type, baseType) &&
|
3833
|
+
types_1.ClassType.isSameGenericClass(enumMemberResult.type, types_1.ClassType.cloneAsInstance(baseType)) &&
|
3832
3834
|
enumMemberResult.type.priv.literalValue !== undefined) {
|
3833
3835
|
const diagMessage = usage.method === 'set' ? localize_1.LocMessage.enumMemberSet() : localize_1.LocMessage.enumMemberDelete();
|
3834
3836
|
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportAttributeAccessIssue, diagMessage.format({ name: memberName }) + diag.getString(), node.d.member, (_c = diag.getEffectiveTextRange()) !== null && _c !== void 0 ? _c : node.d.member);
|
@@ -4107,7 +4109,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
4107
4109
|
const containingClassType = (_a = getTypeOfClass(containingClass)) === null || _a === void 0 ? void 0 : _a.classType;
|
4108
4110
|
if (containingClassType &&
|
4109
4111
|
(0, types_1.isInstantiableClass)(containingClassType) &&
|
4110
|
-
types_1.ClassType.isSameGenericClass(containingClassType, classType)) {
|
4112
|
+
types_1.ClassType.isSameGenericClass(isAccessedThroughObject ? types_1.ClassType.cloneAsInstance(containingClassType) : containingClassType, classType)) {
|
4111
4113
|
type = (_b = getDeclaredTypeOfSymbol(memberInfo.symbol)) === null || _b === void 0 ? void 0 : _b.type;
|
4112
4114
|
if (type && (0, types_1.isInstantiableClass)(memberInfo.classType)) {
|
4113
4115
|
type = (0, typeUtils_1.partiallySpecializeType)(type, memberInfo.classType,
|
@@ -4165,7 +4167,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
4165
4167
|
// Mark the member accessed if it's not coming from a parent class.
|
4166
4168
|
if (errorNode &&
|
4167
4169
|
(0, types_1.isInstantiableClass)(memberInfo.classType) &&
|
4168
|
-
types_1.ClassType.isSameGenericClass(memberInfo.classType, classType)) {
|
4170
|
+
types_1.ClassType.isSameGenericClass(memberInfo.classType, isAccessedThroughObject ? types_1.ClassType.cloneAsInstantiable(classType) : classType)) {
|
4169
4171
|
setSymbolAccessed(AnalyzerNodeInfo.getFileInfo(errorNode), memberInfo.symbol, errorNode);
|
4170
4172
|
}
|
4171
4173
|
// Special-case `__init_subclass` and `__class_getitem__` because
|
@@ -4521,8 +4523,28 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
4521
4523
|
isAsymmetric = false;
|
4522
4524
|
}
|
4523
4525
|
else {
|
4524
|
-
|
4526
|
+
let getterType = getEffectiveTypeOfSymbol(getterSymbolResult.symbol);
|
4525
4527
|
const setterType = getEffectiveTypeOfSymbol(setterSymbolResult.symbol);
|
4528
|
+
// If this is an overload, find the appropriate overload.
|
4529
|
+
if ((0, types_1.isOverloaded)(getterType)) {
|
4530
|
+
const getOverloads = types_1.OverloadedType.getOverloads(getterType).filter((overload) => {
|
4531
|
+
if (overload.shared.parameters.length < 2) {
|
4532
|
+
return false;
|
4533
|
+
}
|
4534
|
+
const param1Type = types_1.FunctionType.getParamType(overload, 1);
|
4535
|
+
return !(0, typeUtils_1.isNoneInstance)(param1Type);
|
4536
|
+
});
|
4537
|
+
if (getOverloads.length === 1) {
|
4538
|
+
getterType = getOverloads[0];
|
4539
|
+
}
|
4540
|
+
else {
|
4541
|
+
isAsymmetric = true;
|
4542
|
+
}
|
4543
|
+
}
|
4544
|
+
// If this is an overload, find the appropriate overload.
|
4545
|
+
if ((0, types_1.isOverloaded)(setterType)) {
|
4546
|
+
isAsymmetric = true;
|
4547
|
+
}
|
4526
4548
|
// If either the setter or getter is an overload (or some other non-function type),
|
4527
4549
|
// conservatively assume that it's not asymmetric.
|
4528
4550
|
if ((0, types_1.isFunction)(getterType) && (0, types_1.isFunction)(setterType)) {
|
@@ -5195,11 +5217,15 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
5195
5217
|
types_1.ClassType.isPartiallyEvaluated(concreteSubtype);
|
5196
5218
|
const isFinalAnnotation = (0, types_1.isInstantiableClass)(concreteSubtype) && types_1.ClassType.isBuiltIn(concreteSubtype, 'Final');
|
5197
5219
|
const isClassVarAnnotation = (0, types_1.isInstantiableClass)(concreteSubtype) && types_1.ClassType.isBuiltIn(concreteSubtype, 'ClassVar');
|
5220
|
+
// This feature is currently experimental.
|
5221
|
+
const supportsTypedDictTypeArg = AnalyzerNodeInfo.getFileInfo(node).diagnosticRuleSet.enableExperimentalFeatures &&
|
5222
|
+
types_1.ClassType.isBuiltIn(concreteSubtype, 'TypedDict');
|
5198
5223
|
let typeArgs = getTypeArgs(node, flags, {
|
5199
5224
|
isAnnotatedClass,
|
5200
5225
|
hasCustomClassGetItem: hasCustomClassGetItem || !isGenericClass,
|
5201
5226
|
isFinalAnnotation,
|
5202
5227
|
isClassVarAnnotation,
|
5228
|
+
supportsTypedDictTypeArg,
|
5203
5229
|
});
|
5204
5230
|
if (!isAnnotatedClass) {
|
5205
5231
|
typeArgs = adjustTypeArgsForTypeVarTuple(typeArgs, concreteSubtype.shared.typeParams, node);
|
@@ -5586,7 +5612,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
5586
5612
|
};
|
5587
5613
|
}
|
5588
5614
|
else {
|
5589
|
-
typeResult = getTypeArg(expr, adjFlags);
|
5615
|
+
typeResult = getTypeArg(expr, adjFlags, !!(options === null || options === void 0 ? void 0 : options.supportsTypedDictTypeArg) && argIndex === 0);
|
5590
5616
|
}
|
5591
5617
|
return typeResult;
|
5592
5618
|
};
|
@@ -5664,7 +5690,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
5664
5690
|
}
|
5665
5691
|
return undefined;
|
5666
5692
|
}
|
5667
|
-
function getTypeArg(node, flags) {
|
5693
|
+
function getTypeArg(node, flags, supportsDictExpression) {
|
5668
5694
|
let typeResult;
|
5669
5695
|
let adjustedFlags = flags | 128 /* EvalFlags.InstantiableType */ | 1 /* EvalFlags.ConvertEllipsisToAny */ | 8 /* EvalFlags.StrLiteralAsType */;
|
5670
5696
|
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|
@@ -5682,6 +5708,17 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
5682
5708
|
// Set the node's type so it isn't reevaluated later.
|
5683
5709
|
setTypeResultForNode(node, { type: types_1.UnknownType.create() });
|
5684
5710
|
}
|
5711
|
+
else if (node.nodeType === 18 /* ParseNodeType.Dictionary */ && supportsDictExpression) {
|
5712
|
+
const inlinedTypeDict = typedDictClass && (0, types_1.isInstantiableClass)(typedDictClass)
|
5713
|
+
? (0, typedDicts_1.createTypedDictTypeInlined)(evaluatorInterface, node, typedDictClass)
|
5714
|
+
: undefined;
|
5715
|
+
const keyTypeFallback = strClass && (0, types_1.isInstantiableClass)(strClass) ? strClass : types_1.UnknownType.create();
|
5716
|
+
typeResult = {
|
5717
|
+
type: keyTypeFallback,
|
5718
|
+
inlinedTypeDict,
|
5719
|
+
node,
|
5720
|
+
};
|
5721
|
+
}
|
5685
5722
|
else {
|
5686
5723
|
typeResult = { ...getTypeOfExpression(node, adjustedFlags), node };
|
5687
5724
|
if (node.nodeType === 18 /* ParseNodeType.Dictionary */) {
|
@@ -6192,7 +6229,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
6192
6229
|
if (bindToType &&
|
6193
6230
|
types_1.ClassType.isProtocolClass(bindToType) &&
|
6194
6231
|
effectiveTargetClass &&
|
6195
|
-
!types_1.ClassType.isSameGenericClass(bindToType, effectiveTargetClass)) {
|
6232
|
+
!types_1.ClassType.isSameGenericClass(types_1.TypeBase.isInstance(bindToType) ? types_1.ClassType.cloneAsInstantiable(bindToType) : bindToType, effectiveTargetClass)) {
|
6196
6233
|
isProtocolClass = true;
|
6197
6234
|
effectiveTargetClass = undefined;
|
6198
6235
|
}
|
@@ -6248,7 +6285,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
6248
6285
|
// class.
|
6249
6286
|
if (bindToType) {
|
6250
6287
|
let nextBaseClassType;
|
6251
|
-
if (types_1.ClassType.isSameGenericClass(bindToType, concreteTargetClassType)) {
|
6288
|
+
if (types_1.ClassType.isSameGenericClass(types_1.TypeBase.isInstance(bindToType) ? types_1.ClassType.cloneAsInstantiable(bindToType) : bindToType, concreteTargetClassType)) {
|
6252
6289
|
if (bindToType.shared.baseClasses.length > 0) {
|
6253
6290
|
nextBaseClassType = bindToType.shared.baseClasses[0];
|
6254
6291
|
}
|
@@ -9475,7 +9512,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
9475
9512
|
if ((0, typeUtils_1.isNoneInstance)(subtype)) {
|
9476
9513
|
if (objectClass && (0, types_1.isInstantiableClass)(objectClass)) {
|
9477
9514
|
// Use 'object' for 'None'.
|
9478
|
-
return handleSubtype(
|
9515
|
+
return handleSubtype(types_1.ClassType.cloneAsInstance(objectClass));
|
9479
9516
|
}
|
9480
9517
|
}
|
9481
9518
|
if ((0, typeUtils_1.isNoneTypeClass)(subtype)) {
|
@@ -12125,8 +12162,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
12125
12162
|
if (protocolTypeParams) {
|
12126
12163
|
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.duplicateGenericAndProtocolBase(), arg.d.valueExpr);
|
12127
12164
|
}
|
12128
|
-
genericTypeParams =
|
12129
|
-
(0, typeUtils_1.addTypeVarsToListIfUnique)(genericTypeParams, (0, typeUtils_1.getTypeVarArgsRecursive)(argType));
|
12165
|
+
genericTypeParams = buildTypeParamsFromTypeArgs(argType);
|
12130
12166
|
}
|
12131
12167
|
}
|
12132
12168
|
}
|
@@ -12137,8 +12173,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
12137
12173
|
if (genericTypeParams) {
|
12138
12174
|
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.duplicateGenericAndProtocolBase(), arg.d.valueExpr);
|
12139
12175
|
}
|
12140
|
-
protocolTypeParams =
|
12141
|
-
(0, typeUtils_1.addTypeVarsToListIfUnique)(protocolTypeParams, (0, typeUtils_1.getTypeVarArgsRecursive)(argType));
|
12176
|
+
protocolTypeParams = buildTypeParamsFromTypeArgs(argType);
|
12142
12177
|
if (node.d.typeParams && protocolTypeParams.length > 0) {
|
12143
12178
|
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.protocolBaseClassWithTypeArgs(), arg.d.valueExpr);
|
12144
12179
|
protocolTypeParams = [];
|
@@ -12487,6 +12522,22 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
12487
12522
|
return { classType, decoratedType };
|
12488
12523
|
});
|
12489
12524
|
}
|
12525
|
+
function buildTypeParamsFromTypeArgs(classType) {
|
12526
|
+
var _a;
|
12527
|
+
const typeParams = [];
|
12528
|
+
const typeArgs = (_a = classType.priv.typeArgs) !== null && _a !== void 0 ? _a : [];
|
12529
|
+
typeArgs.forEach((typeArg, index) => {
|
12530
|
+
if ((0, types_1.isTypeVar)(typeArg)) {
|
12531
|
+
typeParams.push(typeArg);
|
12532
|
+
return;
|
12533
|
+
}
|
12534
|
+
// Synthesize a dummy type parameter.
|
12535
|
+
const typeVar = types_1.TypeVarType.createInstance(`__P${index}`);
|
12536
|
+
typeVar.shared.isSynthesized = true;
|
12537
|
+
typeParams.push(typeVar);
|
12538
|
+
});
|
12539
|
+
return typeParams;
|
12540
|
+
}
|
12490
12541
|
// Determines whether the type parameters has a default that refers to another
|
12491
12542
|
// type parameter. If so, validates that it is in the list of "live" type
|
12492
12543
|
// parameters and updates the scope of the type parameter referred to in the
|
@@ -13618,6 +13669,17 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
13618
13669
|
}
|
13619
13670
|
writeTypeCache(node.d.suite, { type: inferredReturnType, isIncomplete }, 0 /* EvalFlags.None */);
|
13620
13671
|
}
|
13672
|
+
catch (err) {
|
13673
|
+
// Attempt to handle a stack overflow without crashing. In rare
|
13674
|
+
// cases, we can get very deep stacks when inferring return types
|
13675
|
+
// within untyped code.
|
13676
|
+
if ((err === null || err === void 0 ? void 0 : err.message) === 'Maximum call stack size exceeded') {
|
13677
|
+
const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
|
13678
|
+
console.error(`Overflowed stack when inferring return type for function: ${node.d.name.d.value} in file ${fileInfo.fileUri.toUserVisibleString()}`);
|
13679
|
+
return;
|
13680
|
+
}
|
13681
|
+
throw err;
|
13682
|
+
}
|
13621
13683
|
finally {
|
13622
13684
|
functionRecursionMap.delete(node.id);
|
13623
13685
|
}
|
@@ -14628,7 +14690,11 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
14628
14690
|
}
|
14629
14691
|
case 'TypedDict': {
|
14630
14692
|
if ((flags & (67108864 /* EvalFlags.NoNonTypeSpecialForms */ | 256 /* EvalFlags.TypeExpression */)) !== 0) {
|
14631
|
-
|
14693
|
+
const isInlinedTypedDict = AnalyzerNodeInfo.getFileInfo(errorNode).diagnosticRuleSet.enableExperimentalFeatures &&
|
14694
|
+
!!typeArgs;
|
14695
|
+
if (!isInlinedTypedDict) {
|
14696
|
+
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeForm, localize_1.LocMessage.typedDictNotAllowed(), errorNode);
|
14697
|
+
}
|
14632
14698
|
}
|
14633
14699
|
isValidTypeForm = false;
|
14634
14700
|
break;
|
@@ -14744,7 +14810,18 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
14744
14810
|
if (firstDefaultParamIndex >= 0) {
|
14745
14811
|
minTypeArgCount = firstDefaultParamIndex;
|
14746
14812
|
}
|
14747
|
-
|
14813
|
+
// Classes that accept inlined type dict type args allow only one.
|
14814
|
+
if (typeArgs.length > 0 && typeArgs[0].inlinedTypeDict) {
|
14815
|
+
if (typeArgs.length > 1) {
|
14816
|
+
addDiagnostic(diagnosticRules_1.DiagnosticRule.reportInvalidTypeArguments, localize_1.LocMessage.typeArgsTooMany().format({
|
14817
|
+
name: classType.priv.aliasName || classType.shared.name,
|
14818
|
+
expected: 1,
|
14819
|
+
received: typeArgCount,
|
14820
|
+
}), typeArgs[1].node);
|
14821
|
+
}
|
14822
|
+
return { type: typeArgs[0].inlinedTypeDict };
|
14823
|
+
}
|
14824
|
+
else if (typeArgCount > typeParams.length) {
|
14748
14825
|
if (!types_1.ClassType.isPartiallyEvaluated(classType) && !types_1.ClassType.isTupleClass(classType)) {
|
14749
14826
|
if (typeParams.length === 0) {
|
14750
14827
|
isValidTypeForm = false;
|
@@ -15635,12 +15712,16 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
15635
15712
|
((_c = declaration.node.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 35 /* ParseNodeType.MemberAccess */
|
15636
15713
|
? declaration.node.parent
|
15637
15714
|
: declaration.node;
|
15715
|
+
const allowClassVar = ParseTreeUtils.isClassVarAllowedForAssignmentTarget(declNode);
|
15716
|
+
const allowFinal = ParseTreeUtils.isFinalAllowedForAssignmentTarget(declNode);
|
15717
|
+
const allowRequired = ParseTreeUtils.isRequiredAllowedForAssignmentTarget(declNode) ||
|
15718
|
+
!!declaration.isInInlinedTypedDict;
|
15638
15719
|
declaredType = getTypeOfAnnotation(typeAnnotationNode, {
|
15639
15720
|
varTypeAnnotation: true,
|
15640
|
-
allowClassVar
|
15641
|
-
allowFinal
|
15642
|
-
allowRequired
|
15643
|
-
allowReadOnly:
|
15721
|
+
allowClassVar,
|
15722
|
+
allowFinal,
|
15723
|
+
allowRequired,
|
15724
|
+
allowReadOnly: allowRequired,
|
15644
15725
|
enforceClassTypeVarScope: declaration.isDefinedByMemberAccess,
|
15645
15726
|
});
|
15646
15727
|
}
|
@@ -17467,7 +17548,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
17467
17548
|
// the metaclass of the instantiable dest type.
|
17468
17549
|
const destMetaclass = destType.shared.effectiveMetaclass;
|
17469
17550
|
if (destMetaclass && (0, types_1.isInstantiableClass)(destMetaclass)) {
|
17470
|
-
if (assignClass(types_1.ClassType.
|
17551
|
+
if (assignClass(destMetaclass, types_1.ClassType.cloneAsInstantiable(expandedSrcType), diag, constraints, flags, recursionCount,
|
17471
17552
|
/* reportErrorsUsingObjType */ false)) {
|
17472
17553
|
return true;
|
17473
17554
|
}
|
@@ -19151,6 +19232,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19151
19232
|
var _a, _b;
|
19152
19233
|
const baseParamDetails = (0, parameterUtils_1.getParamListDetails)(baseMethod);
|
19153
19234
|
const overrideParamDetails = (0, parameterUtils_1.getParamListDetails)(overrideMethod);
|
19235
|
+
const constraints = new constraintTracker_1.ConstraintTracker();
|
19154
19236
|
let canOverride = true;
|
19155
19237
|
if (!types_1.FunctionType.isGradualCallableForm(baseMethod) && !types_1.FunctionType.isGradualCallableForm(overrideMethod)) {
|
19156
19238
|
// Verify that we're not overriding a static, class or instance method with
|
@@ -19183,8 +19265,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19183
19265
|
else {
|
19184
19266
|
const overrideArgsType = overrideParamDetails.params[overrideParamDetails.argsIndex].type;
|
19185
19267
|
for (let i = overrideParamDetails.positionParamCount; i < baseParamDetails.positionParamCount; i++) {
|
19186
|
-
if (!assignType(overrideArgsType, baseParamDetails.params[i].type, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
19187
|
-
/* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
|
19268
|
+
if (!assignType(overrideArgsType, baseParamDetails.params[i].type, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, 2 /* AssignTypeFlags.Contravariant */)) {
|
19188
19269
|
localize_1.LocAddendum.overrideParamType().format({
|
19189
19270
|
index: i + 1,
|
19190
19271
|
baseType: printType(baseParamDetails.params[i].type),
|
@@ -19273,8 +19354,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19273
19354
|
const overrideIsSynthesizedTypeVar = (0, types_1.isTypeVar)(overrideParamType) && overrideParamType.shared.isSynthesized;
|
19274
19355
|
if (!exemptSelfClsParam || (!baseIsSynthesizedTypeVar && !overrideIsSynthesizedTypeVar)) {
|
19275
19356
|
if (baseParam.category !== overrideParam.category ||
|
19276
|
-
!assignType(overrideParamType, baseParamType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
19277
|
-
/* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
|
19357
|
+
!assignType(overrideParamType, baseParamType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, 2 /* AssignTypeFlags.Contravariant */)) {
|
19278
19358
|
diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.overrideParamType().format({
|
19279
19359
|
index: i + 1,
|
19280
19360
|
baseType: printType(baseParamType),
|
@@ -19316,8 +19396,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19316
19396
|
else {
|
19317
19397
|
const overrideParamType = overrideParamDetails.params[overrideParamDetails.argsIndex].type;
|
19318
19398
|
const baseParamType = baseParamDetails.params[baseParamDetails.argsIndex].type;
|
19319
|
-
if (!assignType(overrideParamType, baseParamType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
19320
|
-
/* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
|
19399
|
+
if (!assignType(overrideParamType, baseParamType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, 2 /* AssignTypeFlags.Contravariant */)) {
|
19321
19400
|
diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.overrideParamKeywordType().format({
|
19322
19401
|
name: (_b = overrideParamDetails.params[overrideParamDetails.argsIndex].param.name) !== null && _b !== void 0 ? _b : '?',
|
19323
19402
|
baseType: printType(baseParamType),
|
@@ -19344,8 +19423,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19344
19423
|
if (!targetParamType) {
|
19345
19424
|
targetParamType = overrideParamDetails.params[overrideParamDetails.kwargsIndex].type;
|
19346
19425
|
}
|
19347
|
-
if (!assignType(targetParamType, paramInfo.type, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
19348
|
-
/* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
|
19426
|
+
if (!assignType(targetParamType, paramInfo.type, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, 2 /* AssignTypeFlags.Contravariant */)) {
|
19349
19427
|
diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.overrideParamKeywordType().format({
|
19350
19428
|
name: (_b = paramInfo.param.name) !== null && _b !== void 0 ? _b : '?',
|
19351
19429
|
baseType: printType(paramInfo.type),
|
@@ -19403,8 +19481,7 @@ function createTypeEvaluator(importLookup, evaluatorOptions, wrapWithLogger) {
|
|
19403
19481
|
// Now check the return type.
|
19404
19482
|
const baseReturnType = getEffectiveReturnType(baseMethod);
|
19405
19483
|
const overrideReturnType = getEffectiveReturnType(overrideMethod);
|
19406
|
-
if (!assignType(baseReturnType, overrideReturnType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(),
|
19407
|
-
/* constraints */ undefined, 0 /* AssignTypeFlags.Default */)) {
|
19484
|
+
if (!assignType(baseReturnType, overrideReturnType, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), constraints, 0 /* AssignTypeFlags.Default */)) {
|
19408
19485
|
diag === null || diag === void 0 ? void 0 : diag.addMessage(localize_1.LocAddendum.overrideReturnType().format({
|
19409
19486
|
baseType: printType(baseReturnType),
|
19410
19487
|
overrideType: printType(overrideReturnType),
|