@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240804
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/analyzer/analyzerNodeInfo.js +2 -2
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +15 -12
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/cacheManager.js +3 -0
- package/dist/analyzer/cacheManager.js.map +1 -1
- package/dist/analyzer/checker.d.ts +5 -3
- package/dist/analyzer/checker.js +238 -193
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +2 -2
- package/dist/analyzer/codeFlowEngine.js +53 -46
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +1 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolution.d.ts +21 -0
- package/dist/analyzer/constraintSolution.js +71 -0
- package/dist/analyzer/constraintSolution.js.map +1 -0
- package/dist/analyzer/constraintSolver.d.ts +10 -6
- package/dist/analyzer/constraintSolver.js +520 -462
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constraintTracker.d.ts +44 -0
- package/dist/analyzer/constraintTracker.js +230 -0
- package/dist/analyzer/constraintTracker.js.map +1 -0
- package/dist/analyzer/constructorTransform.d.ts +2 -2
- package/dist/analyzer/constructorTransform.js +25 -25
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.d.ts +3 -3
- package/dist/analyzer/constructors.js +80 -64
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.d.ts +2 -2
- package/dist/analyzer/dataClasses.js +87 -61
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +9 -9
- package/dist/analyzer/declaration.js +9 -9
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +6 -6
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +5 -5
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/docStringConversion.js +2 -2
- package/dist/analyzer/docStringConversion.js.map +1 -1
- package/dist/analyzer/enums.d.ts +2 -2
- package/dist/analyzer/enums.js +6 -6
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.d.ts +2 -2
- package/dist/analyzer/functionTransform.js +5 -5
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.js +5 -3
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/namedTuples.d.ts +3 -3
- package/dist/analyzer/namedTuples.js +21 -22
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -2
- package/dist/analyzer/operations.js +105 -82
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +16 -12
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +12 -12
- package/dist/analyzer/parameterUtils.js +67 -69
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +6 -6
- package/dist/analyzer/parseTreeUtils.js +22 -22
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +122 -101
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +11 -4
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.d.ts +3 -2
- package/dist/analyzer/properties.js +27 -27
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.d.ts +3 -3
- package/dist/analyzer/protocols.js +58 -57
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +1 -1
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +3 -7
- package/dist/analyzer/service.js +28 -30
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/serviceUtils.d.ts +8 -0
- package/dist/analyzer/serviceUtils.js +31 -0
- package/dist/analyzer/serviceUtils.js.map +1 -0
- package/dist/analyzer/sourceFile.js +5 -19
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +1 -1
- package/dist/analyzer/sourceMapper.js +4 -4
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +1 -1
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +4 -4
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/tuples.d.ts +9 -0
- package/dist/analyzer/tuples.js +253 -0
- package/dist/analyzer/tuples.js.map +1 -0
- package/dist/analyzer/typeComplexity.d.ts +2 -0
- package/dist/analyzer/typeComplexity.js +94 -0
- package/dist/analyzer/typeComplexity.js.map +1 -0
- package/dist/analyzer/typeEvaluator.js +1758 -1979
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +69 -45
- package/dist/analyzer/typeEvaluatorTypes.js +7 -1
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +157 -121
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +1 -1
- package/dist/analyzer/typePrinter.js +64 -61
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +3 -3
- package/dist/analyzer/typeStubWriter.js +15 -15
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +45 -41
- package/dist/analyzer/typeUtils.js +511 -748
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.js +4 -4
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.d.ts +4 -4
- package/dist/analyzer/typedDicts.js +73 -77
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +97 -72
- package/dist/analyzer/types.js +217 -208
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +1 -0
- package/dist/common/configOptions.js +5 -0
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnosticRules.d.ts +1 -0
- package/dist/common/diagnosticRules.js +1 -0
- package/dist/common/diagnosticRules.js.map +1 -1
- package/dist/common/fileSystem.d.ts +0 -1
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/languageServerInterface.d.ts +13 -0
- package/dist/common/languageServerInterface.js +15 -1
- package/dist/common/languageServerInterface.js.map +1 -1
- package/dist/common/lspUtils.js +2 -2
- package/dist/common/memUtils.d.ts +4 -0
- package/dist/common/memUtils.js +33 -2
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/serviceKeys.d.ts +3 -0
- package/dist/common/serviceKeys.js +2 -0
- package/dist/common/serviceKeys.js.map +1 -1
- package/dist/common/serviceProviderExtensions.js +7 -0
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/languageServerBase.d.ts +5 -4
- package/dist/languageServerBase.js +19 -12
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +3 -2
- package/dist/languageService/autoImporter.js +5 -1
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +5 -3
- package/dist/languageService/completionProvider.js +39 -38
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +1 -1
- package/dist/languageService/completionProviderUtils.js +3 -3
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
- package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
- package/dist/languageService/hoverProvider.js +3 -3
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +2 -2
- package/dist/languageService/signatureHelpProvider.js +1 -1
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +3 -3
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +5 -0
- package/dist/localization/localize.js +6 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.cs.json +5 -1
- package/dist/localization/package.nls.de.json +5 -1
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/localization/package.nls.es.json +5 -1
- package/dist/localization/package.nls.fr.json +5 -1
- package/dist/localization/package.nls.it.json +5 -1
- package/dist/localization/package.nls.ja.json +5 -1
- package/dist/localization/package.nls.ko.json +5 -1
- package/dist/localization/package.nls.pl.json +5 -1
- package/dist/localization/package.nls.pt-br.json +5 -1
- package/dist/localization/package.nls.qps-ploc.json +5 -1
- package/dist/localization/package.nls.ru.json +5 -1
- package/dist/localization/package.nls.tr.json +5 -1
- package/dist/localization/package.nls.zh-cn.json +5 -1
- package/dist/localization/package.nls.zh-tw.json +5 -1
- package/dist/parser/parseNodes.d.ts +9 -9
- package/dist/parser/parseNodes.js +20 -20
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +30 -30
- package/dist/parser/parser.js.map +1 -1
- package/dist/tests/checker.test.js +12 -4
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
- package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
- package/dist/tests/harness/vfs/filesystem.js +0 -4
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +62 -15
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js +1 -1
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +12 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +5 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +10 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +9 -3
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +72 -60
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +6 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +4 -0
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +13 -18
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +3 -2
- package/dist/workspaceFactory.js +15 -2
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +1 -1
- package/dist/analyzer/typeVarContext.d.ts +0 -60
- package/dist/analyzer/typeVarContext.js +0 -392
- package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -77,13 +77,13 @@ function clonePropertyWithSetter(evaluator, prop, fset, errorNode) {
|
|
77
77
|
// can be somewhat expensive, especially in code that is not annotated.
|
78
78
|
const fileInfo = (0, analyzerNodeInfo_1.getFileInfo)(errorNode);
|
79
79
|
if (errorNode.d.params.length >= 2) {
|
80
|
-
const typeAnnotation = (0, parseTreeUtils_1.
|
80
|
+
const typeAnnotation = (0, parseTreeUtils_1.getTypeAnnotationForParam)(errorNode, 1);
|
81
81
|
if (typeAnnotation) {
|
82
82
|
// Verify consistency of the type.
|
83
83
|
const fgetType = evaluator.getGetterTypeFromProperty(classType, /* inferTypeIfNeeded */ false);
|
84
84
|
if (fgetType && !(0, types_1.isAnyOrUnknown)(fgetType)) {
|
85
85
|
const fsetType = evaluator.getTypeOfAnnotation(typeAnnotation, {
|
86
|
-
|
86
|
+
typeVarGetsCurScope: true,
|
87
87
|
});
|
88
88
|
// The setter type should be assignable to the getter type.
|
89
89
|
if (fileInfo.diagnosticRuleSet.reportPropertyTypeMismatch !== 'none') {
|
@@ -171,9 +171,9 @@ function addGetMethodToPropertySymbolTable(evaluator, propertyObject, fget) {
|
|
171
171
|
// The first overload is for accesses through a class object (where
|
172
172
|
// the instance argument is None).
|
173
173
|
const getFunction1 = types_1.FunctionType.createSynthesizedInstance('__get__', 256 /* FunctionTypeFlags.Overloaded */);
|
174
|
-
types_1.FunctionType.
|
175
|
-
types_1.FunctionType.
|
176
|
-
types_1.FunctionType.
|
174
|
+
types_1.FunctionType.addParam(getFunction1, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'self'));
|
175
|
+
types_1.FunctionType.addParam(getFunction1, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, evaluator.getNoneType(), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
|
176
|
+
types_1.FunctionType.addParam(getFunction1, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'objtype', types_1.AnyType.create(/* isEllipsis */ true)));
|
177
177
|
getFunction1.shared.declaredReturnType = types_1.FunctionType.isClassMethod(fget)
|
178
178
|
? types_1.FunctionType.getEffectiveReturnType(fget)
|
179
179
|
: propertyObject;
|
@@ -185,10 +185,10 @@ function addGetMethodToPropertySymbolTable(evaluator, propertyObject, fget) {
|
|
185
185
|
getFunction1.shared.typeVarScopeId = (0, typeUtils_1.getTypeVarScopeId)(fget);
|
186
186
|
// The second overload is for accesses through a class instance.
|
187
187
|
const getFunction2 = types_1.FunctionType.createSynthesizedInstance('__get__', 256 /* FunctionTypeFlags.Overloaded */);
|
188
|
-
types_1.FunctionType.
|
189
|
-
const objType = fget.shared.parameters.length > 0 ? types_1.FunctionType.
|
190
|
-
types_1.FunctionType.
|
191
|
-
types_1.FunctionType.
|
188
|
+
types_1.FunctionType.addParam(getFunction2, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'self'));
|
189
|
+
const objType = fget.shared.parameters.length > 0 ? types_1.FunctionType.getParamType(fget, 0) : types_1.AnyType.create();
|
190
|
+
types_1.FunctionType.addParam(getFunction2, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, objType, types_1.FunctionParamFlags.TypeDeclared, 'obj'));
|
191
|
+
types_1.FunctionType.addParam(getFunction2, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'objtype', types_1.AnyType.create(/* isEllipsis */ true)));
|
192
192
|
getFunction2.shared.declaredReturnType = types_1.FunctionType.getEffectiveReturnType(fget);
|
193
193
|
getFunction2.shared.declaration = fget.shared.declaration;
|
194
194
|
getFunction2.shared.deprecatedMessage = fget.shared.deprecatedMessage;
|
@@ -207,12 +207,12 @@ function addGetMethodToPropertySymbolTable(evaluator, propertyObject, fget) {
|
|
207
207
|
function addSetMethodToPropertySymbolTable(evaluator, propertyObject, fset) {
|
208
208
|
const fields = types_1.ClassType.getSymbolTable(propertyObject);
|
209
209
|
const setFunction = types_1.FunctionType.createSynthesizedInstance('__set__');
|
210
|
-
types_1.FunctionType.
|
211
|
-
let objType = fset.shared.parameters.length > 0 ? types_1.FunctionType.
|
212
|
-
if ((0, types_1.isTypeVar)(objType) &&
|
210
|
+
types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'self'));
|
211
|
+
let objType = fset.shared.parameters.length > 0 ? types_1.FunctionType.getParamType(fset, 0) : types_1.AnyType.create();
|
212
|
+
if ((0, types_1.isTypeVar)(objType) && types_1.TypeVarType.isSelf(objType)) {
|
213
213
|
objType = evaluator.makeTopLevelTypeVarsConcrete(objType);
|
214
214
|
}
|
215
|
-
types_1.FunctionType.
|
215
|
+
types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, (0, types_1.combineTypes)([objType, evaluator.getNoneType()]), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
|
216
216
|
setFunction.shared.declaredReturnType = evaluator.getNoneType();
|
217
217
|
// Adopt the TypeVarScopeId of the fset function in case it has any
|
218
218
|
// TypeVars that need to be solved.
|
@@ -221,28 +221,28 @@ function addSetMethodToPropertySymbolTable(evaluator, propertyObject, fset) {
|
|
221
221
|
setFunction.shared.methodClass = fset.shared.methodClass;
|
222
222
|
let setParamType = types_1.UnknownType.create();
|
223
223
|
if (fset.shared.parameters.length >= 2 &&
|
224
|
-
fset.shared.parameters[1].category === 0 /*
|
224
|
+
fset.shared.parameters[1].category === 0 /* ParamCategory.Simple */ &&
|
225
225
|
fset.shared.parameters[1].name) {
|
226
|
-
setParamType =
|
226
|
+
setParamType = types_1.FunctionType.getParamType(fset, 1);
|
227
227
|
}
|
228
|
-
types_1.FunctionType.
|
228
|
+
types_1.FunctionType.addParam(setFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, setParamType, types_1.FunctionParamFlags.TypeDeclared, 'value'));
|
229
229
|
const setSymbol = symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, setFunction);
|
230
230
|
fields.set('__set__', setSymbol);
|
231
231
|
}
|
232
232
|
function addDelMethodToPropertySymbolTable(evaluator, propertyObject, fdel) {
|
233
233
|
const fields = types_1.ClassType.getSymbolTable(propertyObject);
|
234
234
|
const delFunction = types_1.FunctionType.createSynthesizedInstance('__delete__');
|
235
|
-
types_1.FunctionType.
|
235
|
+
types_1.FunctionType.addParam(delFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'self'));
|
236
236
|
// Adopt the TypeVarScopeId of the fdel function in case it has any
|
237
237
|
// TypeVars that need to be solved.
|
238
238
|
delFunction.shared.typeVarScopeId = (0, typeUtils_1.getTypeVarScopeId)(fdel);
|
239
239
|
delFunction.shared.deprecatedMessage = fdel.shared.deprecatedMessage;
|
240
240
|
delFunction.shared.methodClass = fdel.shared.methodClass;
|
241
|
-
let objType = fdel.shared.parameters.length > 0 ? types_1.FunctionType.
|
242
|
-
if ((0, types_1.isTypeVar)(objType) &&
|
241
|
+
let objType = fdel.shared.parameters.length > 0 ? types_1.FunctionType.getParamType(fdel, 0) : types_1.AnyType.create();
|
242
|
+
if ((0, types_1.isTypeVar)(objType) && types_1.TypeVarType.isSelf(objType)) {
|
243
243
|
objType = evaluator.makeTopLevelTypeVarsConcrete(objType);
|
244
244
|
}
|
245
|
-
types_1.FunctionType.
|
245
|
+
types_1.FunctionType.addParam(delFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, (0, types_1.combineTypes)([objType, evaluator.getNoneType()]), types_1.FunctionParamFlags.TypeDeclared, 'obj'));
|
246
246
|
delFunction.shared.declaredReturnType = evaluator.getNoneType();
|
247
247
|
const delSymbol = symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, delFunction);
|
248
248
|
fields.set('__delete__', delSymbol);
|
@@ -266,14 +266,14 @@ function addDecoratorMethodsToPropertySymbolTable(propertyObject) {
|
|
266
266
|
// Fill in the getter, setter and deleter methods.
|
267
267
|
['getter', 'setter', 'deleter'].forEach((accessorName) => {
|
268
268
|
const accessorFunction = types_1.FunctionType.createSynthesizedInstance(accessorName);
|
269
|
-
types_1.FunctionType.
|
270
|
-
types_1.FunctionType.
|
269
|
+
types_1.FunctionType.addParam(accessorFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'self'));
|
270
|
+
types_1.FunctionType.addParam(accessorFunction, types_1.FunctionParam.create(0 /* ParamCategory.Simple */, types_1.AnyType.create(), types_1.FunctionParamFlags.TypeDeclared, 'accessor'));
|
271
271
|
accessorFunction.shared.declaredReturnType = propertyObject;
|
272
272
|
const accessorSymbol = symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, accessorFunction);
|
273
273
|
fields.set(accessorName, accessorSymbol);
|
274
274
|
});
|
275
275
|
}
|
276
|
-
function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass, srcClass, diag,
|
276
|
+
function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass, srcClass, diag, constraints, selfSolution, recursionCount = 0) {
|
277
277
|
const srcObjectToBind = (0, types_1.isClass)(srcClass) ? types_1.ClassType.cloneAsInstance(srcClass) : undefined;
|
278
278
|
const destObjectToBind = types_1.ClassType.cloneAsInstance(destClass);
|
279
279
|
let isAssignable = true;
|
@@ -307,8 +307,8 @@ function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass,
|
|
307
307
|
evaluator.inferReturnTypeIfNecessary(destAccessType);
|
308
308
|
// If the caller provided a "self" TypeVar context, replace any Self types.
|
309
309
|
// This is needed during protocol matching.
|
310
|
-
if (
|
311
|
-
destAccessType = (0, typeUtils_1.applySolvedTypeVars)(destAccessType,
|
310
|
+
if (selfSolution) {
|
311
|
+
destAccessType = (0, typeUtils_1.applySolvedTypeVars)(destAccessType, selfSolution);
|
312
312
|
}
|
313
313
|
// The access methods of fget, fset and fdel are modeled as static
|
314
314
|
// variables because they do not bind go the "property" class that
|
@@ -326,8 +326,8 @@ function assignProperty(evaluator, destPropertyType, srcPropertyType, destClass,
|
|
326
326
|
/* firstParamType */ undefined, diag === null || diag === void 0 ? void 0 : diag.createAddendum(), recursionCount);
|
327
327
|
if (!boundDestAccessType ||
|
328
328
|
!boundSrcAccessType ||
|
329
|
-
!evaluator.assignType(boundDestAccessType, boundSrcAccessType, diag,
|
330
|
-
/*
|
329
|
+
!evaluator.assignType(boundDestAccessType, boundSrcAccessType, diag, constraints,
|
330
|
+
/* srcConstraints */ undefined, 0 /* AssignTypeFlags.Default */, recursionCount)) {
|
331
331
|
isAssignable = false;
|
332
332
|
}
|
333
333
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../../src/analyzer/properties.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"properties.js","sourceRoot":"","sources":["../../../../../src/analyzer/properties.ts"],"names":[],"mappings":"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"}
|
@@ -1,9 +1,9 @@
|
|
1
1
|
import { DiagnosticAddendum } from '../common/diagnostic';
|
2
|
+
import { ConstraintTracker } from './constraintTracker';
|
2
3
|
import { TypeEvaluator } from './typeEvaluatorTypes';
|
3
4
|
import { ClassType, ModuleType } from './types';
|
4
5
|
import { AssignTypeFlags } from './typeUtils';
|
5
|
-
|
6
|
-
export declare function
|
7
|
-
export declare function assignModuleToProtocol(evaluator: TypeEvaluator, destType: ClassType, srcType: ModuleType, diag: DiagnosticAddendum | undefined, destTypeVarContext: TypeVarContext | undefined, flags: AssignTypeFlags, recursionCount: number): boolean;
|
6
|
+
export declare function assignClassToProtocol(evaluator: TypeEvaluator, destType: ClassType, srcType: ClassType, diag: DiagnosticAddendum | undefined, destConstraints: ConstraintTracker | undefined, srcConstraints: ConstraintTracker | undefined, flags: AssignTypeFlags, recursionCount: number): boolean;
|
7
|
+
export declare function assignModuleToProtocol(evaluator: TypeEvaluator, destType: ClassType, srcType: ModuleType, diag: DiagnosticAddendum | undefined, destConstraints: ConstraintTracker | undefined, flags: AssignTypeFlags, recursionCount: number): boolean;
|
8
8
|
export declare function isMethodOnlyProtocol(classType: ClassType): boolean;
|
9
9
|
export declare function isProtocolUnsafeOverlap(evaluator: TypeEvaluator, protocol: ClassType, classType: ClassType): boolean;
|
@@ -13,16 +13,17 @@ exports.isProtocolUnsafeOverlap = exports.isMethodOnlyProtocol = exports.assignM
|
|
13
13
|
const debug_1 = require("../common/debug");
|
14
14
|
const diagnostic_1 = require("../common/diagnostic");
|
15
15
|
const localize_1 = require("../localization/localize");
|
16
|
+
const constraintSolution_1 = require("./constraintSolution");
|
16
17
|
const constraintSolver_1 = require("./constraintSolver");
|
18
|
+
const constraintTracker_1 = require("./constraintTracker");
|
17
19
|
const properties_1 = require("./properties");
|
18
20
|
const symbolUtils_1 = require("./symbolUtils");
|
19
21
|
const types_1 = require("./types");
|
20
22
|
const typeUtils_1 = require("./typeUtils");
|
21
|
-
const typeVarContext_1 = require("./typeVarContext");
|
22
23
|
const protocolAssignmentStack = [];
|
23
24
|
// Maximum number of different types that are cached with a protocol.
|
24
25
|
const maxProtocolCompatibilityCacheEntries = 64;
|
25
|
-
function assignClassToProtocol(evaluator, destType, srcType, diag,
|
26
|
+
function assignClassToProtocol(evaluator, destType, srcType, diag, destConstraints, srcConstraints, flags, recursionCount) {
|
26
27
|
// We assume that destType is an instantiable class that is a protocol. The
|
27
28
|
// srcType can be an instantiable class or a class instance.
|
28
29
|
(0, debug_1.assert)((0, types_1.isInstantiableClass)(destType) && types_1.ClassType.isProtocolClass(destType));
|
@@ -36,13 +37,13 @@ function assignClassToProtocol(evaluator, destType, srcType, diag, destTypeVarCo
|
|
36
37
|
}
|
37
38
|
// See if we've already determined that this class is compatible with this protocol.
|
38
39
|
if (!enforceInvariance) {
|
39
|
-
const compatibility = getProtocolCompatibility(destType, srcType, flags,
|
40
|
+
const compatibility = getProtocolCompatibility(destType, srcType, flags, destConstraints);
|
40
41
|
if (compatibility !== undefined) {
|
41
42
|
if (compatibility) {
|
42
43
|
// If the caller has provided a destination type var context,
|
43
44
|
// we can't use the cached value unless the dest has no type
|
44
45
|
// parameters to solve.
|
45
|
-
if (!
|
46
|
+
if (!destConstraints || !(0, typeUtils_1.requiresSpecialization)(destType)) {
|
46
47
|
return true;
|
47
48
|
}
|
48
49
|
}
|
@@ -59,9 +60,9 @@ function assignClassToProtocol(evaluator, destType, srcType, diag, destTypeVarCo
|
|
59
60
|
}
|
60
61
|
protocolAssignmentStack.push({ srcType, destType });
|
61
62
|
let isCompatible = true;
|
62
|
-
const
|
63
|
+
const clonedConstraints = destConstraints === null || destConstraints === void 0 ? void 0 : destConstraints.clone();
|
63
64
|
try {
|
64
|
-
isCompatible = assignClassToProtocolInternal(evaluator, destType, srcType, diag,
|
65
|
+
isCompatible = assignClassToProtocolInternal(evaluator, destType, srcType, diag, destConstraints, srcConstraints, flags, recursionCount);
|
65
66
|
}
|
66
67
|
catch (e) {
|
67
68
|
// We'd normally use "finally" here, but the TS debugger does such
|
@@ -71,13 +72,13 @@ function assignClassToProtocol(evaluator, destType, srcType, diag, destTypeVarCo
|
|
71
72
|
}
|
72
73
|
protocolAssignmentStack.pop();
|
73
74
|
// Cache the results for next time.
|
74
|
-
setProtocolCompatibility(destType, srcType, flags,
|
75
|
+
setProtocolCompatibility(destType, srcType, flags, clonedConstraints, isCompatible);
|
75
76
|
return isCompatible;
|
76
77
|
}
|
77
78
|
exports.assignClassToProtocol = assignClassToProtocol;
|
78
|
-
function assignModuleToProtocol(evaluator, destType, srcType, diag,
|
79
|
-
return assignClassToProtocolInternal(evaluator, destType, srcType, diag,
|
80
|
-
/*
|
79
|
+
function assignModuleToProtocol(evaluator, destType, srcType, diag, destConstraints, flags, recursionCount) {
|
80
|
+
return assignClassToProtocolInternal(evaluator, destType, srcType, diag, destConstraints,
|
81
|
+
/* srcConstraints */ undefined, flags, recursionCount);
|
81
82
|
}
|
82
83
|
exports.assignModuleToProtocol = assignModuleToProtocol;
|
83
84
|
// Determines whether the specified class is a protocol class that has
|
@@ -132,7 +133,7 @@ function isProtocolUnsafeOverlap(evaluator, protocol, classType) {
|
|
132
133
|
exports.isProtocolUnsafeOverlap = isProtocolUnsafeOverlap;
|
133
134
|
// Looks up the protocol compatibility in the cache. If it's not found,
|
134
135
|
// return undefined.
|
135
|
-
function getProtocolCompatibility(destType, srcType, flags,
|
136
|
+
function getProtocolCompatibility(destType, srcType, flags, constraints) {
|
136
137
|
const map = srcType.shared.protocolCompatibility;
|
137
138
|
const entries = map === null || map === void 0 ? void 0 : map.get(destType.shared.fullName);
|
138
139
|
if (entries === undefined) {
|
@@ -142,11 +143,11 @@ function getProtocolCompatibility(destType, srcType, flags, typeVarContext) {
|
|
142
143
|
return ((0, types_1.isTypeSame)(entry.destType, destType) &&
|
143
144
|
(0, types_1.isTypeSame)(entry.srcType, srcType) &&
|
144
145
|
entry.flags === flags &&
|
145
|
-
|
146
|
+
isConstraintTrackerSame(constraints, entry.constraints));
|
146
147
|
});
|
147
148
|
return entry === null || entry === void 0 ? void 0 : entry.isCompatible;
|
148
149
|
}
|
149
|
-
function setProtocolCompatibility(destType, srcType, flags,
|
150
|
+
function setProtocolCompatibility(destType, srcType, flags, constraints, isCompatible) {
|
150
151
|
let map = srcType.shared.protocolCompatibility;
|
151
152
|
if (!map) {
|
152
153
|
map = new Map();
|
@@ -161,44 +162,44 @@ function setProtocolCompatibility(destType, srcType, flags, typeVarContext, isCo
|
|
161
162
|
destType,
|
162
163
|
srcType,
|
163
164
|
flags,
|
164
|
-
|
165
|
+
constraints: constraints,
|
165
166
|
isCompatible,
|
166
167
|
});
|
167
168
|
if (entries.length > maxProtocolCompatibilityCacheEntries) {
|
168
169
|
entries.shift();
|
169
170
|
}
|
170
171
|
}
|
171
|
-
function
|
172
|
+
function isConstraintTrackerSame(context1, context2) {
|
172
173
|
if (!context1 || !context2) {
|
173
174
|
return context1 === context2;
|
174
175
|
}
|
175
176
|
return context1.isSame(context2);
|
176
177
|
}
|
177
|
-
function assignClassToProtocolInternal(evaluator, destType, srcType, diag,
|
178
|
+
function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destConstraints, srcConstraints, flags, recursionCount) {
|
178
179
|
var _a, _b;
|
179
180
|
if ((flags & 1 /* AssignTypeFlags.EnforceInvariance */) !== 0) {
|
180
181
|
return (0, types_1.isTypeSame)(destType, srcType);
|
181
182
|
}
|
182
|
-
evaluator.
|
183
|
+
evaluator.inferVarianceForClass(destType);
|
183
184
|
const sourceIsClassObject = (0, types_1.isClass)(srcType) && types_1.TypeBase.isInstantiable(srcType);
|
184
|
-
const
|
185
|
-
const
|
185
|
+
const protocolConstraints = createProtocolConstraints(evaluator, destType, destConstraints);
|
186
|
+
const selfSolution = new constraintSolution_1.ConstraintSolution();
|
186
187
|
let selfType;
|
187
188
|
if ((0, types_1.isClass)(srcType)) {
|
188
189
|
// If the srcType is conditioned on "self", use "Self" as the selfType.
|
189
190
|
// Otherwise use the class type for selfType.
|
190
|
-
const synthCond = (_b = (_a = srcType.props) === null || _a === void 0 ? void 0 : _a.condition) === null || _b === void 0 ? void 0 : _b.find((c) => c.typeVar
|
191
|
+
const synthCond = (_b = (_a = srcType.props) === null || _a === void 0 ? void 0 : _a.condition) === null || _b === void 0 ? void 0 : _b.find((c) => types_1.TypeVarType.isSelf(c.typeVar));
|
191
192
|
if (synthCond) {
|
192
193
|
selfType = (0, typeUtils_1.synthesizeTypeVarForSelfCls)(types_1.TypeBase.cloneForCondition(srcType, undefined),
|
193
194
|
/* isClsType */ false);
|
194
|
-
if (types_1.TypeVarType.
|
195
|
-
selfType = types_1.TypeVarType.
|
195
|
+
if (types_1.TypeVarType.isBound(synthCond.typeVar)) {
|
196
|
+
selfType = types_1.TypeVarType.cloneAsBound(selfType);
|
196
197
|
}
|
197
198
|
}
|
198
199
|
else {
|
199
200
|
selfType = srcType;
|
200
201
|
}
|
201
|
-
(0, typeUtils_1.
|
202
|
+
(0, typeUtils_1.addSolutionForSelfType)(selfSolution, destType, selfType);
|
202
203
|
}
|
203
204
|
// If the source is a TypedDict, use the _TypedDict placeholder class
|
204
205
|
// instead. We don't want to use the TypedDict members for protocol
|
@@ -337,7 +338,7 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
337
338
|
srcMemberType = evaluator.getEffectiveTypeOfSymbol(srcSymbol);
|
338
339
|
}
|
339
340
|
// Replace any "Self" TypeVar within the dest with the source type.
|
340
|
-
destMemberType = (0, typeUtils_1.applySolvedTypeVars)(destMemberType,
|
341
|
+
destMemberType = (0, typeUtils_1.applySolvedTypeVars)(destMemberType, selfSolution);
|
341
342
|
// If the dest is a method, bind it.
|
342
343
|
if ((0, types_1.isFunction)(destMemberType) || (0, types_1.isOverloadedFunction)(destMemberType)) {
|
343
344
|
let boundDeclaredType;
|
@@ -367,7 +368,7 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
367
368
|
if ((0, types_1.isClassInstance)(srcMemberType) &&
|
368
369
|
types_1.ClassType.isPropertyClass(srcMemberType) &&
|
369
370
|
!sourceIsClassObject) {
|
370
|
-
if (!(0, properties_1.assignProperty)(evaluator, types_1.ClassType.cloneAsInstantiable(destMemberType), types_1.ClassType.cloneAsInstantiable(srcMemberType), mroClass, srcType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(),
|
371
|
+
if (!(0, properties_1.assignProperty)(evaluator, types_1.ClassType.cloneAsInstantiable(destMemberType), types_1.ClassType.cloneAsInstantiable(srcMemberType), mroClass, srcType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), protocolConstraints, selfSolution, recursionCount)) {
|
371
372
|
if (subDiag) {
|
372
373
|
subDiag.addMessage(localize_1.LocAddendum.memberTypeMismatch().format({ name }));
|
373
374
|
}
|
@@ -381,8 +382,8 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
381
382
|
getterType = (0, typeUtils_1.partiallySpecializeType)(getterType, mroClass, evaluator.getTypeClassType());
|
382
383
|
}
|
383
384
|
if (!getterType ||
|
384
|
-
!evaluator.assignType(getterType, srcMemberType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(),
|
385
|
-
/*
|
385
|
+
!evaluator.assignType(getterType, srcMemberType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), protocolConstraints,
|
386
|
+
/* srcConstraints */ undefined, assignTypeFlags, recursionCount)) {
|
386
387
|
if (subDiag) {
|
387
388
|
subDiag.addMessage(localize_1.LocAddendum.memberTypeMismatch().format({ name }));
|
388
389
|
}
|
@@ -405,10 +406,9 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
405
406
|
const primaryDecl = destSymbol.getDeclarations()[0];
|
406
407
|
const isInvariant = (primaryDecl === null || primaryDecl === void 0 ? void 0 : primaryDecl.type) === 1 /* DeclarationType.Variable */ && !primaryDecl.isFinal;
|
407
408
|
// Temporarily add the TypeVar scope ID for this method to handle method-scoped TypeVars.
|
408
|
-
const
|
409
|
-
|
410
|
-
|
411
|
-
/* srcTypeVarContext */ undefined, isInvariant ? assignTypeFlags | 1 /* AssignTypeFlags.EnforceInvariance */ : assignTypeFlags, recursionCount)) {
|
409
|
+
const protocolConstraintsClone = protocolConstraints.clone();
|
410
|
+
if (!evaluator.assignType(destMemberType, srcMemberType, subDiag === null || subDiag === void 0 ? void 0 : subDiag.createAddendum(), protocolConstraintsClone,
|
411
|
+
/* srcConstraints */ undefined, isInvariant ? assignTypeFlags | 1 /* AssignTypeFlags.EnforceInvariance */ : assignTypeFlags, recursionCount)) {
|
412
412
|
if (subDiag) {
|
413
413
|
if (isInvariant) {
|
414
414
|
subDiag.addMessage(localize_1.LocAddendum.memberIsInvariant().format({ name }));
|
@@ -418,7 +418,7 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
418
418
|
typesAreConsistent = false;
|
419
419
|
}
|
420
420
|
else {
|
421
|
-
|
421
|
+
protocolConstraints.copyFromClone(protocolConstraintsClone);
|
422
422
|
}
|
423
423
|
}
|
424
424
|
const isDestFinal = destSymbol
|
@@ -492,46 +492,47 @@ function assignClassToProtocolInternal(evaluator, destType, srcType, diag, destT
|
|
492
492
|
});
|
493
493
|
});
|
494
494
|
// If the dest protocol has type parameters, make sure the source type arguments match.
|
495
|
-
if (typesAreConsistent && destType.shared.
|
495
|
+
if (typesAreConsistent && destType.shared.typeParams.length > 0) {
|
496
496
|
// Create a specialized version of the protocol defined by the dest and
|
497
497
|
// make sure the resulting type args can be assigned.
|
498
|
-
const genericProtocolType = types_1.ClassType.
|
499
|
-
|
500
|
-
|
501
|
-
|
502
|
-
if (!evaluator.assignTypeArguments(destType, specializedProtocolType, diag, destTypeVarContext, srcTypeVarContext, flags, recursionCount)) {
|
498
|
+
const genericProtocolType = types_1.ClassType.specialize(destType, undefined);
|
499
|
+
const specializedProtocolType = evaluator.solveAndApplyConstraints(genericProtocolType, protocolConstraints);
|
500
|
+
if (destType.priv.typeArgs) {
|
501
|
+
if (!evaluator.assignTypeArgs(destType, specializedProtocolType, diag, destConstraints, srcConstraints, flags, recursionCount)) {
|
503
502
|
typesAreConsistent = false;
|
504
503
|
}
|
505
504
|
}
|
506
|
-
else if (
|
507
|
-
for (const typeParam of destType.shared.
|
508
|
-
const typeArgEntry =
|
505
|
+
else if (destConstraints && !destConstraints.isLocked()) {
|
506
|
+
for (const typeParam of destType.shared.typeParams) {
|
507
|
+
const typeArgEntry = protocolConstraints.getMainConstraintSet().getTypeVar(typeParam);
|
509
508
|
if (typeArgEntry) {
|
510
|
-
|
509
|
+
destConstraints.setBounds(typeParam, typeArgEntry === null || typeArgEntry === void 0 ? void 0 : typeArgEntry.lowerBound, typeArgEntry === null || typeArgEntry === void 0 ? void 0 : typeArgEntry.lowerBoundNoLiterals, typeArgEntry === null || typeArgEntry === void 0 ? void 0 : typeArgEntry.upperBound);
|
511
510
|
}
|
512
511
|
}
|
513
512
|
}
|
514
513
|
}
|
515
514
|
return typesAreConsistent;
|
516
515
|
}
|
517
|
-
// Given a (possibly-specialized) destType and an optional
|
518
|
-
// a new
|
519
|
-
// the
|
520
|
-
function
|
521
|
-
const
|
522
|
-
destType.shared.
|
523
|
-
const entry =
|
516
|
+
// Given a (possibly-specialized) destType and an optional constraint tracker,
|
517
|
+
// creates a new constraint tracker that combines the constraints from both the
|
518
|
+
// destType and the destConstraints.
|
519
|
+
function createProtocolConstraints(evaluator, destType, constraints) {
|
520
|
+
const protocolConstraints = new constraintTracker_1.ConstraintTracker();
|
521
|
+
destType.shared.typeParams.forEach((typeParam, index) => {
|
522
|
+
const entry = constraints === null || constraints === void 0 ? void 0 : constraints.getMainConstraintSet().getTypeVar(typeParam);
|
524
523
|
if (entry) {
|
525
|
-
|
524
|
+
protocolConstraints.setBounds(typeParam, entry.lowerBound, entry.lowerBoundNoLiterals, entry.upperBound);
|
526
525
|
}
|
527
|
-
else if (destType.priv.
|
528
|
-
let typeArg = destType.priv.
|
526
|
+
else if (destType.priv.typeArgs && index < destType.priv.typeArgs.length) {
|
527
|
+
let typeArg = destType.priv.typeArgs[index];
|
529
528
|
let flags;
|
530
529
|
let hasUnsolvedTypeVars = (0, typeUtils_1.requiresSpecialization)(typeArg);
|
531
530
|
// If the type argument has unsolved TypeVars, see if they have
|
532
|
-
// solved values in the
|
533
|
-
if (hasUnsolvedTypeVars &&
|
534
|
-
typeArg =
|
531
|
+
// solved values in the destConstraints.
|
532
|
+
if (hasUnsolvedTypeVars && constraints) {
|
533
|
+
typeArg = evaluator.solveAndApplyConstraints(typeArg, constraints, /* applyOptions */ undefined, {
|
534
|
+
useLowerBoundOnly: true,
|
535
|
+
});
|
535
536
|
flags = 0 /* AssignTypeFlags.Default */;
|
536
537
|
hasUnsolvedTypeVars = (0, typeUtils_1.requiresSpecialization)(typeArg);
|
537
538
|
}
|
@@ -546,10 +547,10 @@ function createProtocolTypeVarContext(evaluator, destType, destTypeVarContext) {
|
|
546
547
|
}
|
547
548
|
}
|
548
549
|
if (!hasUnsolvedTypeVars) {
|
549
|
-
(0, constraintSolver_1.
|
550
|
+
(0, constraintSolver_1.assignTypeVar)(evaluator, typeParam, typeArg, /* diag */ undefined, protocolConstraints, flags);
|
550
551
|
}
|
551
552
|
}
|
552
553
|
});
|
553
|
-
return
|
554
|
+
return protocolConstraints;
|
554
555
|
}
|
555
556
|
//# sourceMappingURL=protocols.js.map
|
@@ -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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"}
|