@zzzen/pyright-internal 1.2.0-dev.20240630 → 1.2.0-dev.20240714
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 +74 -46
- package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
- package/dist/analyzer/binder.js +507 -513
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +652 -633
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.d.ts +5 -3
- package/dist/analyzer/codeFlowEngine.js +143 -122
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.js +30 -28
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/constraintSolver.d.ts +1 -1
- package/dist/analyzer/constraintSolver.js +71 -67
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/constructorTransform.js +22 -22
- package/dist/analyzer/constructorTransform.js.map +1 -1
- package/dist/analyzer/constructors.js +85 -77
- package/dist/analyzer/constructors.js.map +1 -1
- package/dist/analyzer/dataClasses.js +113 -176
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -1
- package/dist/analyzer/declarationUtils.js +14 -15
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +85 -85
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +71 -57
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/functionTransform.js +8 -18
- package/dist/analyzer/functionTransform.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +2 -1
- package/dist/analyzer/importResolver.js +40 -29
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +27 -27
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +33 -59
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +4 -4
- package/dist/analyzer/operations.js +70 -70
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +66 -62
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.d.ts +4 -4
- package/dist/analyzer/parameterUtils.js +28 -46
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +268 -269
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +76 -76
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +195 -147
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.js +1 -1
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +78 -147
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +22 -22
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +3 -2
- package/dist/analyzer/sourceFile.js +8 -8
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +20 -19
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +83 -84
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/testWalker.js +2 -2
- package/dist/analyzer/testWalker.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +20 -20
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.js +25 -25
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +2330 -2367
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +33 -31
- package/dist/analyzer/typeEvaluatorTypes.js +48 -41
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +221 -217
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +118 -115
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +104 -103
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +26 -9
- package/dist/analyzer/typeUtils.js +460 -404
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.js +8 -8
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typeWalker.js +13 -10
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.js +96 -198
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +147 -103
- package/dist/analyzer/types.js +668 -493
- package/dist/analyzer/types.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +33 -33
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/common/diagnostic.d.ts +14 -0
- package/dist/common/diagnostic.js +41 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +4 -0
- package/dist/common/diagnosticSink.js +21 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/fileSystem.d.ts +1 -0
- package/dist/common/fileSystem.js.map +1 -1
- package/dist/common/fullAccessHost.js +6 -4
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +1 -0
- package/dist/common/realFileSystem.js +4 -0
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/textEditTracker.js +14 -14
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/languageService/autoImporter.js +10 -10
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +23 -23
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +1 -1
- package/dist/languageService/completionProvider.js +156 -154
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +1 -1
- package/dist/languageService/definitionProvider.js +3 -1
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +19 -19
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.js +25 -24
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importSorter.js +8 -8
- package/dist/languageService/importSorter.js.map +1 -1
- package/dist/languageService/referencesProvider.js +8 -8
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +1 -1
- package/dist/languageService/signatureHelpProvider.js +6 -6
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +3 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +13 -13
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/localization/localize.d.ts +3 -0
- package/dist/localization/localize.js +1 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +2 -1
- package/dist/parser/parseNodes.d.ts +468 -401
- package/dist/parser/parseNodes.js +626 -355
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.js +322 -297
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +265 -5
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.js +14 -14
- package/dist/tests/classDeclaration.test.js.map +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js +1 -1
- package/dist/tests/fourslash/hover.init.fourslash.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
- package/dist/tests/harness/vfs/filesystem.js +6 -2
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +4 -3
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +5 -5
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/parser.test.js +8 -8
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +7 -7
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +2 -2
- package/dist/tests/typeEvaluator3.test.js +10 -5
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +1 -1
- package/dist/tests/typeEvaluator7.test.js +2 -2
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +14 -39
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/package.json +1 -1
@@ -53,7 +53,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
53
53
|
// The "rename" parameter is supported only in the untyped version.
|
54
54
|
let allowRename = false;
|
55
55
|
if (!includesTypes) {
|
56
|
-
const renameArg = argList.find((arg) => { var _a; return arg.argumentCategory === 0 /* ArgumentCategory.Simple */ && ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'rename'; });
|
56
|
+
const renameArg = argList.find((arg) => { var _a; return arg.argumentCategory === 0 /* ArgumentCategory.Simple */ && ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.d.value) === 'rename'; });
|
57
57
|
if (renameArg === null || renameArg === void 0 ? void 0 : renameArg.valueExpression) {
|
58
58
|
const renameValue = (0, staticExpressions_1.evaluateStaticBoolExpression)(renameArg.valueExpression, fileInfo.executionEnvironment, fileInfo.definedConstants);
|
59
59
|
if (renameValue === true) {
|
@@ -70,20 +70,20 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
70
70
|
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportArgumentType, localize_1.LocMessage.namedTupleFirstArg(), argList[0].valueExpression || errorNode);
|
71
71
|
}
|
72
72
|
else if (nameArg.valueExpression && nameArg.valueExpression.nodeType === 48 /* ParseNodeType.StringList */) {
|
73
|
-
className = nameArg.valueExpression.strings.map((s) => s.value).join('');
|
73
|
+
className = nameArg.valueExpression.d.strings.map((s) => s.d.value).join('');
|
74
74
|
}
|
75
75
|
}
|
76
76
|
// Is there is a default arg? If so, is it defined in a way that we
|
77
77
|
// can determine its length statically?
|
78
|
-
const defaultsArg = argList.find((arg) => { var _a; return ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.value) === 'defaults'; });
|
78
|
+
const defaultsArg = argList.find((arg) => { var _a; return ((_a = arg.name) === null || _a === void 0 ? void 0 : _a.d.value) === 'defaults'; });
|
79
79
|
let defaultArgCount = 0;
|
80
80
|
if (defaultsArg && defaultsArg.valueExpression) {
|
81
81
|
const defaultsArgType = evaluator.getTypeOfExpression(defaultsArg.valueExpression).type;
|
82
82
|
if ((0, types_1.isClassInstance)(defaultsArgType) &&
|
83
83
|
(0, typeUtils_1.isTupleClass)(defaultsArgType) &&
|
84
84
|
!(0, typeUtils_1.isUnboundedTupleClass)(defaultsArgType) &&
|
85
|
-
defaultsArgType.tupleTypeArguments) {
|
86
|
-
defaultArgCount = defaultsArgType.tupleTypeArguments.length;
|
85
|
+
defaultsArgType.priv.tupleTypeArguments) {
|
86
|
+
defaultArgCount = defaultsArgType.priv.tupleTypeArguments.length;
|
87
87
|
}
|
88
88
|
else {
|
89
89
|
defaultArgCount = undefined;
|
@@ -91,32 +91,22 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
91
91
|
}
|
92
92
|
const namedTupleType = evaluator.getTypingType(errorNode, 'NamedTuple') || types_1.UnknownType.create();
|
93
93
|
const classType = types_1.ClassType.createInstantiable(className, ParseTreeUtils.getClassFullName(errorNode, fileInfo.moduleName, className), fileInfo.moduleName, fileInfo.fileUri, 524288 /* ClassTypeFlags.ReadOnlyInstanceVariables */ | 4194304 /* ClassTypeFlags.ValidTypeAliasClass */, ParseTreeUtils.getTypeSourceId(errorNode),
|
94
|
-
/* declaredMetaclass */ undefined, (0, types_1.isInstantiableClass)(namedTupleType) ? namedTupleType.
|
95
|
-
classType.
|
96
|
-
classType.
|
94
|
+
/* declaredMetaclass */ undefined, (0, types_1.isInstantiableClass)(namedTupleType) ? namedTupleType.shared.effectiveMetaclass : types_1.UnknownType.create());
|
95
|
+
classType.shared.baseClasses.push(namedTupleType);
|
96
|
+
classType.shared.typeVarScopeId = ParseTreeUtils.getScopeIdForNode(errorNode);
|
97
97
|
const classFields = types_1.ClassType.getSymbolTable(classType);
|
98
98
|
classFields.set('__class__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */ | 64 /* SymbolFlags.IgnoredForProtocolMatch */, classType));
|
99
99
|
const classTypeVar = (0, typeUtils_1.synthesizeTypeVarForSelfCls)(classType, /* isClsParam */ true);
|
100
100
|
const constructorType = types_1.FunctionType.createSynthesizedInstance('__new__', 1 /* FunctionTypeFlags.ConstructorMethod */);
|
101
|
-
constructorType.
|
102
|
-
constructorType.
|
101
|
+
constructorType.shared.declaredReturnType = (0, typeUtils_1.convertToInstance)(classTypeVar);
|
102
|
+
constructorType.priv.constructorTypeVarScopeId = (0, typeUtils_1.getTypeVarScopeId)(classType);
|
103
103
|
if (ParseTreeUtils.isAssignmentToDefaultsFollowingNamedTuple(errorNode)) {
|
104
|
-
constructorType.
|
104
|
+
constructorType.shared.flags |= 32 /* FunctionTypeFlags.DisableDefaultChecks */;
|
105
105
|
}
|
106
|
-
constructorType.
|
107
|
-
types_1.FunctionType.addParameter(constructorType,
|
108
|
-
category: 0 /* ParameterCategory.Simple */,
|
109
|
-
name: 'cls',
|
110
|
-
type: classTypeVar,
|
111
|
-
hasDeclaredType: true,
|
112
|
-
});
|
106
|
+
constructorType.shared.typeVarScopeId = classType.shared.typeVarScopeId;
|
107
|
+
types_1.FunctionType.addParameter(constructorType, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, classTypeVar, types_1.FunctionParamFlags.TypeDeclared, 'cls'));
|
113
108
|
const matchArgsNames = [];
|
114
|
-
const selfParameter =
|
115
|
-
category: 0 /* ParameterCategory.Simple */,
|
116
|
-
name: 'self',
|
117
|
-
type: (0, typeUtils_1.synthesizeTypeVarForSelfCls)(classType, /* isClsParam */ false),
|
118
|
-
hasDeclaredType: true,
|
119
|
-
};
|
109
|
+
const selfParameter = types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, (0, typeUtils_1.synthesizeTypeVarForSelfCls)(classType, /* isClsParam */ false), types_1.FunctionParamFlags.TypeDeclared, 'self');
|
120
110
|
let addGenericGetAttribute = false;
|
121
111
|
const entryTypes = [];
|
122
112
|
if (argList.length < 2) {
|
@@ -132,8 +122,8 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
132
122
|
if (!includesTypes &&
|
133
123
|
entriesArg.valueExpression &&
|
134
124
|
entriesArg.valueExpression.nodeType === 48 /* ParseNodeType.StringList */) {
|
135
|
-
const entries = entriesArg.valueExpression.strings
|
136
|
-
.map((s) => s.value)
|
125
|
+
const entries = entriesArg.valueExpression.d.strings
|
126
|
+
.map((s) => s.d.value)
|
137
127
|
.join('')
|
138
128
|
.split(/[,\s]+/);
|
139
129
|
const firstParamWithDefaultIndex = defaultArgCount === undefined ? 0 : Math.max(0, entries.length - defaultArgCount);
|
@@ -142,13 +132,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
142
132
|
if (entryName) {
|
143
133
|
entryName = renameKeyword(evaluator, entryName, allowRename, entriesArg.valueExpression, index);
|
144
134
|
const entryType = types_1.UnknownType.create();
|
145
|
-
const paramInfo =
|
146
|
-
category: 0 /* ParameterCategory.Simple */,
|
147
|
-
name: entryName,
|
148
|
-
type: entryType,
|
149
|
-
hasDeclaredType: includesTypes,
|
150
|
-
hasDefault: index >= firstParamWithDefaultIndex,
|
151
|
-
};
|
135
|
+
const paramInfo = types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, entryType, types_1.FunctionParamFlags.TypeDeclared, entryName, index >= firstParamWithDefaultIndex ? entryType : undefined);
|
152
136
|
types_1.FunctionType.addParameter(constructorType, paramInfo);
|
153
137
|
const newSymbol = symbol_1.Symbol.createWithType(8 /* SymbolFlags.InstanceMember */, entryType);
|
154
138
|
matchArgsNames.push(entryName);
|
@@ -177,8 +161,8 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
177
161
|
const entryList = entriesArg.valueExpression;
|
178
162
|
const entryMap = new Map();
|
179
163
|
const entryExpressions = ((_c = entriesArg.valueExpression) === null || _c === void 0 ? void 0 : _c.nodeType) === 34 /* ParseNodeType.List */
|
180
|
-
? entriesArg.valueExpression.
|
181
|
-
: entriesArg.valueExpression.
|
164
|
+
? entriesArg.valueExpression.d.items
|
165
|
+
: entriesArg.valueExpression.d.items;
|
182
166
|
const firstParamWithDefaultIndex = defaultArgCount === undefined ? 0 : Math.max(0, entryExpressions.length - defaultArgCount);
|
183
167
|
entryExpressions.forEach((entry, index) => {
|
184
168
|
let entryTypeNode;
|
@@ -187,9 +171,9 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
187
171
|
let entryName = '';
|
188
172
|
if (includesTypes) {
|
189
173
|
// Handle the variant that includes name/type tuples.
|
190
|
-
if (entry.nodeType === 52 /* ParseNodeType.Tuple */ && entry.
|
191
|
-
entryNameNode = entry.
|
192
|
-
entryTypeNode = entry.
|
174
|
+
if (entry.nodeType === 52 /* ParseNodeType.Tuple */ && entry.d.items.length === 2) {
|
175
|
+
entryNameNode = entry.d.items[0];
|
176
|
+
entryTypeNode = entry.d.items[1];
|
193
177
|
entryType = (0, typeUtils_1.convertToInstance)(evaluator.getTypeOfExpressionExpectingType(entryTypeNode).type);
|
194
178
|
}
|
195
179
|
else {
|
@@ -205,7 +189,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
205
189
|
if ((0, types_1.isClassInstance)(nameTypeResult.type) &&
|
206
190
|
types_1.ClassType.isBuiltIn(nameTypeResult.type, 'str') &&
|
207
191
|
(0, typeUtils_1.isLiteralType)(nameTypeResult.type)) {
|
208
|
-
entryName = nameTypeResult.type.literalValue;
|
192
|
+
entryName = nameTypeResult.type.priv.literalValue;
|
209
193
|
if (!entryName) {
|
210
194
|
evaluator.addDiagnostic(diagnosticRules_1.DiagnosticRule.reportGeneralTypeIssues, localize_1.LocMessage.namedTupleEmptyName(), entryNameNode);
|
211
195
|
}
|
@@ -231,13 +215,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
231
215
|
if (!entryType) {
|
232
216
|
entryType = types_1.UnknownType.create();
|
233
217
|
}
|
234
|
-
const paramInfo =
|
235
|
-
category: 0 /* ParameterCategory.Simple */,
|
236
|
-
name: entryName,
|
237
|
-
type: entryType,
|
238
|
-
hasDeclaredType: includesTypes,
|
239
|
-
hasDefault: index >= firstParamWithDefaultIndex,
|
240
|
-
};
|
218
|
+
const paramInfo = types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, entryType, includesTypes ? types_1.FunctionParamFlags.TypeDeclared : types_1.FunctionParamFlags.None, entryName, index >= firstParamWithDefaultIndex ? entryType : undefined);
|
241
219
|
types_1.FunctionType.addParameter(constructorType, paramInfo);
|
242
220
|
entryTypes.push(entryType);
|
243
221
|
matchArgsNames.push(entryName);
|
@@ -274,7 +252,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
274
252
|
}
|
275
253
|
}
|
276
254
|
if (addGenericGetAttribute) {
|
277
|
-
constructorType.
|
255
|
+
constructorType.shared.parameters = [];
|
278
256
|
types_1.FunctionType.addDefaultParameters(constructorType);
|
279
257
|
entryTypes.push(types_1.AnyType.create(/* isEllipsis */ false));
|
280
258
|
entryTypes.push(types_1.AnyType.create(/* isEllipsis */ true));
|
@@ -283,23 +261,19 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
283
261
|
const initType = types_1.FunctionType.createSynthesizedInstance('__init__');
|
284
262
|
types_1.FunctionType.addParameter(initType, selfParameter);
|
285
263
|
types_1.FunctionType.addDefaultParameters(initType);
|
286
|
-
initType.
|
287
|
-
initType.
|
264
|
+
initType.shared.declaredReturnType = evaluator.getNoneType();
|
265
|
+
initType.priv.constructorTypeVarScopeId = (0, typeUtils_1.getTypeVarScopeId)(classType);
|
288
266
|
classFields.set('__new__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, constructorType));
|
289
267
|
classFields.set('__init__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, initType));
|
290
268
|
const lenType = types_1.FunctionType.createSynthesizedInstance('__len__');
|
291
|
-
lenType.
|
269
|
+
lenType.shared.declaredReturnType = evaluator.getBuiltInObject(errorNode, 'int');
|
292
270
|
types_1.FunctionType.addParameter(lenType, selfParameter);
|
293
271
|
classFields.set('__len__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, lenType));
|
294
272
|
if (addGenericGetAttribute) {
|
295
273
|
const getAttribType = types_1.FunctionType.createSynthesizedInstance('__getattribute__');
|
296
|
-
getAttribType.
|
274
|
+
getAttribType.shared.declaredReturnType = types_1.AnyType.create();
|
297
275
|
types_1.FunctionType.addParameter(getAttribType, selfParameter);
|
298
|
-
types_1.FunctionType.addParameter(getAttribType,
|
299
|
-
category: 0 /* ParameterCategory.Simple */,
|
300
|
-
name: 'name',
|
301
|
-
type: evaluator.getBuiltInObject(errorNode, 'str'),
|
302
|
-
});
|
276
|
+
types_1.FunctionType.addParameter(getAttribType, types_1.FunctionParam.create(0 /* ParameterCategory.Simple */, evaluator.getBuiltInObject(errorNode, 'str'), types_1.FunctionParamFlags.TypeDeclared, 'name'));
|
303
277
|
classFields.set('__getattribute__', symbol_1.Symbol.createWithType(4 /* SymbolFlags.ClassMember */, getAttribType));
|
304
278
|
}
|
305
279
|
const tupleClassType = evaluator.getBuiltInType(errorNode, 'tuple');
|
@@ -323,7 +297,7 @@ function createNamedTupleType(evaluator, errorNode, argList, includesTypes) {
|
|
323
297
|
exports.createNamedTupleType = createNamedTupleType;
|
324
298
|
function updateNamedTupleBaseClass(classType, typeArgs, isTypeArgumentExplicit) {
|
325
299
|
let isUpdateNeeded = false;
|
326
|
-
classType.
|
300
|
+
classType.shared.baseClasses = classType.shared.baseClasses.map((baseClass) => {
|
327
301
|
if (!(0, types_1.isInstantiableClass)(baseClass) || !types_1.ClassType.isBuiltIn(baseClass, 'NamedTuple')) {
|
328
302
|
return baseClass;
|
329
303
|
}
|
@@ -342,8 +316,8 @@ function updateNamedTupleBaseClass(classType, typeArgs, isTypeArgumentExplicit)
|
|
342
316
|
// Create a copy of the NamedTuple class that replaces the tuple base class.
|
343
317
|
const clonedNamedTupleClass = types_1.ClassType.cloneForSpecialization(baseClass,
|
344
318
|
/* typeArguments */ undefined, isTypeArgumentExplicit);
|
345
|
-
clonedNamedTupleClass.
|
346
|
-
clonedNamedTupleClass.
|
319
|
+
clonedNamedTupleClass.shared = { ...clonedNamedTupleClass.shared };
|
320
|
+
clonedNamedTupleClass.shared.baseClasses = clonedNamedTupleClass.shared.baseClasses.map((namedTupleBaseClass) => {
|
347
321
|
if (!(0, types_1.isInstantiableClass)(namedTupleBaseClass) || !types_1.ClassType.isBuiltIn(namedTupleBaseClass, 'tuple')) {
|
348
322
|
return namedTupleBaseClass;
|
349
323
|
}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"namedTuples.js","sourceRoot":"","sources":["../../../../../src/analyzer/namedTuples.ts"],"names":[],"mappings":"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"}
|
@@ -1,7 +1,7 @@
|
|
1
1
|
import { DiagnosticAddendum } from '../common/diagnostic';
|
2
2
|
import { AugmentedAssignmentNode, BinaryOperationNode, ExpressionNode, TernaryNode, UnaryOperationNode } from '../parser/parseNodes';
|
3
3
|
import { OperatorType } from '../parser/tokenizerTypes';
|
4
|
-
import {
|
4
|
+
import { EvalFlags, TypeEvaluator, TypeResult } from './typeEvaluatorTypes';
|
5
5
|
import { InferenceContext } from './typeUtils';
|
6
6
|
import { Type } from './types';
|
7
7
|
interface BinaryOperationOptions {
|
@@ -9,8 +9,8 @@ interface BinaryOperationOptions {
|
|
9
9
|
isTupleAddAllowed?: boolean;
|
10
10
|
}
|
11
11
|
export declare function validateBinaryOperation(evaluator: TypeEvaluator, operator: OperatorType, leftTypeResult: TypeResult, rightTypeResult: TypeResult, errorNode: ExpressionNode, inferenceContext: InferenceContext | undefined, diag: DiagnosticAddendum, options: BinaryOperationOptions): Type;
|
12
|
-
export declare function getTypeOfBinaryOperation(evaluator: TypeEvaluator, node: BinaryOperationNode, flags:
|
12
|
+
export declare function getTypeOfBinaryOperation(evaluator: TypeEvaluator, node: BinaryOperationNode, flags: EvalFlags, inferenceContext: InferenceContext | undefined): TypeResult;
|
13
13
|
export declare function getTypeOfAugmentedAssignment(evaluator: TypeEvaluator, node: AugmentedAssignmentNode, inferenceContext: InferenceContext | undefined): TypeResult;
|
14
|
-
export declare function getTypeOfUnaryOperation(evaluator: TypeEvaluator, node: UnaryOperationNode, flags:
|
15
|
-
export declare function getTypeOfTernaryOperation(evaluator: TypeEvaluator, node: TernaryNode, flags:
|
14
|
+
export declare function getTypeOfUnaryOperation(evaluator: TypeEvaluator, node: UnaryOperationNode, flags: EvalFlags, inferenceContext: InferenceContext | undefined): TypeResult;
|
15
|
+
export declare function getTypeOfTernaryOperation(evaluator: TypeEvaluator, node: TernaryNode, flags: EvalFlags, inferenceContext: InferenceContext | undefined): TypeResult;
|
16
16
|
export {};
|