@zzzen/pyright-internal 1.2.0-dev.20231203 → 1.2.0-dev.20231210
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 +56 -52
- 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 +29 -36
- package/dist/analyzer/codeFlowEngine.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/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 +6 -3
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/patternMatching.js +79 -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 +3 -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 +187 -183
- 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 +59 -62
- 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 +172 -102
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +3 -3
- 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 +4 -2
- package/dist/analyzer/typeUtils.js +16 -5
- 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 +5 -4
- package/dist/analyzer/types.js +4 -4
- 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 +3 -2
- 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 +122 -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 +34 -37
- 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 +1 -1
- 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 +1 -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/pyright.js +18 -17
- 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/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/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 +81 -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 +13 -6
- 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 +18 -9
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +73 -62
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +20 -19
- 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");
|
@@ -224,7 +225,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
224
225
|
const classDeclaration = {
|
225
226
|
type: 6 /* DeclarationType.Class */,
|
226
227
|
node,
|
227
|
-
|
228
|
+
uri: this._fileInfo.fileUri,
|
228
229
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.name, this._fileInfo.lines),
|
229
230
|
moduleName: this._fileInfo.moduleName,
|
230
231
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -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,
|
@@ -1301,9 +1303,9 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1301
1303
|
const dataclassesSymbolsOfInterest = ['InitVar'];
|
1302
1304
|
const importInfo = AnalyzerNodeInfo.getImportInfo(node.module);
|
1303
1305
|
AnalyzerNodeInfo.setFlowNode(node, this._currentFlowNode);
|
1304
|
-
let resolvedPath =
|
1306
|
+
let resolvedPath = uri_1.Uri.empty();
|
1305
1307
|
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib) {
|
1306
|
-
resolvedPath = importInfo.
|
1308
|
+
resolvedPath = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
|
1307
1309
|
}
|
1308
1310
|
// If this file is a module __init__.py(i), relative imports of submodules
|
1309
1311
|
// using the syntax "from .x import y" introduce a symbol x into the
|
@@ -1311,7 +1313,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1311
1313
|
// symbols below) in case one of the imported symbols is the same name as the
|
1312
1314
|
// submodule. In that case, we want to the symbol to appear later in the
|
1313
1315
|
// declaration list because it should "win" when resolving the alias.
|
1314
|
-
const fileName = (0, pathUtils_1.stripFileExtension)(
|
1316
|
+
const fileName = (0, pathUtils_1.stripFileExtension)(this._fileInfo.fileUri.fileName);
|
1315
1317
|
const isModuleInitFile = fileName === '__init__' && node.module.leadingDots === 1 && node.module.nameParts.length === 1;
|
1316
1318
|
let isTypingImport = false;
|
1317
1319
|
let isDataclassesImport = false;
|
@@ -1356,7 +1358,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1356
1358
|
const aliasDecl = {
|
1357
1359
|
type: 8 /* DeclarationType.Alias */,
|
1358
1360
|
node,
|
1359
|
-
|
1361
|
+
uri: resolvedPath,
|
1360
1362
|
loadSymbolsFromPath: true,
|
1361
1363
|
range: (0, textRange_1.getEmptyRange)(),
|
1362
1364
|
usesLocalName: false,
|
@@ -1376,7 +1378,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1376
1378
|
const submoduleFallback = {
|
1377
1379
|
type: 8 /* DeclarationType.Alias */,
|
1378
1380
|
node,
|
1379
|
-
|
1381
|
+
uri: implicitImport.uri,
|
1380
1382
|
loadSymbolsFromPath: true,
|
1381
1383
|
range: (0, textRange_1.getEmptyRange)(),
|
1382
1384
|
usesLocalName: false,
|
@@ -1386,7 +1388,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1386
1388
|
const aliasDecl = {
|
1387
1389
|
type: 8 /* DeclarationType.Alias */,
|
1388
1390
|
node,
|
1389
|
-
|
1391
|
+
uri: resolvedPath,
|
1390
1392
|
loadSymbolsFromPath: true,
|
1391
1393
|
usesLocalName: false,
|
1392
1394
|
symbolName: name,
|
@@ -1454,7 +1456,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1454
1456
|
submoduleFallback = {
|
1455
1457
|
type: 8 /* DeclarationType.Alias */,
|
1456
1458
|
node: importSymbolNode,
|
1457
|
-
|
1459
|
+
uri: implicitImport.uri,
|
1458
1460
|
loadSymbolsFromPath: true,
|
1459
1461
|
range: (0, textRange_1.getEmptyRange)(),
|
1460
1462
|
usesLocalName: false,
|
@@ -1470,7 +1472,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1470
1472
|
if (node.module.leadingDots === 1 && node.module.nameParts.length === 0) {
|
1471
1473
|
loadSymbolsFromPath = false;
|
1472
1474
|
}
|
1473
|
-
else if (resolvedPath
|
1475
|
+
else if (resolvedPath.equals(this._fileInfo.fileUri)) {
|
1474
1476
|
loadSymbolsFromPath = false;
|
1475
1477
|
}
|
1476
1478
|
}
|
@@ -1478,7 +1480,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1478
1480
|
const aliasDecl = {
|
1479
1481
|
type: 8 /* DeclarationType.Alias */,
|
1480
1482
|
node: importSymbolNode,
|
1481
|
-
|
1483
|
+
uri: resolvedPath,
|
1482
1484
|
loadSymbolsFromPath,
|
1483
1485
|
usesLocalName: !!importSymbolNode.alias,
|
1484
1486
|
symbolName: importedName,
|
@@ -1772,7 +1774,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1772
1774
|
node: node.target,
|
1773
1775
|
isConstant: (0, symbolNameUtils_1.isConstantName)(node.target.value),
|
1774
1776
|
inferredTypeSource: node,
|
1775
|
-
|
1777
|
+
uri: this._fileInfo.fileUri,
|
1776
1778
|
range: (0, positionUtils_1.convertTextRangeToRange)(node.target, this._fileInfo.lines),
|
1777
1779
|
moduleName: this._fileInfo.moduleName,
|
1778
1780
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1841,7 +1843,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1841
1843
|
node: slotNameNode,
|
1842
1844
|
isConstant: (0, symbolNameUtils_1.isConstantName)(slotName),
|
1843
1845
|
isDefinedBySlots: true,
|
1844
|
-
|
1846
|
+
uri: this._fileInfo.fileUri,
|
1845
1847
|
range: (0, positionUtils_1.convertTextRangeToRange)(slotNameNode, this._fileInfo.lines),
|
1846
1848
|
moduleName: this._fileInfo.moduleName,
|
1847
1849
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1883,7 +1885,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1883
1885
|
node: target,
|
1884
1886
|
isConstant: (0, symbolNameUtils_1.isConstantName)(target.value),
|
1885
1887
|
inferredTypeSource: target.parent,
|
1886
|
-
|
1888
|
+
uri: this._fileInfo.fileUri,
|
1887
1889
|
range: (0, positionUtils_1.convertTextRangeToRange)(target, this._fileInfo.lines),
|
1888
1890
|
moduleName: this._fileInfo.moduleName,
|
1889
1891
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -1907,20 +1909,22 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1907
1909
|
}
|
1908
1910
|
// There should be only one declaration for the variable.
|
1909
1911
|
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
|
-
|
1912
|
+
const resolvedUri = (aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.uri) && !aliasDecl.uri.isEmpty() && aliasDecl.loadSymbolsFromPath
|
1913
|
+
? aliasDecl.uri
|
1914
|
+
: ((_a = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _a === void 0 ? void 0 : _a.uri) &&
|
1915
|
+
!aliasDecl.submoduleFallback.uri.isEmpty() &&
|
1916
|
+
aliasDecl.submoduleFallback.loadSymbolsFromPath
|
1917
|
+
? aliasDecl.submoduleFallback.uri
|
1914
1918
|
: undefined;
|
1915
|
-
if (!
|
1919
|
+
if (!resolvedUri) {
|
1916
1920
|
return undefined;
|
1917
1921
|
}
|
1918
|
-
let lookupInfo = this._fileInfo.importLookup(
|
1922
|
+
let lookupInfo = this._fileInfo.importLookup(resolvedUri);
|
1919
1923
|
if (lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames) {
|
1920
1924
|
return lookupInfo.dunderAllNames;
|
1921
1925
|
}
|
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.
|
1926
|
+
if (((_b = aliasDecl === null || aliasDecl === void 0 ? void 0 : aliasDecl.submoduleFallback) === null || _b === void 0 ? void 0 : _b.uri) && !aliasDecl.submoduleFallback.uri.isEmpty()) {
|
1927
|
+
lookupInfo = this._fileInfo.importLookup(aliasDecl.submoduleFallback.uri);
|
1924
1928
|
return lookupInfo === null || lookupInfo === void 0 ? void 0 : lookupInfo.dunderAllNames;
|
1925
1929
|
}
|
1926
1930
|
return undefined;
|
@@ -1948,14 +1952,14 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1948
1952
|
.getDeclarations()
|
1949
1953
|
.find((decl) => decl.type === 8 /* DeclarationType.Alias */ && decl.firstNamePart === firstNamePartValue);
|
1950
1954
|
let newDecl;
|
1951
|
-
let
|
1952
|
-
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.
|
1953
|
-
|
1955
|
+
let uriOfLastSubmodule;
|
1956
|
+
if (importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0) {
|
1957
|
+
uriOfLastSubmodule = importInfo.resolvedUris[importInfo.resolvedUris.length - 1];
|
1954
1958
|
}
|
1955
1959
|
else {
|
1956
|
-
|
1960
|
+
uriOfLastSubmodule = declaration_1.UnresolvedModuleMarker;
|
1957
1961
|
}
|
1958
|
-
const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.
|
1962
|
+
const isResolved = importInfo && importInfo.isImportFound && !importInfo.isNativeLib && importInfo.resolvedUris.length > 0;
|
1959
1963
|
if (existingDecl) {
|
1960
1964
|
newDecl = existingDecl;
|
1961
1965
|
}
|
@@ -1963,7 +1967,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1963
1967
|
newDecl = {
|
1964
1968
|
type: 8 /* DeclarationType.Alias */,
|
1965
1969
|
node,
|
1966
|
-
|
1970
|
+
uri: uriOfLastSubmodule,
|
1967
1971
|
loadSymbolsFromPath: false,
|
1968
1972
|
range: (0, textRange_1.getEmptyRange)(),
|
1969
1973
|
usesLocalName: !!importAlias,
|
@@ -1979,7 +1983,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1979
1983
|
newDecl = {
|
1980
1984
|
type: 8 /* DeclarationType.Alias */,
|
1981
1985
|
node,
|
1982
|
-
|
1986
|
+
uri: uriOfLastSubmodule,
|
1983
1987
|
loadSymbolsFromPath: true,
|
1984
1988
|
range: (0, textRange_1.getEmptyRange)(),
|
1985
1989
|
usesLocalName: !!importAlias,
|
@@ -1992,15 +1996,15 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
1992
1996
|
// See if there is import info for this part of the path. This allows us
|
1993
1997
|
// to implicitly import all of the modules in a multi-part module name.
|
1994
1998
|
const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[0]);
|
1995
|
-
if (implicitImportInfo && implicitImportInfo.
|
1996
|
-
newDecl.
|
1999
|
+
if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
|
2000
|
+
newDecl.uri = implicitImportInfo.resolvedUris[0];
|
1997
2001
|
newDecl.loadSymbolsFromPath = true;
|
1998
2002
|
this._addImplicitImportsToLoaderActions(implicitImportInfo, newDecl);
|
1999
2003
|
}
|
2000
2004
|
// Add the implicit imports for this module if it's the last
|
2001
2005
|
// name part we're resolving.
|
2002
2006
|
if (importAlias || node.module.nameParts.length === 1) {
|
2003
|
-
newDecl.
|
2007
|
+
newDecl.uri = uriOfLastSubmodule;
|
2004
2008
|
newDecl.loadSymbolsFromPath = true;
|
2005
2009
|
newDecl.isUnresolved = false;
|
2006
2010
|
if (importInfo) {
|
@@ -2017,12 +2021,12 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2017
2021
|
? curLoaderActions.implicitImports.get(namePartValue)
|
2018
2022
|
: undefined;
|
2019
2023
|
if (!loaderActions) {
|
2020
|
-
const loaderActionPath = importInfo && i < importInfo.
|
2021
|
-
? importInfo.
|
2024
|
+
const loaderActionPath = importInfo && i < importInfo.resolvedUris.length
|
2025
|
+
? importInfo.resolvedUris[i]
|
2022
2026
|
: declaration_1.UnresolvedModuleMarker;
|
2023
2027
|
// Allocate a new loader action.
|
2024
2028
|
loaderActions = {
|
2025
|
-
|
2029
|
+
uri: loaderActionPath,
|
2026
2030
|
loadSymbolsFromPath: false,
|
2027
2031
|
implicitImports: new Map(),
|
2028
2032
|
isUnresolved: !isResolved,
|
@@ -2035,8 +2039,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2035
2039
|
if (i === node.module.nameParts.length - 1) {
|
2036
2040
|
// If this is the last name part we're resolving, add in the
|
2037
2041
|
// implicit imports as well.
|
2038
|
-
if (importInfo && i < importInfo.
|
2039
|
-
loaderActions.
|
2042
|
+
if (importInfo && i < importInfo.resolvedUris.length) {
|
2043
|
+
loaderActions.uri = importInfo.resolvedUris[i];
|
2040
2044
|
loaderActions.loadSymbolsFromPath = true;
|
2041
2045
|
this._addImplicitImportsToLoaderActions(importInfo, loaderActions);
|
2042
2046
|
}
|
@@ -2047,8 +2051,8 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2047
2051
|
// import all of the modules in a multi-part module name (e.g. "import a.b.c"
|
2048
2052
|
// imports "a" and "a.b" and "a.b.c").
|
2049
2053
|
const implicitImportInfo = AnalyzerNodeInfo.getImportInfo(node.module.nameParts[i]);
|
2050
|
-
if (implicitImportInfo && implicitImportInfo.
|
2051
|
-
loaderActions.
|
2054
|
+
if (implicitImportInfo && implicitImportInfo.resolvedUris.length) {
|
2055
|
+
loaderActions.uri = implicitImportInfo.resolvedUris[i];
|
2052
2056
|
loaderActions.loadSymbolsFromPath = true;
|
2053
2057
|
this._addImplicitImportsToLoaderActions(implicitImportInfo, loaderActions);
|
2054
2058
|
}
|
@@ -2694,7 +2698,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2694
2698
|
type: 0 /* DeclarationType.Intrinsic */,
|
2695
2699
|
node,
|
2696
2700
|
intrinsicType: type,
|
2697
|
-
|
2701
|
+
uri: this._fileInfo.fileUri,
|
2698
2702
|
range: (0, textRange_1.getEmptyRange)(),
|
2699
2703
|
moduleName: this._fileInfo.moduleName,
|
2700
2704
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2750,7 +2754,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2750
2754
|
inferredTypeSource: source,
|
2751
2755
|
isInferenceAllowedInPyTyped: this._isInferenceAllowedInPyTyped(name.value),
|
2752
2756
|
typeAliasName: isPossibleTypeAlias ? target : undefined,
|
2753
|
-
|
2757
|
+
uri: this._fileInfo.fileUri,
|
2754
2758
|
range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
|
2755
2759
|
moduleName: this._fileInfo.moduleName,
|
2756
2760
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2793,7 +2797,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2793
2797
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2794
2798
|
inferredTypeSource: source,
|
2795
2799
|
isDefinedByMemberAccess: true,
|
2796
|
-
|
2800
|
+
uri: this._fileInfo.fileUri,
|
2797
2801
|
range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
|
2798
2802
|
moduleName: this._fileInfo.moduleName,
|
2799
2803
|
isInExceptSuite: this._isInExceptSuite,
|
@@ -2872,7 +2876,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2872
2876
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2873
2877
|
isFinal: finalInfo.isFinal,
|
2874
2878
|
typeAliasName: target,
|
2875
|
-
|
2879
|
+
uri: this._fileInfo.fileUri,
|
2876
2880
|
typeAnnotationNode,
|
2877
2881
|
range: (0, positionUtils_1.convertTextRangeToRange)(name, this._fileInfo.lines),
|
2878
2882
|
moduleName: this._fileInfo.moduleName,
|
@@ -2936,7 +2940,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
2936
2940
|
isConstant: (0, symbolNameUtils_1.isConstantName)(name.value),
|
2937
2941
|
isDefinedByMemberAccess: true,
|
2938
2942
|
isFinal: finalInfo.isFinal,
|
2939
|
-
|
2943
|
+
uri: this._fileInfo.fileUri,
|
2940
2944
|
typeAnnotationNode: finalInfo.isFinal && !finalInfo.finalTypeNode ? undefined : typeAnnotation,
|
2941
2945
|
range: (0, positionUtils_1.convertTextRangeToRange)(target.memberName, this._fileInfo.lines),
|
2942
2946
|
moduleName: this._fileInfo.moduleName,
|
@@ -3137,7 +3141,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3137
3141
|
? loaderActions.implicitImports.get(implicitImport.name)
|
3138
3142
|
: undefined;
|
3139
3143
|
if (existingLoaderAction) {
|
3140
|
-
existingLoaderAction.
|
3144
|
+
existingLoaderAction.uri = implicitImport.uri;
|
3141
3145
|
existingLoaderAction.loadSymbolsFromPath = true;
|
3142
3146
|
}
|
3143
3147
|
else {
|
@@ -3145,7 +3149,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3145
3149
|
loaderActions.implicitImports = new Map();
|
3146
3150
|
}
|
3147
3151
|
loaderActions.implicitImports.set(implicitImport.name, {
|
3148
|
-
|
3152
|
+
uri: implicitImport.uri,
|
3149
3153
|
loadSymbolsFromPath: true,
|
3150
3154
|
implicitImports: new Map(),
|
3151
3155
|
});
|
@@ -3204,7 +3208,7 @@ class Binder extends parseTreeWalker_1.ParseTreeWalker {
|
|
3204
3208
|
symbol.addDeclaration({
|
3205
3209
|
type: 7 /* DeclarationType.SpecialBuiltInClass */,
|
3206
3210
|
node: annotationNode,
|
3207
|
-
|
3211
|
+
uri: this._fileInfo.fileUri,
|
3208
3212
|
range: (0, positionUtils_1.convertTextRangeToRange)(annotationNode, this._fileInfo.lines),
|
3209
3213
|
moduleName: this._fileInfo.moduleName,
|
3210
3214
|
isInExceptSuite: this._isInExceptSuite,
|