@zzzen/pyright-internal 1.2.0-dev.20240728 → 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/binder.js +7 -4
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +2 -1
- package/dist/analyzer/checker.js +135 -83
- 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/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 +9 -5
- package/dist/analyzer/constraintSolver.js +420 -322
- 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.js +15 -15
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +1 -1
- package/dist/analyzer/constructors.js +59 -38
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +35 -32
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/decorators.js +1 -1
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/functionTransform.js +1 -1
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -2
- package/dist/analyzer/operations.js +95 -72
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +8 -4
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +3 -3
- package/dist/analyzer/parameterUtils.js +19 -21
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +21 -19
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.d.ts +3 -2
- package/dist/analyzer/properties.js +11 -11
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +3 -3
- package/dist/analyzer/protocols.js +50 -48
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +2 -2
- package/dist/analyzer/tuples.js +10 -9
- package/dist/analyzer/tuples.js.map +1 -1
- package/dist/analyzer/typeComplexity.js +12 -4
- package/dist/analyzer/typeComplexity.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +806 -778
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +28 -8
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +46 -39
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +17 -15
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +32 -30
- package/dist/analyzer/typeUtils.js +331 -563
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.js +1 -1
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +2 -2
- package/dist/analyzer/typedDicts.js +25 -25
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +24 -21
- package/dist/analyzer/types.js +110 -113
- package/dist/analyzer/types.js.map +1 -1
- package/dist/languageServerBase.d.ts +2 -2
- package/dist/languageServerBase.js +5 -2
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/completionProvider.js +2 -2
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/tests/checker.test.js +10 -2
- package/dist/tests/checker.test.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 +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +4 -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
- package/dist/analyzer/typeVarContext.d.ts +0 -48
- package/dist/analyzer/typeVarContext.js +0 -288
- package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -17,10 +17,12 @@ exports.createFunctionFromConstructor = exports.validateConstructorArgs = export
|
|
17
17
|
const collectionUtils_1 = require("../common/collectionUtils");
|
18
18
|
const diagnostic_1 = require("../common/diagnostic");
|
19
19
|
const diagnosticRules_1 = require("../common/diagnosticRules");
|
20
|
+
const constraintSolution_1 = require("./constraintSolution");
|
21
|
+
const constraintSolver_1 = require("./constraintSolver");
|
22
|
+
const constraintTracker_1 = require("./constraintTracker");
|
20
23
|
const constructorTransform_1 = require("./constructorTransform");
|
21
|
-
const typeUtils_1 = require("./typeUtils");
|
22
|
-
const typeVarContext_1 = require("./typeVarContext");
|
23
24
|
const types_1 = require("./types");
|
25
|
+
const typeUtils_1 = require("./typeUtils");
|
24
26
|
// Fetches and binds the __new__ method from a class.
|
25
27
|
function getBoundNewMethod(evaluator, errorNode, type, diag = undefined, additionalFlags = 4 /* MemberAccessFlags.SkipObjectBaseClass */) {
|
26
28
|
const flags = 32 /* MemberAccessFlags.SkipClassMembers */ |
|
@@ -53,8 +55,9 @@ function validateConstructorArgs(evaluator, errorNode, argList, type, skipUnknow
|
|
53
55
|
// using default type argument values.
|
54
56
|
const aliasInfo = (_a = type.props) === null || _a === void 0 ? void 0 : _a.typeAliasInfo;
|
55
57
|
if ((aliasInfo === null || aliasInfo === void 0 ? void 0 : aliasInfo.typeParams) && !aliasInfo.typeArgs) {
|
56
|
-
|
57
|
-
|
58
|
+
type = (0, typeUtils_1.applySolvedTypeVars)(type, new constraintSolution_1.ConstraintSolution(), {
|
59
|
+
replaceUnsolved: { scopeIds: [aliasInfo.typeVarScopeId], tupleClassType: evaluator.getTupleClassType() },
|
60
|
+
});
|
58
61
|
}
|
59
62
|
const metaclassResult = validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownArgCheck, inferenceContext);
|
60
63
|
if (metaclassResult) {
|
@@ -151,7 +154,12 @@ function validateNewAndInitMethods(evaluator, errorNode, argList, type, skipUnkn
|
|
151
154
|
else if ((0, types_1.isAnyOrUnknown)(newMethodReturnType)) {
|
152
155
|
// If the __new__ method returns Any or Unknown, we'll ignore its return
|
153
156
|
// type and assume that it returns Self.
|
154
|
-
newMethodReturnType = (0, typeUtils_1.applySolvedTypeVars)(types_1.ClassType.cloneAsInstance(type), new
|
157
|
+
newMethodReturnType = (0, typeUtils_1.applySolvedTypeVars)(types_1.ClassType.cloneAsInstance(type), new constraintSolution_1.ConstraintSolution(), {
|
158
|
+
replaceUnsolved: {
|
159
|
+
scopeIds: (0, typeUtils_1.getTypeVarScopeIds)(type),
|
160
|
+
tupleClassType: evaluator.getTupleClassType(),
|
161
|
+
},
|
162
|
+
});
|
155
163
|
}
|
156
164
|
let initMethodTypeResult;
|
157
165
|
// If there were errors evaluating the __new__ method, assume that __new__
|
@@ -232,10 +240,9 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
|
|
232
240
|
let isTypeIncomplete = false;
|
233
241
|
let argumentErrors = false;
|
234
242
|
const overloadsUsedForCall = [];
|
235
|
-
const
|
236
|
-
typeVarContext.addSolveForScope((0, typeUtils_1.getTypeVarScopeId)(newMethodTypeResult.type));
|
243
|
+
const constraints = new constraintTracker_1.ConstraintTracker();
|
237
244
|
const callResult = evaluator.useSpeculativeMode(useSpeculativeModeForArgs ? errorNode : undefined, () => {
|
238
|
-
return evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult,
|
245
|
+
return evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult, constraints, skipUnknownArgCheck, inferenceContext);
|
239
246
|
});
|
240
247
|
if (callResult.isTypeIncomplete) {
|
241
248
|
isTypeIncomplete = true;
|
@@ -243,8 +250,8 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
|
|
243
250
|
if (callResult.argumentErrors) {
|
244
251
|
argumentErrors = true;
|
245
252
|
// Evaluate the arguments in a non-speculative manner to generate any diagnostics.
|
246
|
-
|
247
|
-
evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult,
|
253
|
+
constraints.unlock();
|
254
|
+
evaluator.validateCallArgs(errorNode, argList, newMethodTypeResult, constraints, skipUnknownArgCheck, inferenceContext);
|
248
255
|
}
|
249
256
|
else {
|
250
257
|
newReturnType = callResult.returnType;
|
@@ -265,7 +272,7 @@ function validateNewMethod(evaluator, errorNode, argList, type, skipUnknownArgCh
|
|
265
272
|
}
|
266
273
|
}
|
267
274
|
else {
|
268
|
-
newReturnType = applyExpectedTypeForConstructor(evaluator, type, inferenceContext,
|
275
|
+
newReturnType = applyExpectedTypeForConstructor(evaluator, type, inferenceContext, constraints);
|
269
276
|
}
|
270
277
|
return { argumentErrors, returnType: newReturnType, isTypeIncomplete, overloadsUsedForCall };
|
271
278
|
}
|
@@ -273,12 +280,12 @@ function validateInitMethod(evaluator, errorNode, argList, type, skipUnknownArgC
|
|
273
280
|
let isTypeIncomplete = false;
|
274
281
|
let argumentErrors = false;
|
275
282
|
const overloadsUsedForCall = [];
|
276
|
-
const
|
277
|
-
|
278
|
-
|
279
|
-
|
283
|
+
const constraints = new constraintTracker_1.ConstraintTracker();
|
284
|
+
if (type.priv.typeArgs) {
|
285
|
+
(0, constraintSolver_1.addConstraintsForExpectedType)(evaluator, type, type, constraints, /* liveTypeVarScopes */ undefined);
|
286
|
+
}
|
280
287
|
const returnTypeOverride = (0, typeUtils_1.selfSpecializeClass)(type);
|
281
|
-
const callResult = evaluator.validateCallArgs(errorNode, argList, { type: initMethodType },
|
288
|
+
const callResult = evaluator.validateCallArgs(errorNode, argList, { type: initMethodType }, constraints, skipUnknownArgCheck, inferenceContext ? { ...inferenceContext, returnTypeOverride } : undefined);
|
282
289
|
let adjustedClassType = type;
|
283
290
|
if (callResult.specializedInitSelfType &&
|
284
291
|
(0, types_1.isClassInstance)(callResult.specializedInitSelfType) &&
|
@@ -286,7 +293,7 @@ function validateInitMethod(evaluator, errorNode, argList, type, skipUnknownArgC
|
|
286
293
|
adjustedClassType = types_1.ClassType.cloneAsInstantiable(callResult.specializedInitSelfType);
|
287
294
|
}
|
288
295
|
const returnType = applyExpectedTypeForConstructor(evaluator, adjustedClassType,
|
289
|
-
/* inferenceContext */ undefined,
|
296
|
+
/* inferenceContext */ undefined, constraints);
|
290
297
|
if (callResult.isTypeIncomplete) {
|
291
298
|
isTypeIncomplete = true;
|
292
299
|
}
|
@@ -319,7 +326,7 @@ function validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownA
|
|
319
326
|
return undefined;
|
320
327
|
}
|
321
328
|
const callResult = evaluator.validateCallArgs(errorNode, argList, metaclassCallMethodInfo,
|
322
|
-
/*
|
329
|
+
/* constraints */ undefined, skipUnknownArgCheck, inferenceContext);
|
323
330
|
// If the return type is unannotated, don't use the inferred return type.
|
324
331
|
const callType = metaclassCallMethodInfo.type;
|
325
332
|
if ((0, types_1.isFunction)(callType) && !callType.shared.declaredReturnType) {
|
@@ -331,10 +338,13 @@ function validateMetaclassCall(evaluator, errorNode, argList, type, skipUnknownA
|
|
331
338
|
}
|
332
339
|
return callResult;
|
333
340
|
}
|
334
|
-
function applyExpectedSubtypeForConstructor(evaluator, type, expectedSubtype,
|
335
|
-
const specializedType =
|
336
|
-
|
337
|
-
|
341
|
+
function applyExpectedSubtypeForConstructor(evaluator, type, expectedSubtype, constraints) {
|
342
|
+
const specializedType = evaluator.solveAndApplyConstraints(types_1.ClassType.cloneAsInstance(type), constraints, {
|
343
|
+
replaceUnsolved: {
|
344
|
+
scopeIds: [],
|
345
|
+
tupleClassType: evaluator.getTupleClassType(),
|
346
|
+
},
|
347
|
+
}, { applyUnificationVars: true });
|
338
348
|
if (!evaluator.assignType(expectedSubtype, specializedType)) {
|
339
349
|
return undefined;
|
340
350
|
}
|
@@ -346,16 +356,21 @@ function applyExpectedSubtypeForConstructor(evaluator, type, expectedSubtype, ty
|
|
346
356
|
}
|
347
357
|
// Handles the case where a constructor is a generic type and the type
|
348
358
|
// arguments are not specified but can be provided by the expected type.
|
349
|
-
function applyExpectedTypeForConstructor(evaluator, type, inferenceContext,
|
350
|
-
let
|
359
|
+
function applyExpectedTypeForConstructor(evaluator, type, inferenceContext, constraints) {
|
360
|
+
let defaultIfNotFound = true;
|
351
361
|
// If this isn't a generic type or it's a type that has already been
|
352
362
|
// explicitly specialized, the expected type isn't applicable.
|
353
363
|
if (type.shared.typeParams.length === 0 || type.priv.typeArgs) {
|
354
|
-
return
|
364
|
+
return evaluator.solveAndApplyConstraints(types_1.ClassType.cloneAsInstance(type), constraints, {
|
365
|
+
replaceUnsolved: {
|
366
|
+
scopeIds: [],
|
367
|
+
tupleClassType: evaluator.getTupleClassType(),
|
368
|
+
},
|
369
|
+
}, { applyUnificationVars: true });
|
355
370
|
}
|
356
371
|
if (inferenceContext) {
|
357
372
|
const specializedExpectedType = (0, typeUtils_1.mapSubtypes)(inferenceContext.expectedType, (expectedSubtype) => {
|
358
|
-
return applyExpectedSubtypeForConstructor(evaluator, type, expectedSubtype,
|
373
|
+
return applyExpectedSubtypeForConstructor(evaluator, type, expectedSubtype, constraints);
|
359
374
|
});
|
360
375
|
if (!(0, types_1.isNever)(specializedExpectedType)) {
|
361
376
|
return specializedExpectedType;
|
@@ -364,12 +379,16 @@ function applyExpectedTypeForConstructor(evaluator, type, inferenceContext, type
|
|
364
379
|
// unsolved TypeVars should be considered Unknown unless they were
|
365
380
|
// provided explicitly in the constructor call.
|
366
381
|
if (type.priv.typeArgs) {
|
367
|
-
|
382
|
+
defaultIfNotFound = false;
|
368
383
|
}
|
369
384
|
}
|
370
|
-
const specializedType =
|
371
|
-
|
372
|
-
|
385
|
+
const specializedType = evaluator.solveAndApplyConstraints(type, constraints, {
|
386
|
+
replaceUnsolved: defaultIfNotFound
|
387
|
+
? {
|
388
|
+
scopeIds: (0, typeUtils_1.getTypeVarScopeIds)(type),
|
389
|
+
tupleClassType: evaluator.getTupleClassType(),
|
390
|
+
}
|
391
|
+
: undefined,
|
373
392
|
});
|
374
393
|
return types_1.ClassType.cloneAsInstance(specializedType);
|
375
394
|
}
|
@@ -468,7 +487,7 @@ function createFunctionFromNewMethod(evaluator, classType, selfType, recursionCo
|
|
468
487
|
if (index === 0 || !param.name) {
|
469
488
|
return false;
|
470
489
|
}
|
471
|
-
const paramType = types_1.FunctionType.
|
490
|
+
const paramType = types_1.FunctionType.getParamType(newSubtype, index);
|
472
491
|
const typeVars = (0, typeUtils_1.getTypeVarArgsRecursive)(paramType);
|
473
492
|
return typeVars.some((typeVar) => typeVar.priv.scopeId === (0, typeUtils_1.getTypeVarScopeId)(classType));
|
474
493
|
});
|
@@ -547,20 +566,22 @@ function createFunctionFromInitMethod(evaluator, classType, selfType, recursionC
|
|
547
566
|
// If this is a generic type, self-specialize the class (i.e. fill in
|
548
567
|
// its own type parameters as type arguments).
|
549
568
|
if (objectType.shared.typeParams.length > 0 && !objectType.priv.typeArgs) {
|
550
|
-
const
|
569
|
+
const constraints = new constraintTracker_1.ConstraintTracker();
|
551
570
|
// If a TypeVar is not used in any of the parameter types, it should take
|
552
571
|
// on its default value (typically Unknown) in the resulting specialized type.
|
553
572
|
const typeVarsInParams = [];
|
554
573
|
convertedInit.shared.parameters.forEach((param, index) => {
|
555
|
-
const paramType = types_1.FunctionType.
|
574
|
+
const paramType = types_1.FunctionType.getParamType(convertedInit, index);
|
556
575
|
(0, typeUtils_1.addTypeVarsToListIfUnique)(typeVarsInParams, (0, typeUtils_1.getTypeVarArgsRecursive)(paramType));
|
557
576
|
});
|
558
577
|
typeVarsInParams.forEach((typeVar) => {
|
559
|
-
|
578
|
+
constraints.setBounds(typeVar, typeVar);
|
560
579
|
});
|
561
|
-
returnType =
|
562
|
-
|
563
|
-
|
580
|
+
returnType = evaluator.solveAndApplyConstraints(objectType, constraints, {
|
581
|
+
replaceUnsolved: {
|
582
|
+
scopeIds: (0, typeUtils_1.getTypeVarScopeIds)(objectType),
|
583
|
+
tupleClassType: evaluator.getTupleClassType(),
|
584
|
+
},
|
564
585
|
});
|
565
586
|
}
|
566
587
|
}
|
@@ -648,7 +669,7 @@ function isDefaultNewMethod(newMethod) {
|
|
648
669
|
return false;
|
649
670
|
}
|
650
671
|
const returnType = (_a = newMethod.shared.declaredReturnType) !== null && _a !== void 0 ? _a : newMethod.priv.inferredReturnType;
|
651
|
-
if (!returnType || !(0, types_1.isTypeVar)(returnType) || !
|
672
|
+
if (!returnType || !(0, types_1.isTypeVar)(returnType) || !types_1.TypeVarType.isSelf(returnType)) {
|
652
673
|
return false;
|
653
674
|
}
|
654
675
|
return true;
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"constructors.js","sourceRoot":"","sources":["../../../../../src/analyzer/constructors.ts"],"names":[],"mappings":"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"}
|
@@ -40,6 +40,8 @@ const pythonVersion_1 = require("../common/pythonVersion");
|
|
40
40
|
const localize_1 = require("../localization/localize");
|
41
41
|
const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
|
42
42
|
const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
|
43
|
+
const constraintSolution_1 = require("./constraintSolution");
|
44
|
+
const constraintTracker_1 = require("./constraintTracker");
|
43
45
|
const constructors_1 = require("./constructors");
|
44
46
|
const namedTuples_1 = require("./namedTuples");
|
45
47
|
const parseTreeUtils_1 = require("./parseTreeUtils");
|
@@ -48,7 +50,6 @@ const symbol_1 = require("./symbol");
|
|
48
50
|
const symbolNameUtils_1 = require("./symbolNameUtils");
|
49
51
|
const types_1 = require("./types");
|
50
52
|
const typeUtils_1 = require("./typeUtils");
|
51
|
-
const typeVarContext_1 = require("./typeVarContext");
|
52
53
|
// Validates fields for compatibility with a dataclass and synthesizes
|
53
54
|
// an appropriate __new__ and __init__ methods plus __dataclass_fields__
|
54
55
|
// and __match_args__ class variables.
|
@@ -363,9 +364,9 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
|
|
363
364
|
// transform it to refer to the Self of this subclass.
|
364
365
|
let effectiveType = entry.type;
|
365
366
|
if (entry.classType !== classType && (0, typeUtils_1.requiresSpecialization)(effectiveType)) {
|
366
|
-
const
|
367
|
-
(0, typeUtils_1.
|
368
|
-
effectiveType = (0, typeUtils_1.applySolvedTypeVars)(effectiveType,
|
367
|
+
const solution = new constraintSolution_1.ConstraintSolution();
|
368
|
+
(0, typeUtils_1.addSolutionForSelfType)(solution, entry.classType, classType);
|
369
|
+
effectiveType = (0, typeUtils_1.applySolvedTypeVars)(effectiveType, solution);
|
369
370
|
}
|
370
371
|
// Is the field type a descriptor object? If so, we need to extract the corresponding
|
371
372
|
// type of the __init__ method parameter from the __set__ method.
|
@@ -379,18 +380,15 @@ function synthesizeDataClassMethods(evaluator, node, classType, isNamedTuple, sk
|
|
379
380
|
if (!entry.alias && entry.nameNode && (0, symbolNameUtils_1.isPrivateName)(entry.nameNode.d.value)) {
|
380
381
|
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.dataClassFieldWithPrivateName(), entry.nameNode);
|
381
382
|
}
|
382
|
-
const
|
383
|
+
const param = types_1.FunctionParam.create(0 /* ParamCategory.Simple */, effectiveType, types_1.FunctionParamFlags.TypeDeclared, effectiveName, entry.hasDefault ? entry.type : undefined);
|
383
384
|
if (entry.isKeywordOnly) {
|
384
|
-
keywordOnlyParams.push(
|
385
|
+
keywordOnlyParams.push(param);
|
385
386
|
}
|
386
387
|
else {
|
387
|
-
types_1.FunctionType.addParam(constructorType,
|
388
|
+
types_1.FunctionType.addParam(constructorType, param);
|
388
389
|
}
|
389
390
|
if (replaceType) {
|
390
|
-
const paramWithDefault =
|
391
|
-
...functionParam,
|
392
|
-
defaultType: types_1.AnyType.create(/* isEllipsis */ true),
|
393
|
-
};
|
391
|
+
const paramWithDefault = types_1.FunctionParam.create(param.category, param._type, param.flags, param.name, types_1.AnyType.create(/* isEllipsis */ true));
|
394
392
|
types_1.FunctionType.addParam(replaceType, paramWithDefault);
|
395
393
|
}
|
396
394
|
}
|
@@ -520,19 +518,22 @@ function getDefaultArgValueForFieldSpecifier(evaluator, callNode, callTypeResult
|
|
520
518
|
}
|
521
519
|
}
|
522
520
|
if (callTarget) {
|
523
|
-
const
|
524
|
-
if (
|
521
|
+
const initParamIndex = callTarget.shared.parameters.findIndex((p) => p.name === paramName);
|
522
|
+
if (initParamIndex >= 0) {
|
523
|
+
const initParam = callTarget.shared.parameters[initParamIndex];
|
525
524
|
// Is the parameter type a literal bool?
|
525
|
+
const initParamType = types_1.FunctionType.getParamType(callTarget, initParamIndex);
|
526
526
|
if (types_1.FunctionParam.isTypeDeclared(initParam) &&
|
527
|
-
(0, types_1.isClass)(
|
528
|
-
typeof
|
529
|
-
return
|
527
|
+
(0, types_1.isClass)(initParamType) &&
|
528
|
+
typeof initParamType.priv.literalValue === 'boolean') {
|
529
|
+
return initParamType.priv.literalValue;
|
530
530
|
}
|
531
531
|
// Is the default argument value a literal bool?
|
532
|
-
|
533
|
-
|
534
|
-
|
535
|
-
|
532
|
+
const initParamDefaultType = types_1.FunctionType.getParamDefaultType(callTarget, initParamIndex);
|
533
|
+
if (initParamDefaultType &&
|
534
|
+
(0, types_1.isClass)(initParamDefaultType) &&
|
535
|
+
typeof initParamDefaultType.priv.literalValue === 'boolean') {
|
536
|
+
return initParamDefaultType.priv.literalValue;
|
536
537
|
}
|
537
538
|
}
|
538
539
|
}
|
@@ -560,16 +561,18 @@ function getConverterInputType(evaluator, converterNode, fieldType, fieldName) {
|
|
560
561
|
const diagAddendum = new diagnostic_1.DiagnosticAddendum();
|
561
562
|
(0, typeUtils_1.doForEachSignature)(converterType, (signature) => {
|
562
563
|
var _a;
|
563
|
-
const
|
564
|
+
const returnConstraints = new constraintTracker_1.ConstraintTracker();
|
564
565
|
if (evaluator.assignType((_a = types_1.FunctionType.getEffectiveReturnType(signature)) !== null && _a !== void 0 ? _a : types_1.UnknownType.create(), fieldType,
|
565
|
-
/* diag */ undefined,
|
566
|
-
signature =
|
567
|
-
}
|
568
|
-
const
|
569
|
-
if (evaluator.assignType(targetFunction, signature, diagAddendum,
|
570
|
-
const overloadSolution =
|
571
|
-
|
572
|
-
|
566
|
+
/* diag */ undefined, returnConstraints)) {
|
567
|
+
signature = evaluator.solveAndApplyConstraints(signature, returnConstraints);
|
568
|
+
}
|
569
|
+
const inputConstraints = new constraintTracker_1.ConstraintTracker();
|
570
|
+
if (evaluator.assignType(targetFunction, signature, diagAddendum, inputConstraints)) {
|
571
|
+
const overloadSolution = evaluator.solveAndApplyConstraints(typeVar, inputConstraints, {
|
572
|
+
replaceUnsolved: {
|
573
|
+
scopeIds: (0, typeUtils_1.getTypeVarScopeIds)(typeVar),
|
574
|
+
tupleClassType: evaluator.getTupleClassType(),
|
575
|
+
},
|
573
576
|
});
|
574
577
|
acceptedTypes.push(overloadSolution);
|
575
578
|
}
|
@@ -663,7 +666,7 @@ function transformDescriptorType(evaluator, type) {
|
|
663
666
|
return type;
|
664
667
|
}
|
665
668
|
// The value parameter for a bound __set__ method is parameter index 1.
|
666
|
-
return types_1.FunctionType.
|
669
|
+
return types_1.FunctionType.getParamType(setMethodType, 1);
|
667
670
|
}
|
668
671
|
// Builds a sorted list of dataclass entries that are inherited by
|
669
672
|
// the specified class. These entries must be unique and in reverse-MRO
|
@@ -673,7 +676,7 @@ function addInheritedDataClassEntries(classType, entries) {
|
|
673
676
|
let allAncestorsAreKnown = true;
|
674
677
|
types_1.ClassType.getReverseMro(classType).forEach((mroClass) => {
|
675
678
|
if ((0, types_1.isInstantiableClass)(mroClass)) {
|
676
|
-
const
|
679
|
+
const solution = (0, typeUtils_1.buildSolutionFromSpecializedClass)(mroClass);
|
677
680
|
const dataClassEntries = types_1.ClassType.getDataClassEntries(mroClass);
|
678
681
|
// Add the entries to the end of the list, replacing same-named
|
679
682
|
// entries if found.
|
@@ -682,7 +685,7 @@ function addInheritedDataClassEntries(classType, entries) {
|
|
682
685
|
// If the type from the parent class is generic, we need to convert
|
683
686
|
// to the type parameter namespace of child class.
|
684
687
|
const updatedEntry = { ...entry };
|
685
|
-
updatedEntry.type = (0, typeUtils_1.applySolvedTypeVars)(updatedEntry.type,
|
688
|
+
updatedEntry.type = (0, typeUtils_1.applySolvedTypeVars)(updatedEntry.type, solution);
|
686
689
|
if (entry.isClassVar) {
|
687
690
|
// If this entry is a class variable, it overrides an existing
|
688
691
|
// instance variable, so delete it.
|