@zzzen/pyright-internal 1.2.0-dev.20231210 → 1.2.0-dev.20231224
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 +22 -18
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +25 -13
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/codeFlowTypes.d.ts +0 -1
- package/dist/analyzer/codeFlowTypes.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/importResolver.js +1 -1
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -1
- package/dist/analyzer/operations.js +16 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.d.ts +5 -1
- package/dist/analyzer/packageTypeVerifier.js +59 -41
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +1 -1
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +1 -1
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +23 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/properties.js +3 -0
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/protocols.js +18 -6
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/service.js +12 -10
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceMapper.js +3 -2
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +144 -120
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +4 -4
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +9 -7
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +2 -1
- package/dist/analyzer/typeUtils.js +35 -12
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +0 -1
- package/dist/analyzer/typeVarContext.js +4 -5
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/types.d.ts +7 -4
- package/dist/analyzer/types.js +10 -7
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/fileWatcher.d.ts +1 -1
- package/dist/common/realFileSystem.js +1 -1
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/uri/emptyUri.js +1 -25
- package/dist/common/uri/emptyUri.js.map +1 -1
- package/dist/common/uri/webUri.js +1 -25
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/common/workspaceEditUtils.js +3 -3
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +1 -1
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +10 -2
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/localization/localize.d.ts +4 -0
- package/dist/localization/localize.js +4 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +4 -0
- package/dist/parser/parseNodes.d.ts +1 -0
- package/dist/parser/parseNodes.js +1 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.js +18 -15
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +10 -7
- package/dist/pyright.js.map +1 -1
- package/dist/tests/classDeclaration.test.d.ts +1 -0
- package/dist/tests/classDeclaration.test.js +166 -0
- package/dist/tests/classDeclaration.test.js.map +1 -0
- package/dist/tests/fourslash/fourslash.d.ts +1 -0
- package/dist/tests/fourslash/fourslash.js +2 -2
- package/dist/tests/fourslash/rename.parens.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/rename.parens.fourslash.js +20 -0
- package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.js +47 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/testState.d.ts +2 -0
- package/dist/tests/harness/fourslash/testState.js +16 -0
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +4 -0
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.js +1 -1
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/importResolver.test.js +25 -0
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +60 -29
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +1 -1
- package/dist/tests/typeEvaluator2.test.js +8 -0
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +17 -1
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +13 -1
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/uri.test.js +4 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/package.json +1 -1
package/dist/analyzer/binder.js
CHANGED
@@ -120,7 +120,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
120
120
|
// Bind implicit names.
|
121
121
|
// List taken from https://docs.python.org/3/reference/import.html#__name__
|
122
122
|
this._addImplicitSymbolToCurrentScope('__name__', node, 'str');
|
123
|
-
this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
|
124
123
|
this._addImplicitSymbolToCurrentScope('__loader__', node, 'Any');
|
125
124
|
this._addImplicitSymbolToCurrentScope('__package__', node, 'str');
|
126
125
|
this._addImplicitSymbolToCurrentScope('__spec__', node, 'Any');
|
@@ -244,6 +243,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
244
243
|
AnalyzerNodeInfo.setScope(node, this._currentScope);
|
245
244
|
this._addImplicitSymbolToCurrentScope('__doc__', node, 'str | None');
|
246
245
|
this._addImplicitSymbolToCurrentScope('__module__', node, 'str');
|
246
|
+
this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
|
247
247
|
this._dunderSlotsEntries = undefined;
|
248
248
|
if (!this._moduleSymbolOnly) {
|
249
249
|
// Analyze the suite.
|
@@ -1111,7 +1111,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1111
1111
|
flags: codeFlowTypes_1.FlowFlags.PreFinallyGate,
|
1112
1112
|
id: this._getUniqueFlowNodeId(),
|
1113
1113
|
antecedent: preFinallyReturnOrRaiseLabel,
|
1114
|
-
isGateClosed: false,
|
1115
1114
|
};
|
1116
1115
|
preFinallyLabel.affectedExpressions = this._trackCodeFlowExpressions(() => {
|
1117
1116
|
if (node.finallySuite) {
|
@@ -1460,7 +1459,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1460
1459
|
loadSymbolsFromPath: true,
|
1461
1460
|
range: (0, textRange_1.getEmptyRange)(),
|
1462
1461
|
usesLocalName: false,
|
1463
|
-
moduleName: this._formatModuleName(node.module
|
1462
|
+
moduleName: this._formatModuleName(node.module),
|
1464
1463
|
isInExceptSuite: this._isInExceptSuite,
|
1465
1464
|
};
|
1466
1465
|
// Handle the case where this is an __init__.py file and the imported
|
@@ -1486,7 +1485,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1486
1485
|
symbolName: importedName,
|
1487
1486
|
submoduleFallback,
|
1488
1487
|
range: (0, positionUtils_1.convertTextRangeToRange)(nameNode, this._fileInfo.lines),
|
1489
|
-
moduleName: this._formatModuleName(node.module
|
1488
|
+
moduleName: this._formatModuleName(node.module),
|
1490
1489
|
isInExceptSuite: this._isInExceptSuite,
|
1491
1490
|
isNativeLib: importInfo === null || importInfo === void 0 ? void 0 : importInfo.isNativeLib,
|
1492
1491
|
};
|
@@ -1796,9 +1795,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1796
1795
|
}
|
1797
1796
|
return true;
|
1798
1797
|
}
|
1799
|
-
_formatModuleName(
|
1800
|
-
|
1801
|
-
return nameParts.map((name) => name.value).join('.');
|
1798
|
+
_formatModuleName(node) {
|
1799
|
+
return '.'.repeat(node.leadingDots) + node.nameParts.map((part) => part.value).join('.');
|
1802
1800
|
}
|
1803
1801
|
_removeActiveTypeParameters(node) {
|
1804
1802
|
node.parameters.forEach((typeParamNode) => {
|
@@ -1971,7 +1969,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1971
1969
|
loadSymbolsFromPath: false,
|
1972
1970
|
range: (0, textRange_1.getEmptyRange)(),
|
1973
1971
|
usesLocalName: !!importAlias,
|
1974
|
-
moduleName: importAlias
|
1972
|
+
moduleName: importAlias
|
1973
|
+
? this._formatModuleName(node.module)
|
1974
|
+
: '.'.repeat(node.module.leadingDots) + firstNamePartValue,
|
1975
1975
|
firstNamePart: firstNamePartValue,
|
1976
1976
|
isInExceptSuite: this._isInExceptSuite,
|
1977
1977
|
};
|
@@ -1988,7 +1988,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1988
1988
|
range: (0, textRange_1.getEmptyRange)(),
|
1989
1989
|
usesLocalName: !!importAlias,
|
1990
1990
|
moduleName: (_a = importInfo === null || importInfo === void 0 ? void 0 : importInfo.importName) !== null && _a !== void 0 ? _a : '',
|
1991
|
-
firstNamePart: importAlias
|
1991
|
+
firstNamePart: importAlias
|
1992
|
+
? this._formatModuleName(node.module)
|
1993
|
+
: '.'.repeat(node.module.leadingDots) + firstNamePartValue,
|
1992
1994
|
isUnresolved: true,
|
1993
1995
|
isInExceptSuite: this._isInExceptSuite,
|
1994
1996
|
};
|
@@ -3190,7 +3192,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3190
3192
|
'Optional',
|
3191
3193
|
'Annotated',
|
3192
3194
|
'TypeAlias',
|
3193
|
-
'OrderedDict',
|
3194
3195
|
'Concatenate',
|
3195
3196
|
'TypeGuard',
|
3196
3197
|
'Unpack',
|
@@ -3198,22 +3199,25 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3198
3199
|
'NoReturn',
|
3199
3200
|
'Never',
|
3200
3201
|
'LiteralString',
|
3202
|
+
'OrderedDict',
|
3201
3203
|
]);
|
3202
3204
|
const assignedName = assignedNameNode.value;
|
3203
3205
|
if (!specialTypes.has(assignedName)) {
|
3204
3206
|
return false;
|
3205
3207
|
}
|
3208
|
+
const specialBuiltInClassDeclaration = {
|
3209
|
+
type: 7 /* DeclarationType.SpecialBuiltInClass */,
|
3210
|
+
node: annotationNode,
|
3211
|
+
uri: this._fileInfo.fileUri,
|
3212
|
+
range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
|
3213
|
+
moduleName: this._fileInfo.moduleName,
|
3214
|
+
isInExceptSuite: this._isInExceptSuite,
|
3215
|
+
};
|
3206
3216
|
const symbol = this._bindNameToScope(this._currentScope, annotationNode.valueExpression);
|
3207
3217
|
if (symbol) {
|
3208
|
-
symbol.addDeclaration(
|
3209
|
-
type: 7 /* DeclarationType.SpecialBuiltInClass */,
|
3210
|
-
node: annotationNode,
|
3211
|
-
uri: this._fileInfo.fileUri,
|
3212
|
-
range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
|
3213
|
-
moduleName: this._fileInfo.moduleName,
|
3214
|
-
isInExceptSuite: this._isInExceptSuite,
|
3215
|
-
});
|
3218
|
+
symbol.addDeclaration(specialBuiltInClassDeclaration);
|
3216
3219
|
}
|
3220
|
+
AnalyzerNodeInfo.setDeclaration(node, specialBuiltInClassDeclaration);
|
3217
3221
|
return true;
|
3218
3222
|
}
|
3219
3223
|
_deferBinding(callback) {
|