@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231217
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/analyzerFileInfo.d.ts +4 -3
- package/dist/analyzer/analyzerFileInfo.js.map +1 -1
- package/dist/analyzer/backgroundAnalysisProgram.d.ts +15 -14
- package/dist/analyzer/backgroundAnalysisProgram.js +38 -38
- package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
- package/dist/analyzer/binder.js +67 -62
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +43 -33
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/circularDependency.d.ts +3 -2
- package/dist/analyzer/circularDependency.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +47 -47
- 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/constraintSolver.js +3 -5
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +1 -1
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +5 -3
- package/dist/analyzer/declaration.js +3 -2
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/declarationUtils.d.ts +3 -2
- package/dist/analyzer/declarationUtils.js +14 -12
- package/dist/analyzer/declarationUtils.js.map +1 -1
- package/dist/analyzer/decorators.js +14 -43
- package/dist/analyzer/decorators.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +29 -25
- package/dist/analyzer/importResolver.js +300 -301
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importResult.d.ts +5 -4
- package/dist/analyzer/importResult.js.map +1 -1
- package/dist/analyzer/importStatementUtils.d.ts +5 -4
- package/dist/analyzer/importStatementUtils.js +23 -22
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +3 -3
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/packageTypeReport.d.ts +7 -6
- package/dist/analyzer/packageTypeReport.js +4 -4
- package/dist/analyzer/packageTypeReport.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.js +68 -64
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parentDirectoryCache.d.ts +7 -6
- package/dist/analyzer/parentDirectoryCache.js +9 -10
- package/dist/analyzer/parentDirectoryCache.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.d.ts +1 -1
- package/dist/analyzer/parseTreeUtils.js +7 -4
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +102 -14
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +27 -26
- package/dist/analyzer/program.js +162 -156
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/properties.js +6 -3
- package/dist/analyzer/properties.js.map +1 -1
- package/dist/analyzer/pyTypedUtils.d.ts +3 -2
- package/dist/analyzer/pyTypedUtils.js +4 -5
- package/dist/analyzer/pyTypedUtils.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.d.ts +7 -6
- package/dist/analyzer/pythonPathUtils.js +21 -23
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.d.ts +24 -23
- package/dist/analyzer/service.js +190 -184
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +4 -5
- package/dist/analyzer/sourceFile.js +68 -56
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceFileInfoUtils.js +3 -3
- package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -10
- package/dist/analyzer/sourceMapper.js +61 -63
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/sourceMapperUtils.d.ts +2 -1
- package/dist/analyzer/sourceMapperUtils.js +2 -2
- package/dist/analyzer/sourceMapperUtils.js.map +1 -1
- package/dist/analyzer/tracePrinter.d.ts +3 -2
- package/dist/analyzer/tracePrinter.js +21 -23
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +2 -1
- package/dist/analyzer/typeDocStringUtils.js +14 -17
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +259 -152
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.d.ts +1 -0
- package/dist/analyzer/typeGuards.js +5 -4
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.d.ts +2 -0
- package/dist/analyzer/typePrinter.js +48 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.d.ts +2 -1
- package/dist/analyzer/typeStubWriter.js +2 -2
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +5 -2
- package/dist/analyzer/typeUtils.js +37 -10
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typedDicts.js +4 -4
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +10 -6
- package/dist/analyzer/types.js +7 -5
- package/dist/analyzer/types.js.map +1 -1
- package/dist/backgroundAnalysis.d.ts +1 -2
- package/dist/backgroundAnalysis.js +6 -4
- package/dist/backgroundAnalysis.js.map +1 -1
- package/dist/backgroundAnalysisBase.d.ts +22 -20
- package/dist/backgroundAnalysisBase.js +76 -55
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.d.ts +1 -1
- package/dist/backgroundThreadBase.js +20 -11
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/commands/createTypeStub.js +3 -2
- package/dist/commands/createTypeStub.js.map +1 -1
- package/dist/commands/dumpFileDebugInfoCommand.js +21 -20
- package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
- package/dist/commands/quickActionCommand.js +5 -5
- package/dist/commands/quickActionCommand.js.map +1 -1
- package/dist/common/configOptions.d.ts +14 -13
- package/dist/common/configOptions.js +29 -27
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/diagnostic.d.ts +6 -5
- package/dist/common/diagnostic.js +2 -2
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/diagnosticSink.d.ts +2 -1
- package/dist/common/diagnosticSink.js.map +1 -1
- package/dist/common/editAction.d.ts +6 -5
- package/dist/common/editAction.js +2 -2
- package/dist/common/editAction.js.map +1 -1
- package/dist/common/envVarUtils.d.ts +2 -1
- package/dist/common/envVarUtils.js +20 -28
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +19 -19
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileSystem.d.ts +29 -28
- package/dist/common/fileWatcher.d.ts +2 -1
- package/dist/common/fileWatcher.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +8 -7
- package/dist/common/fullAccessHost.js +21 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +7 -6
- package/dist/common/host.js +1 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/logTracker.d.ts +2 -1
- package/dist/common/logTracker.js +4 -4
- package/dist/common/logTracker.js.map +1 -1
- package/dist/common/pathUtils.d.ts +1 -28
- package/dist/common/pathUtils.js +17 -366
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/realFileSystem.d.ts +7 -3
- package/dist/common/realFileSystem.js +78 -60
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProviderExtensions.d.ts +2 -1
- package/dist/common/serviceProviderExtensions.js +5 -2
- package/dist/common/serviceProviderExtensions.js.map +1 -1
- package/dist/common/textEditTracker.d.ts +2 -1
- package/dist/common/textEditTracker.js +28 -28
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/textRange.d.ts +2 -1
- package/dist/common/textRange.js.map +1 -1
- package/dist/common/uri/baseUri.d.ts +51 -0
- package/dist/common/uri/baseUri.js +194 -0
- package/dist/common/uri/baseUri.js.map +1 -0
- package/dist/common/uri/emptyUri.d.ts +32 -0
- package/dist/common/uri/emptyUri.js +98 -0
- package/dist/common/uri/emptyUri.js.map +1 -0
- package/dist/common/uri/fileUri.d.ts +36 -0
- package/dist/common/uri/fileUri.js +180 -0
- package/dist/common/uri/fileUri.js.map +1 -0
- package/dist/common/uri/memoization.d.ts +3 -0
- package/dist/common/uri/memoization.js +72 -0
- package/dist/common/uri/memoization.js.map +1 -0
- package/dist/common/uri/uri.d.ts +50 -0
- package/dist/common/uri/uri.js +104 -0
- package/dist/common/uri/uri.js.map +1 -0
- package/dist/common/uri/uriUtils.d.ts +39 -0
- package/dist/common/uri/uriUtils.js +362 -0
- package/dist/common/uri/uriUtils.js.map +1 -0
- package/dist/common/uri/webUri.d.ts +36 -0
- package/dist/common/uri/webUri.js +207 -0
- package/dist/common/uri/webUri.js.map +1 -0
- package/dist/common/workspaceEditUtils.d.ts +8 -8
- package/dist/common/workspaceEditUtils.js +35 -38
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.d.ts +19 -22
- package/dist/languageServerBase.js +91 -95
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/analyzerServiceExecutor.d.ts +2 -1
- package/dist/languageService/analyzerServiceExecutor.js +14 -16
- package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
- package/dist/languageService/autoImporter.d.ts +11 -9
- package/dist/languageService/autoImporter.js +45 -44
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.d.ts +3 -2
- package/dist/languageService/callHierarchyProvider.js +23 -35
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/codeActionProvider.d.ts +2 -1
- package/dist/languageService/codeActionProvider.js +8 -10
- package/dist/languageService/codeActionProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +7 -6
- package/dist/languageService/completionProvider.js +32 -30
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +2 -1
- package/dist/languageService/completionProviderUtils.js +1 -1
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +4 -3
- package/dist/languageService/definitionProvider.js +26 -24
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.d.ts +3 -2
- package/dist/languageService/documentHighlightProvider.js +3 -3
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +8 -7
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/documentSymbolProvider.d.ts +5 -4
- package/dist/languageService/documentSymbolProvider.js +9 -11
- package/dist/languageService/documentSymbolProvider.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +4 -3
- package/dist/languageService/hoverProvider.js +6 -5
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/navigationUtils.d.ts +2 -1
- package/dist/languageService/navigationUtils.js +2 -3
- package/dist/languageService/navigationUtils.js.map +1 -1
- package/dist/languageService/quickActions.d.ts +2 -1
- package/dist/languageService/quickActions.js +3 -3
- package/dist/languageService/quickActions.js.map +1 -1
- package/dist/languageService/referencesProvider.d.ts +10 -9
- package/dist/languageService/referencesProvider.js +28 -28
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +4 -3
- package/dist/languageService/renameProvider.js +17 -18
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.d.ts +3 -2
- package/dist/languageService/signatureHelpProvider.js +4 -4
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.d.ts +2 -1
- package/dist/languageService/symbolIndexer.js +11 -3
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.js +10 -4
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.d.ts +4 -3
- package/dist/languageService/workspaceSymbolProvider.js +10 -11
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +2 -0
- package/dist/localization/localize.js +2 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +3 -1
- 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 +16 -15
- package/dist/pyright.js.map +1 -1
- package/dist/pyrightFileSystem.d.ts +13 -13
- package/dist/pyrightFileSystem.js +38 -43
- package/dist/pyrightFileSystem.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.d.ts +29 -28
- package/dist/readonlyAugmentedFileSystem.js +62 -65
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +21 -20
- package/dist/server.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +39 -30
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +31 -30
- package/dist/tests/checker.test.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/completions.test.js +7 -3
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +24 -22
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/documentSymbolCollector.test.js +3 -2
- package/dist/tests/documentSymbolCollector.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +37 -35
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +4 -4
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js +27 -11
- package/dist/tests/fourslash/hover.docstring.alias.fourslash.js.map +1 -1
- package/dist/tests/harness/fourslash/fourSlashParser.js +2 -2
- package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.d.ts +4 -5
- package/dist/tests/harness/fourslash/testLanguageService.js +9 -15
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.d.ts +4 -4
- package/dist/tests/harness/fourslash/testState.js +91 -51
- 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/testAccessHost.d.ts +3 -2
- package/dist/tests/harness/testAccessHost.js +2 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +13 -11
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/vfs/factory.d.ts +3 -2
- package/dist/tests/harness/vfs/factory.js +5 -4
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.d.ts +32 -31
- package/dist/tests/harness/vfs/filesystem.js +47 -49
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +1 -10
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +106 -58
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +10 -9
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/ipythonMode.test.js +12 -11
- package/dist/tests/ipythonMode.test.js.map +1 -1
- package/dist/tests/logger.test.js +2 -1
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/parseTreeUtils.test.js +2 -1
- package/dist/tests/parseTreeUtils.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +3 -138
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +38 -34
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/service.test.js +37 -42
- package/dist/tests/service.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +3 -2
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +8 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +73 -35
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +13 -9
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testStateUtils.d.ts +2 -5
- package/dist/tests/testStateUtils.js +27 -64
- package/dist/tests/testStateUtils.js.map +1 -1
- package/dist/tests/testUtils.d.ts +3 -5
- package/dist/tests/testUtils.js +15 -64
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textEditUtil.test.js +4 -3
- package/dist/tests/textEditUtil.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +16 -15
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +22 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +86 -63
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +29 -20
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +28 -27
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +4 -3
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.d.ts +1 -0
- package/dist/tests/uri.test.js +695 -0
- package/dist/tests/uri.test.js.map +1 -0
- package/dist/tests/workspaceEditUtils.test.js +28 -28
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +11 -11
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/workspaceFactory.d.ts +13 -14
- package/dist/workspaceFactory.js +54 -55
- package/dist/workspaceFactory.js.map +1 -1
- package/package.json +2 -2
- package/dist/common/uriParser.d.ts +0 -24
- package/dist/common/uriParser.js +0 -45
- package/dist/common/uriParser.js.map +0 -1
package/dist/analyzer/binder.js
CHANGED
@@ -47,6 +47,7 @@ const diagnosticRules_1 = require("../common/diagnosticRules");
|
|
47
47
|
const pathUtils_1 = require("../common/pathUtils");
|
48
48
|
const positionUtils_1 = require("../common/positionUtils");
|
49
49
|
const textRange_1 = require("../common/textRange");
|
50
|
+
const uri_1 = require("../common/uri/uri");
|
50
51
|
const localize_1 = require("../localization/localize");
|
51
52
|
const AnalyzerNodeInfo = __importStar(require("./analyzerNodeInfo"));
|
52
53
|
const codeFlowTypes_1 = require("./codeFlowTypes");
|
@@ -119,7 +120,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
119
120
|
// Bind implicit names.
|
120
121
|
// List taken from https://docs.python.org/3/reference/import.html#__name__
|
121
122
|
this._addImplicitSymbolToCurrentScope('__name__', node, 'str');
|
122
|
-
this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
|
123
123
|
this._addImplicitSymbolToCurrentScope('__loader__', node, 'Any');
|
124
124
|
this._addImplicitSymbolToCurrentScope('__package__', node, 'str');
|
125
125
|
this._addImplicitSymbolToCurrentScope('__spec__', node, 'Any');
|
@@ -224,7 +224,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
224
224
|
const classDeclaration = {
|
225
225
|
type: 6 /* DeclarationType.Class */,
|
226
226
|
node,
|
227
|
-
|
227
|
+
uri: this._fileInfo.fileUri,
|
228
228
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
|
229
229
|
moduleName: this._fileInfo.moduleName,
|
230
230
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -243,6 +243,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
243
243
|
AnalyzerNodeInfo.setScope(node, this._currentScope);
|
244
244
|
this._addImplicitSymbolToCurrentScope('__doc__', node, 'str | None');
|
245
245
|
this._addImplicitSymbolToCurrentScope('__module__', node, 'str');
|
246
|
+
this._addImplicitSymbolToCurrentScope('__qualname__', node, 'str');
|
246
247
|
this._dunderSlotsEntries = undefined;
|
247
248
|
if (!this._moduleSymbolOnly) {
|
248
249
|
// Analyze the suite.
|
@@ -269,7 +270,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
269
270
|
node,
|
270
271
|
isMethod: !!containingClassNode,
|
271
272
|
isGenerator: false,
|
272
|
-
|
273
|
+
uri: this._fileInfo.fileUri,
|
273
274
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
|
274
275
|
moduleName: this._fileInfo.moduleName,
|
275
276
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -329,7 +330,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
329
330
|
const paramDeclaration = {
|
330
331
|
type: 2 /* DeclarationType.Parameter */,
|
331
332
|
node: paramNode,
|
332
|
-
|
333
|
+
uri: this._fileInfo.fileUri,
|
333
334
|
range: (0, positionUtils_1.convertTextRangeToRange)(paramNode, this._fileInfo.lines),
|
334
335
|
moduleName: this._fileInfo.moduleName,
|
335
336
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -387,7 +388,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
387
388
|
const paramDeclaration = {
|
388
389
|
type: 2 /* DeclarationType.Parameter */,
|
389
390
|
node: paramNode,
|
390
|
-
|
391
|
+
uri: this._fileInfo.fileUri,
|
391
392
|
range: (0, positionUtils_1.convertTextRangeToRange)(paramNode, this._fileInfo.lines),
|
392
393
|
moduleName: this._fileInfo.moduleName,
|
393
394
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -511,7 +512,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
511
512
|
const paramDeclaration = {
|
512
513
|
type: 3 /* DeclarationType.TypeParameter */,
|
513
514
|
node: param,
|
514
|
-
|
515
|
+
uri: this._fileInfo.fileUri,
|
515
516
|
range: (0, positionUtils_1.convertTextRangeToRange)(node, this._fileInfo.lines),
|
516
517
|
moduleName: this._fileInfo.moduleName,
|
517
518
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -542,10 +543,11 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
542
543
|
const typeAliasDeclaration = {
|
543
544
|
type: 4 /* DeclarationType.TypeAlias */,
|
544
545
|
node,
|
545
|
-
|
546
|
+
uri: this._fileInfo.fileUri,
|
546
547
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
|
547
548
|
moduleName: this._fileInfo.moduleName,
|
548
549
|
isInExceptSuite: this._isInExceptSuite,
|
550
|
+
docString: this._getVariableDocString(node.expression),
|
549
551
|
};
|
550
552
|
const symbol = this._bindNameToScope(this._currentScope, node.name);
|
551
553
|
if (symbol) {
|
@@ -1017,7 +1019,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1017
1019
|
node: node.name,
|
1018
1020
|
isConstant: (0, symbolNameUtils_1.isConstantName)(node.name.value),
|
1019
1021
|
inferredTypeSource: node,
|
1020
|
-
|
1022
|
+
uri: this._fileInfo.fileUri,
|
1021
1023
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
|
1022
1024
|
moduleName: this._fileInfo.moduleName,
|
1023
1025
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1109,7 +1111,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1109
1111
|
flags: codeFlowTypes_1.FlowFlags.PreFinallyGate,
|
1110
1112
|
id: this._getUniqueFlowNodeId(),
|
1111
1113
|
antecedent: preFinallyReturnOrRaiseLabel,
|
1112
|
-
isGateClosed: false,
|
1113
1114
|
};
|
1114
1115
|
preFinallyLabel.affectedExpressions = this._trackCodeFlowExpressions(() => {
|
1115
1116
|
if (node.finallySuite) {
|
@@ -1301,9 +1302,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1301
1302
|
const dataclassesSymbolsOfInterest = ['InitVar'];
|
1302
1303
|
const importInfo = AnalyzerNodeInfo.getImportInfo(node.module);
|
1303
1304
|
AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
|
1304
|
-
let resolvedPath =
|
1305
|
+
let resolvedPath = uri_1.Uri.empty();
|
1305
1306
|
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib) {
|
1306
|
-
resolvedPath = importInfo.
|
1307
|
+
resolvedPath = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
|
1307
1308
|
}
|
1308
1309
|
// If this file is a module __init__.py(i), relative imports of submodules
|
1309
1310
|
// using the syntax "from .x import y" introduce a symbol x into the
|
@@ -1311,7 +1312,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1311
1312
|
// symbols below) in case one of the imported symbols is the same name as the
|
1312
1313
|
// submodule. In that case, we want to the symbol to appear later in the
|
1313
1314
|
// declaration list because it should "win" when resolving the alias.
|
1314
|
-
const fileName = (0, pathUtils_1.stripFileExtension)(
|
1315
|
+
const fileName = (0, pathUtils_1.stripFileExtension)(this._fileInfo.fileUri.fileName);
|
1315
1316
|
const isModuleInitFile = fileName === '__init__' && node.module.leadingDots === 1 && node.module.nameParts.length === 1;
|
1316
1317
|
let isTypingImport = false;
|
1317
1318
|
let isDataclassesImport = false;
|
@@ -1356,7 +1357,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1356
1357
|
const aliasDecl = {
|
1357
1358
|
type: 8 /* DeclarationType.Alias */,
|
1358
1359
|
node,
|
1359
|
-
|
1360
|
+
uri: resolvedPath,
|
1360
1361
|
loadSymbolsFromPath: true,
|
1361
1362
|
range: (0, textRange_1.getEmptyRange)(),
|
1362
1363
|
usesLocalName: false,
|
@@ -1376,7 +1377,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1376
1377
|
const submoduleFallback = {
|
1377
1378
|
type: 8 /* DeclarationType.Alias */,
|
1378
1379
|
node,
|
1379
|
-
|
1380
|
+
uri: implicitImport.uri,
|
1380
1381
|
loadSymbolsFromPath: true,
|
1381
1382
|
range: (0, textRange_1.getEmptyRange)(),
|
1382
1383
|
usesLocalName: false,
|
@@ -1386,7 +1387,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1386
1387
|
const aliasDecl = {
|
1387
1388
|
type: 8 /* DeclarationType.Alias */,
|
1388
1389
|
node,
|
1389
|
-
|
1390
|
+
uri: resolvedPath,
|
1390
1391
|
loadSymbolsFromPath: true,
|
1391
1392
|
usesLocalName: false,
|
1392
1393
|
symbolName: name,
|
@@ -1454,7 +1455,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1454
1455
|
submoduleFallback = {
|
1455
1456
|
type: 8 /* DeclarationType.Alias */,
|
1456
1457
|
node: importSymbolNode,
|
1457
|
-
|
1458
|
+
uri: implicitImport.uri,
|
1458
1459
|
loadSymbolsFromPath: true,
|
1459
1460
|
range: (0, textRange_1.getEmptyRange)(),
|
1460
1461
|
usesLocalName: false,
|
@@ -1470,7 +1471,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1470
1471
|
if (node.module.leadingDots === 1 && node.module.nameParts.length === 0) {
|
1471
1472
|
loadSymbolsFromPath = false;
|
1472
1473
|
}
|
1473
|
-
else if (resolvedPath
|
1474
|
+
else if (resolvedPath.equals(this._fileInfo.fileUri)) {
|
1474
1475
|
loadSymbolsFromPath = false;
|
1475
1476
|
}
|
1476
1477
|
}
|
@@ -1478,7 +1479,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1478
1479
|
const aliasDecl = {
|
1479
1480
|
type: 8 /* DeclarationType.Alias */,
|
1480
1481
|
node: importSymbolNode,
|
1481
|
-
|
1482
|
+
uri: resolvedPath,
|
1482
1483
|
loadSymbolsFromPath,
|
1483
1484
|
usesLocalName: !!importSymbolNode.alias,
|
1484
1485
|
symbolName: importedName,
|
@@ -1772,7 +1773,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1772
1773
|
node: node.target,
|
1773
1774
|
isConstant: (0, symbolNameUtils_1.isConstantName)(node.target.value),
|
1774
1775
|
inferredTypeSource: node,
|
1775
|
-
|
1776
|
+
uri: this._fileInfo.fileUri,
|
1776
1777
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.target, this._fileInfo.lines),
|
1777
1778
|
moduleName: this._fileInfo.moduleName,
|
1778
1779
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1841,7 +1842,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1841
1842
|
node: slotNameNode,
|
1842
1843
|
isConstant: (0, symbolNameUtils_1.isConstantName)(slotName),
|
1843
1844
|
isDefinedBySlots: true,
|
1844
|
-
|
1845
|
+
uri: this._fileInfo.fileUri,
|
1845
1846
|
range: (0, positionUtils_1.convertTextRangeToRange)(slotNameNode, this._fileInfo.lines),
|
1846
1847
|
moduleName: this._fileInfo.moduleName,
|
1847
1848
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1883,7 +1884,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1883
1884
|
node: target,
|
1884
1885
|
isConstant: (0, symbolNameUtils_1.isConstantName)(target.value),
|
1885
1886
|
inferredTypeSource: target.parent,
|
1886
|
-
|
1887
|
+
uri: this._fileInfo.fileUri,
|
1887
1888
|
range: (0, positionUtils_1.convertTextRangeToRange)(target, this._fileInfo.lines),
|
1888
1889
|
moduleName: this._fileInfo.moduleName,
|
1889
1890
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1907,20 +1908,22 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1907
1908
|
}
|
1908
1909
|
// There should be only one declaration for the variable.
|
1909
1910
|
const aliasDecl = varSymbol.getDeclarations().find((decl) => decl.type === 8 /* DeclarationType.Alias */);
|
1910
|
-
const
|
1911
|
-
? aliasDecl.
|
1912
|
-
: ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.
|
1913
|
-
|
1911
|
+
const resolvedUri = (aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.uri) && !aliasDecl.uri.isEmpty() && aliasDecl.loadSymbolsFromPath
|
1912
|
+
? aliasDecl.uri
|
1913
|
+
: ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.uri) &&
|
1914
|
+
!aliasDecl.submoduleFallback.uri.isEmpty() &&
|
1915
|
+
aliasDecl.submoduleFallback.loadSymbolsFromPath
|
1916
|
+
? aliasDecl.submoduleFallback.uri
|
1914
1917
|
: undefined;
|
1915
|
-
if (!
|
1918
|
+
if (!resolvedUri) {
|
1916
1919
|
return undefined;
|
1917
1920
|
}
|
1918
|
-
let lookupInfo = this._fileInfo.importLookup(
|
1921
|
+
let lookupInfo = this._fileInfo.importLookup(resolvedUri);
|
1919
1922
|
if (lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames) {
|
1920
1923
|
return lookupInfo.dunderAllNames;
|
1921
1924
|
}
|
1922
|
-
if ((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.
|
1923
|
-
lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.
|
1925
|
+
if (((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.uri) && !aliasDecl.submoduleFallback.uri.isEmpty()) {
|
1926
|
+
lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.uri);
|
1924
1927
|
return lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames;
|
1925
1928
|
}
|
1926
1929
|
return undefined;
|
@@ -1948,14 +1951,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1948
1951
|
.getDeclarations()
|
1949
1952
|
.find((decl) => decl.type === 8 /* DeclarationType.Alias */ && decl.firstNamePart === firstNamePartValue);
|
1950
1953
|
let newDecl;
|
1951
|
-
let
|
1952
|
-
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.
|
1953
|
-
|
1954
|
+
let uriOfLastSubmodule;
|
1955
|
+
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0) {
|
1956
|
+
uriOfLastSubmodule = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
|
1954
1957
|
}
|
1955
1958
|
else {
|
1956
|
-
|
1959
|
+
uriOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
|
1957
1960
|
}
|
1958
|
-
const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.
|
1961
|
+
const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0;
|
1959
1962
|
if (existingDecl) {
|
1960
1963
|
newDecl = existingDecl;
|
1961
1964
|
}
|
@@ -1963,7 +1966,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1963
1966
|
newDecl = {
|
1964
1967
|
type: 8 /* DeclarationType.Alias */,
|
1965
1968
|
node,
|
1966
|
-
|
1969
|
+
uri: uriOfLastSubmodule,
|
1967
1970
|
loadSymbolsFromPath: false,
|
1968
1971
|
range: (0, textRange_1.getEmptyRange)(),
|
1969
1972
|
usesLocalName: !!importAlias,
|
@@ -1979,7 +1982,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1979
1982
|
newDecl = {
|
1980
1983
|
type: 8 /* DeclarationType.Alias */,
|
1981
1984
|
node,
|
1982
|
-
|
1985
|
+
uri: uriOfLastSubmodule,
|
1983
1986
|
loadSymbolsFromPath: true,
|
1984
1987
|
range: (0, textRange_1.getEmptyRange)(),
|
1985
1988
|
usesLocalName: !!importAlias,
|
@@ -1992,15 +1995,15 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1992
1995
|
// See if there is import info for this part of the path. This allows us
|
1993
1996
|
// to implicitly import all of the modules in a multi-part module name.
|
1994
1997
|
const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[0]);
|
1995
|
-
if (implicitImportInfo && implicitImportInfo.
|
1996
|
-
newDecl.
|
1998
|
+
if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
|
1999
|
+
newDecl.uri = implicitImportInfo.resolvedUris[0];
|
1997
2000
|
newDecl.loadSymbolsFromPath = true;
|
1998
2001
|
this._addImplicitImportsToLoaderActions(implicitImportInfo, newDecl);
|
1999
2002
|
}
|
2000
2003
|
// Add the implicit imports for this module if it's the last
|
2001
2004
|
// name part we're resolving.
|
2002
2005
|
if (importAlias || node.module.nameParts.length === 1) {
|
2003
|
-
newDecl.
|
2006
|
+
newDecl.uri = uriOfLastSubmodule;
|
2004
2007
|
newDecl.loadSymbolsFromPath = true;
|
2005
2008
|
newDecl.isUnresolved = false;
|
2006
2009
|
if (importInfo) {
|
@@ -2017,12 +2020,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2017
2020
|
? curLoaderActions.implicitImports.get(namePartValue)
|
2018
2021
|
: undefined;
|
2019
2022
|
if (!loaderActions) {
|
2020
|
-
const loaderActionPath = importInfo && i < importInfo.
|
2021
|
-
? importInfo.
|
2023
|
+
const loaderActionPath = importInfo && i < importInfo.resolvedUris.length
|
2024
|
+
? importInfo.resolvedUris[i]
|
2022
2025
|
: declaration_1.UnresolvedModuleMarker;
|
2023
2026
|
// Allocate a new loader action.
|
2024
2027
|
loaderActions = {
|
2025
|
-
|
2028
|
+
uri: loaderActionPath,
|
2026
2029
|
loadSymbolsFromPath: false,
|
2027
2030
|
implicitImports: new Map(),
|
2028
2031
|
isUnresolved: !isResolved,
|
@@ -2035,8 +2038,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2035
2038
|
if (i === node.module.nameParts.length - 1) {
|
2036
2039
|
// If this is the last name part we're resolving, add in the
|
2037
2040
|
// implicit imports as well.
|
2038
|
-
if (importInfo && i < importInfo.
|
2039
|
-
loaderActions.
|
2041
|
+
if (importInfo && i < importInfo.resolvedUris.length) {
|
2042
|
+
loaderActions.uri = importInfo.resolvedUris[i];
|
2040
2043
|
loaderActions.loadSymbolsFromPath = true;
|
2041
2044
|
this._addImplicitImportsToLoaderActions(importInfo, loaderActions);
|
2042
2045
|
}
|
@@ -2047,8 +2050,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2047
2050
|
// import all of the modules in a multi-part module name (e.g. "import a.b.c"
|
2048
2051
|
// imports "a" and "a.b" and "a.b.c").
|
2049
2052
|
const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[i]);
|
2050
|
-
if (implicitImportInfo && implicitImportInfo.
|
2051
|
-
loaderActions.
|
2053
|
+
if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
|
2054
|
+
loaderActions.uri = implicitImportInfo.resolvedUris[i];
|
2052
2055
|
loaderActions.loadSymbolsFromPath = true;
|
2053
2056
|
this._addImplicitImportsToLoaderActions(implicitImportInfo, loaderActions);
|
2054
2057
|
}
|
@@ -2694,7 +2697,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2694
2697
|
type: 0 /* DeclarationType.Intrinsic */,
|
2695
2698
|
node,
|
2696
2699
|
intrinsicType: type,
|
2697
|
-
|
2700
|
+
uri: this._fileInfo.fileUri,
|
2698
2701
|
range: (0, textRange_1.getEmptyRange)(),
|
2699
2702
|
moduleName: this._fileInfo.moduleName,
|
2700
2703
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2750,7 +2753,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2750
2753
|
inferredTypeSource: source,
|
2751
2754
|
isInferenceAllowedInPyTyped: this._isInferenceAllowedInPyTyped(name.value),
|
2752
2755
|
typeAliasName: isPossibleTypeAlias ? target : undefined,
|
2753
|
-
|
2756
|
+
uri: this._fileInfo.fileUri,
|
2754
2757
|
range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
|
2755
2758
|
moduleName: this._fileInfo.moduleName,
|
2756
2759
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2793,7 +2796,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2793
2796
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2794
2797
|
inferredTypeSource: source,
|
2795
2798
|
isDefinedByMemberAccess: true,
|
2796
|
-
|
2799
|
+
uri: this._fileInfo.fileUri,
|
2797
2800
|
range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
|
2798
2801
|
moduleName: this._fileInfo.moduleName,
|
2799
2802
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2872,7 +2875,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2872
2875
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2873
2876
|
isFinal: finalInfo.isFinal,
|
2874
2877
|
typeAliasName: target,
|
2875
|
-
|
2878
|
+
uri: this._fileInfo.fileUri,
|
2876
2879
|
typeAnnotationNode,
|
2877
2880
|
range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
|
2878
2881
|
moduleName: this._fileInfo.moduleName,
|
@@ -2936,7 +2939,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2936
2939
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2937
2940
|
isDefinedByMemberAccess: true,
|
2938
2941
|
isFinal: finalInfo.isFinal,
|
2939
|
-
|
2942
|
+
uri: this._fileInfo.fileUri,
|
2940
2943
|
typeAnnotationNode: finalInfo.isFinal && !finalInfo.finalTypeNode ? undefined : typeAnnotation,
|
2941
2944
|
range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
|
2942
2945
|
moduleName: this._fileInfo.moduleName,
|
@@ -3137,7 +3140,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3137
3140
|
? loaderActions.implicitImports.get(implicitImport.name)
|
3138
3141
|
: undefined;
|
3139
3142
|
if (existingLoaderAction) {
|
3140
|
-
existingLoaderAction.
|
3143
|
+
existingLoaderAction.uri = implicitImport.uri;
|
3141
3144
|
existingLoaderAction.loadSymbolsFromPath = true;
|
3142
3145
|
}
|
3143
3146
|
else {
|
@@ -3145,7 +3148,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3145
3148
|
loaderActions.implicitImports = new Map();
|
3146
3149
|
}
|
3147
3150
|
loaderActions.implicitImports.set(implicitImport.name, {
|
3148
|
-
|
3151
|
+
uri: implicitImport.uri,
|
3149
3152
|
loadSymbolsFromPath: true,
|
3150
3153
|
implicitImports: new Map(),
|
3151
3154
|
});
|
@@ -3186,7 +3189,6 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3186
3189
|
'Optional',
|
3187
3190
|
'Annotated',
|
3188
3191
|
'TypeAlias',
|
3189
|
-
'OrderedDict',
|
3190
3192
|
'Concatenate',
|
3191
3193
|
'TypeGuard',
|
3192
3194
|
'Unpack',
|
@@ -3194,22 +3196,25 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3194
3196
|
'NoReturn',
|
3195
3197
|
'Never',
|
3196
3198
|
'LiteralString',
|
3199
|
+
'OrderedDict',
|
3197
3200
|
]);
|
3198
3201
|
const assignedName = assignedNameNode.value;
|
3199
3202
|
if (!specialTypes.has(assignedName)) {
|
3200
3203
|
return false;
|
3201
3204
|
}
|
3205
|
+
const specialBuiltInClassDeclaration = {
|
3206
|
+
type: 7 /* DeclarationType.SpecialBuiltInClass */,
|
3207
|
+
node: annotationNode,
|
3208
|
+
uri: this._fileInfo.fileUri,
|
3209
|
+
range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
|
3210
|
+
moduleName: this._fileInfo.moduleName,
|
3211
|
+
isInExceptSuite: this._isInExceptSuite,
|
3212
|
+
};
|
3202
3213
|
const symbol = this._bindNameToScope(this._currentScope, annotationNode.valueExpression);
|
3203
3214
|
if (symbol) {
|
3204
|
-
symbol.addDeclaration(
|
3205
|
-
type: 7 /* DeclarationType.SpecialBuiltInClass */,
|
3206
|
-
node: annotationNode,
|
3207
|
-
path: this._fileInfo.filePath,
|
3208
|
-
range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
|
3209
|
-
moduleName: this._fileInfo.moduleName,
|
3210
|
-
isInExceptSuite: this._isInExceptSuite,
|
3211
|
-
});
|
3215
|
+
symbol.addDeclaration(specialBuiltInClassDeclaration);
|
3212
3216
|
}
|
3217
|
+
AnalyzerNodeInfo.setDeclaration(node, specialBuiltInClassDeclaration);
|
3213
3218
|
return true;
|
3214
3219
|
}
|
3215
3220
|
_deferBinding(callback) {
|