@zzzen/pyright-internal 1.2.0-dev.20260614 → 1.2.0-dev.20260628
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/analysis.js +17 -7
- package/dist/analyzer/analysis.js.map +1 -1
- package/dist/analyzer/analyzerNodeInfo.d.ts +11 -0
- package/dist/analyzer/binder.js +31 -8
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.js +23 -8
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +6 -0
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/dataClasses.js +19 -8
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/declaration.d.ts +1 -0
- package/dist/analyzer/declaration.js.map +1 -1
- package/dist/analyzer/docStringUtils.d.ts +1 -0
- package/dist/analyzer/docStringUtils.js +78 -0
- package/dist/analyzer/docStringUtils.js.map +1 -1
- package/dist/analyzer/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +107 -12
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +36 -8
- package/dist/analyzer/importStatementUtils.js.map +1 -1
- package/dist/analyzer/namedTuples.js +17 -7
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/parseTreeCleaner.js +17 -7
- package/dist/analyzer/parseTreeCleaner.js.map +1 -1
- package/dist/analyzer/parseTreeUtils.js +27 -9
- package/dist/analyzer/parseTreeUtils.js.map +1 -1
- package/dist/analyzer/parseTreeWalker.js +17 -7
- package/dist/analyzer/parseTreeWalker.js.map +1 -1
- package/dist/analyzer/patternMatching.js +44 -0
- package/dist/analyzer/patternMatching.js.map +1 -1
- package/dist/analyzer/program.d.ts +1 -0
- package/dist/analyzer/program.js +44 -8
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +34 -8
- package/dist/analyzer/pythonPathUtils.js.map +1 -1
- package/dist/analyzer/service.js +43 -11
- package/dist/analyzer/service.js.map +1 -1
- package/dist/analyzer/sourceEnumerator.js +6 -0
- package/dist/analyzer/sourceEnumerator.js.map +1 -1
- package/dist/analyzer/sourceFile.d.ts +1 -0
- package/dist/analyzer/sourceFile.js +25 -7
- package/dist/analyzer/sourceFile.js.map +1 -1
- package/dist/analyzer/sourceMapper.d.ts +11 -1
- package/dist/analyzer/sourceMapper.js +220 -19
- package/dist/analyzer/sourceMapper.js.map +1 -1
- package/dist/analyzer/staticExpressions.js +91 -19
- package/dist/analyzer/staticExpressions.js.map +1 -1
- package/dist/analyzer/tracePrinter.js +17 -7
- package/dist/analyzer/tracePrinter.js.map +1 -1
- package/dist/analyzer/typeCacheUtils.js +17 -7
- package/dist/analyzer/typeCacheUtils.js.map +1 -1
- package/dist/analyzer/typeDocStringUtils.d.ts +8 -0
- package/dist/analyzer/typeDocStringUtils.js +101 -27
- package/dist/analyzer/typeDocStringUtils.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +122 -89
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +1 -0
- package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
- package/dist/analyzer/typeGuards.js +71 -13
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typePrinter.js +50 -8
- package/dist/analyzer/typePrinter.js.map +1 -1
- package/dist/analyzer/typeStubWriter.js +17 -7
- package/dist/analyzer/typeStubWriter.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +1 -0
- package/dist/analyzer/typeUtils.js +9 -0
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeWalker.js +1 -1
- package/dist/analyzer/typeWalker.js.map +1 -1
- package/dist/analyzer/typedDicts.js +19 -9
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/typeshedInfoProvider.js +17 -7
- package/dist/analyzer/typeshedInfoProvider.js.map +1 -1
- package/dist/backgroundAnalysisBase.js +17 -7
- package/dist/backgroundAnalysisBase.js.map +1 -1
- package/dist/backgroundThreadBase.js +17 -7
- package/dist/backgroundThreadBase.js.map +1 -1
- package/dist/common/chokidarFileWatcherProvider.js +17 -7
- package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
- package/dist/common/configOptions.js +17 -7
- package/dist/common/configOptions.js.map +1 -1
- package/dist/common/console.js +17 -7
- package/dist/common/console.js.map +1 -1
- package/dist/common/docStringService.d.ts +2 -0
- package/dist/common/docStringService.js +5 -1
- package/dist/common/docStringService.js.map +1 -1
- package/dist/common/envVarUtils.js +17 -7
- package/dist/common/envVarUtils.js.map +1 -1
- package/dist/common/extensibility.d.ts +2 -0
- package/dist/common/extensibility.js.map +1 -1
- package/dist/common/fileBasedCancellationUtils.js +17 -7
- package/dist/common/fileBasedCancellationUtils.js.map +1 -1
- package/dist/common/fullAccessHost.d.ts +4 -2
- package/dist/common/fullAccessHost.js +69 -16
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +33 -2
- package/dist/common/host.js +4 -1
- package/dist/common/host.js.map +1 -1
- package/dist/common/languageInfoUtils.js +12 -12
- package/dist/common/memUtils.js +18 -7
- package/dist/common/memUtils.js.map +1 -1
- package/dist/common/pathUtils.js +17 -7
- package/dist/common/pathUtils.js.map +1 -1
- package/dist/common/positionUtils.js +19 -0
- package/dist/common/positionUtils.js.map +1 -1
- package/dist/common/processUtils.js +17 -7
- package/dist/common/processUtils.js.map +1 -1
- package/dist/common/realFileSystem.js +19 -19
- package/dist/common/realFileSystem.js.map +1 -1
- package/dist/common/serviceProvider.js +17 -7
- package/dist/common/serviceProvider.js.map +1 -1
- package/dist/common/streamUtils.d.ts +1 -1
- package/dist/common/textEditTracker.d.ts +1 -0
- package/dist/common/textEditTracker.js +31 -12
- package/dist/common/textEditTracker.js.map +1 -1
- package/dist/common/uri/fileUri.d.ts +1 -0
- package/dist/common/uri/fileUri.js +20 -0
- package/dist/common/uri/fileUri.js.map +1 -1
- package/dist/common/uri/memoization.js +5 -1
- package/dist/common/uri/memoization.js.map +1 -1
- package/dist/common/uri/uriMap.d.ts +4 -4
- package/dist/common/uri/uriMap.js +1 -0
- package/dist/common/uri/uriMap.js.map +1 -1
- package/dist/common/uri/uriUtils.d.ts +2 -0
- package/dist/common/uri/uriUtils.js +22 -0
- package/dist/common/uri/uriUtils.js.map +1 -1
- package/dist/common/workspaceEditUtils.d.ts +1 -0
- package/dist/common/workspaceEditUtils.js +10 -0
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.js +19 -4
- package/dist/languageServerBase.js.map +1 -1
- package/dist/languageService/autoImporter.js +17 -7
- package/dist/languageService/autoImporter.js.map +1 -1
- package/dist/languageService/callHierarchyProvider.js +17 -7
- package/dist/languageService/callHierarchyProvider.js.map +1 -1
- package/dist/languageService/completionProvider.d.ts +11 -2
- package/dist/languageService/completionProvider.js +319 -65
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +18 -0
- package/dist/languageService/completionProviderUtils.js +42 -0
- package/dist/languageService/completionProviderUtils.js.map +1 -1
- package/dist/languageService/definitionProvider.d.ts +1 -1
- package/dist/languageService/definitionProvider.js +69 -10
- package/dist/languageService/definitionProvider.js.map +1 -1
- package/dist/languageService/documentHighlightProvider.js +17 -7
- package/dist/languageService/documentHighlightProvider.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.d.ts +18 -0
- package/dist/languageService/documentSymbolCollector.js +102 -15
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +1 -1
- package/dist/languageService/hoverProvider.js +98 -23
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/importStatementCandidates.d.ts +16 -0
- package/dist/languageService/importStatementCandidates.js +100 -0
- package/dist/languageService/importStatementCandidates.js.map +1 -0
- package/dist/languageService/referencesProvider.d.ts +16 -9
- package/dist/languageService/referencesProvider.js +205 -39
- package/dist/languageService/referencesProvider.js.map +1 -1
- package/dist/languageService/renameProvider.d.ts +7 -2
- package/dist/languageService/renameProvider.js +45 -17
- package/dist/languageService/renameProvider.js.map +1 -1
- package/dist/languageService/signatureHelpProvider.js +54 -16
- package/dist/languageService/signatureHelpProvider.js.map +1 -1
- package/dist/languageService/symbolIndexer.js +17 -7
- package/dist/languageService/symbolIndexer.js.map +1 -1
- package/dist/languageService/tooltipUtils.d.ts +11 -0
- package/dist/languageService/tooltipUtils.js +67 -33
- package/dist/languageService/tooltipUtils.js.map +1 -1
- package/dist/languageService/workspaceSymbolProvider.js +17 -7
- package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
- package/dist/localization/localize.d.ts +8 -0
- package/dist/localization/localize.js +6 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +5 -0
- package/dist/parser/characters.js +17 -7
- package/dist/parser/characters.js.map +1 -1
- package/dist/parser/parseNodes.d.ts +4 -0
- package/dist/parser/parseNodes.js.map +1 -1
- package/dist/parser/parser.d.ts +1 -0
- package/dist/parser/parser.js +91 -38
- package/dist/parser/parser.js.map +1 -1
- package/dist/parser/stringTokenUtils.js +23 -7
- package/dist/parser/stringTokenUtils.js.map +1 -1
- package/dist/parser/tokenizer.js +16 -15
- package/dist/parser/tokenizer.js.map +1 -1
- package/dist/parser/tokenizerTypes.d.ts +15 -14
- package/dist/parser/tokenizerTypes.js +22 -15
- package/dist/parser/tokenizerTypes.js.map +1 -1
- package/dist/pyright.js +17 -7
- package/dist/pyright.js.map +1 -1
- package/dist/readonlyAugmentedFileSystem.js +13 -6
- package/dist/readonlyAugmentedFileSystem.js.map +1 -1
- package/dist/server.js +1 -1
- package/dist/server.js.map +1 -1
- package/dist/tests/benchmarks/parserBenchmark.test.js +17 -7
- package/dist/tests/benchmarks/parserBenchmark.test.js.map +1 -1
- package/dist/tests/benchmarks/tokenizerBenchmark.test.js +17 -7
- package/dist/tests/benchmarks/tokenizerBenchmark.test.js.map +1 -1
- package/dist/tests/chainedSourceFiles.test.js +17 -7
- package/dist/tests/chainedSourceFiles.test.js.map +1 -1
- package/dist/tests/checker.test.js +21 -7
- package/dist/tests/checker.test.js.map +1 -1
- package/dist/tests/collectionUtils.test.js +17 -7
- package/dist/tests/collectionUtils.test.js.map +1 -1
- package/dist/tests/common.test.js +17 -7
- package/dist/tests/common.test.js.map +1 -1
- package/dist/tests/completionProviderUtils.test.d.ts +1 -0
- package/dist/tests/completionProviderUtils.test.js +56 -0
- package/dist/tests/completionProviderUtils.test.js.map +1 -0
- package/dist/tests/completions.test.js +118 -9
- package/dist/tests/completions.test.js.map +1 -1
- package/dist/tests/config.test.js +69 -0
- package/dist/tests/config.test.js.map +1 -1
- package/dist/tests/debug.test.js +17 -7
- package/dist/tests/debug.test.js.map +1 -1
- package/dist/tests/deferred.test.js +18 -8
- package/dist/tests/deferred.test.js.map +1 -1
- package/dist/tests/diagnosticOverrides.test.js +17 -7
- package/dist/tests/diagnosticOverrides.test.js.map +1 -1
- package/dist/tests/diagnostics.test.js +35 -0
- package/dist/tests/diagnostics.test.js.map +1 -1
- package/dist/tests/docStringReturnExtraction.test.d.ts +1 -0
- package/dist/tests/docStringReturnExtraction.test.js +125 -0
- package/dist/tests/docStringReturnExtraction.test.js.map +1 -0
- package/dist/tests/envVarUtils.test.js +17 -7
- package/dist/tests/envVarUtils.test.js.map +1 -1
- package/dist/tests/filesystem.test.js +17 -7
- package/dist/tests/filesystem.test.js.map +1 -1
- package/dist/tests/fourSlashParser.test.js +17 -7
- package/dist/tests/fourSlashParser.test.js.map +1 -1
- package/dist/tests/fourSlashRunner.test.js +17 -7
- package/dist/tests/fourSlashRunner.test.js.map +1 -1
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js +35 -0
- package/dist/tests/fourslash/completions.call.unpackedGenericTypedDict.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
- package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js +86 -0
- package/dist/tests/fourslash/completions.keywords.expressionContext.fourslash.js.map +1 -0
- package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js +20 -0
- package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js +122 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.compiledModule.fourslash.js.map +1 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js +61 -0
- package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js.map +1 -0
- package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -5
- package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
- package/dist/tests/fourslash/signature.posonly.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/signature.posonly.fourslash.js +58 -0
- package/dist/tests/fourslash/signature.posonly.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/fourSlashTypes.js +17 -7
- package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
- package/dist/tests/harness/fourslash/runner.js +17 -7
- package/dist/tests/harness/fourslash/runner.js.map +1 -1
- package/dist/tests/harness/fourslash/testLanguageService.js +17 -7
- package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.Consts.js +17 -7
- package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
- package/dist/tests/harness/fourslash/testState.js +17 -7
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/harness/fourslash/testStateUtils.js +17 -7
- package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +17 -7
- package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
- package/dist/tests/harness/testAccessHost.d.ts +1 -1
- package/dist/tests/harness/testAccessHost.js +1 -1
- package/dist/tests/harness/testAccessHost.js.map +1 -1
- package/dist/tests/harness/testHost.js +17 -7
- package/dist/tests/harness/testHost.js.map +1 -1
- package/dist/tests/harness/utils.d.ts +4 -4
- package/dist/tests/harness/utils.js.map +1 -1
- package/dist/tests/harness/vfs/factory.js +17 -7
- package/dist/tests/harness/vfs/factory.js.map +1 -1
- package/dist/tests/harness/vfs/filesystem.js +19 -11
- package/dist/tests/harness/vfs/filesystem.js.map +1 -1
- package/dist/tests/harness/vfs/pathValidation.js +17 -7
- package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
- package/dist/tests/importResolver.test.js +137 -0
- package/dist/tests/importResolver.test.js.map +1 -1
- package/dist/tests/importStatementUtils.test.js +92 -0
- package/dist/tests/importStatementUtils.test.js.map +1 -1
- package/dist/tests/languageServer.test.js +91 -0
- package/dist/tests/languageServer.test.js.map +1 -1
- package/dist/tests/localizer.test.js +17 -7
- package/dist/tests/localizer.test.js.map +1 -1
- package/dist/tests/logger.test.js +17 -7
- package/dist/tests/logger.test.js.map +1 -1
- package/dist/tests/lsp/languageServer.js +17 -7
- package/dist/tests/lsp/languageServer.js.map +1 -1
- package/dist/tests/lsp/languageServerTestUtils.d.ts +1 -5
- package/dist/tests/lsp/languageServerTestUtils.js +77 -22
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/parser.test.js +264 -7
- package/dist/tests/parser.test.js.map +1 -1
- package/dist/tests/pathUtils.test.js +17 -7
- package/dist/tests/pathUtils.test.js.map +1 -1
- package/dist/tests/positionUtils.test.js +26 -0
- package/dist/tests/positionUtils.test.js.map +1 -1
- package/dist/tests/pyrightFileSystem.test.js +25 -0
- package/dist/tests/pyrightFileSystem.test.js.map +1 -1
- package/dist/tests/realTempFile.test.js +17 -7
- package/dist/tests/realTempFile.test.js.map +1 -1
- package/dist/tests/signatureHelp.test.js +73 -0
- package/dist/tests/signatureHelp.test.js.map +1 -1
- package/dist/tests/sourceFile.test.js +17 -7
- package/dist/tests/sourceFile.test.js.map +1 -1
- package/dist/tests/sourceMapperUtils.test.js +192 -0
- package/dist/tests/sourceMapperUtils.test.js.map +1 -1
- package/dist/tests/stringUtils.test.js +17 -7
- package/dist/tests/stringUtils.test.js.map +1 -1
- package/dist/tests/symbolNameUtils.test.js +17 -7
- package/dist/tests/symbolNameUtils.test.js.map +1 -1
- package/dist/tests/testState.test.js +17 -7
- package/dist/tests/testState.test.js.map +1 -1
- package/dist/tests/testUtils.js +17 -7
- package/dist/tests/testUtils.js.map +1 -1
- package/dist/tests/textRange.test.js +17 -7
- package/dist/tests/textRange.test.js.map +1 -1
- package/dist/tests/tokenizer.test.js +17 -7
- package/dist/tests/tokenizer.test.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +21 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +23 -7
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +23 -7
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +45 -7
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +17 -7
- package/dist/tests/typeEvaluator5.test.js.map +1 -1
- package/dist/tests/typeEvaluator6.test.js +17 -7
- package/dist/tests/typeEvaluator6.test.js.map +1 -1
- package/dist/tests/typeEvaluator7.test.js +17 -7
- package/dist/tests/typeEvaluator7.test.js.map +1 -1
- package/dist/tests/typeEvaluator8.test.js +40 -28
- package/dist/tests/typeEvaluator8.test.js.map +1 -1
- package/dist/tests/typePrinter.test.js +82 -7
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +17 -7
- package/dist/tests/uri.test.js.map +1 -1
- package/dist/tests/workspaceEditUtils.test.js +48 -7
- package/dist/tests/workspaceEditUtils.test.js.map +1 -1
- package/dist/tests/zipfs.test.js +17 -7
- package/dist/tests/zipfs.test.js.map +1 -1
- package/dist/types.d.ts +1 -0
- package/package.json +10 -10
- package/dist/tests/lsp/rspack.testserver.config.d.ts +0 -63
- package/dist/tests/lsp/rspack.testserver.config.js +0 -60
- package/dist/tests/lsp/rspack.testserver.config.js.map +0 -1
|
@@ -25,13 +25,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
25
25
|
}) : function(o, v) {
|
|
26
26
|
o["default"] = v;
|
|
27
27
|
});
|
|
28
|
-
var __importStar = (this && this.__importStar) || function (
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
};
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
35
45
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
46
|
exports.HoverProvider = void 0;
|
|
37
47
|
exports.convertHoverResults = convertHoverResults;
|
|
@@ -78,6 +88,18 @@ function convertHoverResults(hoverResults, format) {
|
|
|
78
88
|
range: hoverResults.range,
|
|
79
89
|
};
|
|
80
90
|
}
|
|
91
|
+
function getDocumentationSeparator(previousPart) {
|
|
92
|
+
if (previousPart.python) {
|
|
93
|
+
return '---\n';
|
|
94
|
+
}
|
|
95
|
+
if (previousPart.text.endsWith('\n\n')) {
|
|
96
|
+
return '---\n';
|
|
97
|
+
}
|
|
98
|
+
if (previousPart.text.endsWith('\n')) {
|
|
99
|
+
return '\n---\n';
|
|
100
|
+
}
|
|
101
|
+
return '\n\n---\n';
|
|
102
|
+
}
|
|
81
103
|
function addParameterResultsPart(serviceProvider, paramNameNode, resolvedDecl, format, parts) {
|
|
82
104
|
// See if we have a docstring for the parent function.
|
|
83
105
|
let docString = undefined;
|
|
@@ -99,16 +121,32 @@ function addParameterResultsPart(serviceProvider, paramNameNode, resolvedDecl, f
|
|
|
99
121
|
text: docString,
|
|
100
122
|
});
|
|
101
123
|
}
|
|
102
|
-
function
|
|
124
|
+
function addReturnResultsPart(serviceProvider, functionNode, format, parts) {
|
|
125
|
+
// See if we have a docstring for the function whose return arrow is being hovered.
|
|
126
|
+
const docString = ParseTreeUtils.getDocString(functionNode.d.suite?.d.statements ?? []);
|
|
127
|
+
if (!docString) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
const returnDoc = serviceProvider.docStringService().extractReturnDocumentation(docString, format);
|
|
131
|
+
if (!returnDoc) {
|
|
132
|
+
return;
|
|
133
|
+
}
|
|
134
|
+
parts.push({
|
|
135
|
+
python: false,
|
|
136
|
+
text: returnDoc,
|
|
137
|
+
});
|
|
138
|
+
}
|
|
139
|
+
function addDocumentationResultsPart(serviceProvider, docString, format, parts, resolvedDecl, forceLiteralOverride) {
|
|
103
140
|
if (!docString) {
|
|
104
141
|
return;
|
|
105
142
|
}
|
|
106
143
|
if (format === vscode_languageserver_1.MarkupKind.Markdown) {
|
|
144
|
+
const forceLiteral = forceLiteralOverride ?? (0, typeDocStringUtils_1.isBuiltInModule)(resolvedDecl?.uri);
|
|
107
145
|
const markDown = serviceProvider
|
|
108
146
|
.docStringService()
|
|
109
|
-
.convertDocStringToMarkdown(docString,
|
|
147
|
+
.convertDocStringToMarkdown(docString, forceLiteral, resolvedDecl?.uri);
|
|
110
148
|
if (parts.length > 0 && markDown.length > 0) {
|
|
111
|
-
parts.push({ text:
|
|
149
|
+
parts.push({ text: getDocumentationSeparator(parts[parts.length - 1]) });
|
|
112
150
|
}
|
|
113
151
|
parts.push({ text: markDown, python: false });
|
|
114
152
|
return;
|
|
@@ -258,6 +296,13 @@ class HoverProvider {
|
|
|
258
296
|
this._tryAddPartsForTypedDictKey(node, type, results.parts);
|
|
259
297
|
}
|
|
260
298
|
}
|
|
299
|
+
else if (node.nodeType === 31 /* ParseNodeType.Function */) {
|
|
300
|
+
// Hovering over the `->` return-type arrow shows the function's return documentation.
|
|
301
|
+
const token = ParseTreeUtils.getTokenOverlapping(this._parseResults.tokenizerOutput.tokens, offset);
|
|
302
|
+
if (token?.type === 21 /* TokenType.Arrow */) {
|
|
303
|
+
addReturnResultsPart(this._program.serviceProvider, node, this._format, results.parts);
|
|
304
|
+
}
|
|
305
|
+
}
|
|
261
306
|
return results.parts.length > 0 ? results : null;
|
|
262
307
|
}
|
|
263
308
|
_addResultsForDeclaration(parts, declaration, node) {
|
|
@@ -280,6 +325,7 @@ class HoverProvider {
|
|
|
280
325
|
// getType on the original name because it's not in the symbol
|
|
281
326
|
// table. Instead, use the node from the resolved alias.
|
|
282
327
|
let typeNode = node;
|
|
328
|
+
let cachedTypeForTypeNode;
|
|
283
329
|
if (declaration.node.nodeType === 24 /* ParseNodeType.ImportAs */ ||
|
|
284
330
|
declaration.node.nodeType === 26 /* ParseNodeType.ImportFromAs */) {
|
|
285
331
|
if (declaration.node.d.alias && node !== declaration.node.d.alias) {
|
|
@@ -291,14 +337,31 @@ class HoverProvider {
|
|
|
291
337
|
else if (node.parent?.nodeType === 1 /* ParseNodeType.Argument */ && node.parent.d.name === node) {
|
|
292
338
|
// If this is a named argument, we would normally have received a Parameter declaration
|
|
293
339
|
// rather than a variable declaration, but we can get here in the case of a dataclass.
|
|
294
|
-
// Replace the typeNode with the node of the variable declaration.
|
|
295
340
|
if (declaration.node.nodeType === 38 /* ParseNodeType.Name */) {
|
|
296
|
-
|
|
341
|
+
if (!resolvedDecl.typeAnnotationNode) {
|
|
342
|
+
// No annotation: use the declaration name node.
|
|
343
|
+
typeNode = declaration.node;
|
|
344
|
+
}
|
|
345
|
+
else {
|
|
346
|
+
// Has annotation: prefer the call-site node so the type evaluator
|
|
347
|
+
// returns the declared annotation type (not flow-narrowed by the default).
|
|
348
|
+
// Fall back to declaration node if the call-site resolves to Any/Unknown
|
|
349
|
+
// (e.g. NamedTuple synthesized constructors).
|
|
350
|
+
const callSiteType = this._getType(node);
|
|
351
|
+
if ((0, types_1.isAnyOrUnknown)(callSiteType)) {
|
|
352
|
+
typeNode = declaration.node;
|
|
353
|
+
}
|
|
354
|
+
else {
|
|
355
|
+
// typeNode stays as `node`; reuse the type we just computed to
|
|
356
|
+
// avoid a duplicate _getType call on this hot hover path.
|
|
357
|
+
cachedTypeForTypeNode = callSiteType;
|
|
358
|
+
}
|
|
359
|
+
}
|
|
297
360
|
}
|
|
298
361
|
}
|
|
299
362
|
// Determine if this identifier is a type alias. If so, expand
|
|
300
363
|
// the type alias when printing the type information.
|
|
301
|
-
const type = this._getType(typeNode);
|
|
364
|
+
const type = cachedTypeForTypeNode ?? this._getType(typeNode);
|
|
302
365
|
const typeText = getVariableTypeText(this._evaluator, resolvedDecl, node.d.value, type, typeNode, this._functionSignatureDisplay, this._sourceMapper);
|
|
303
366
|
this._addResultsPart(parts, typeText, /* python */ true);
|
|
304
367
|
this._addDocumentationPart(parts, node, resolvedDecl);
|
|
@@ -390,28 +453,40 @@ class HoverProvider {
|
|
|
390
453
|
_tryAddPartsForTypedDictKey(node, type, parts) {
|
|
391
454
|
// If the expected type is a TypedDict and the current node is a key entry then we can provide a tooltip
|
|
392
455
|
// with the type of the TypedDict key and its docstring, if available.
|
|
456
|
+
const seenEntries = new Set();
|
|
393
457
|
(0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
|
|
394
458
|
if ((0, types_1.isClassInstance)(subtype) && types_1.ClassType.isTypedDictClass(subtype)) {
|
|
395
459
|
const entry = subtype.shared.typedDictEntries?.knownItems.get(node.d.value);
|
|
396
460
|
if (entry) {
|
|
397
|
-
// If we have already added parts for another declaration (e.g. for a union of TypedDicts that share the same key)
|
|
398
|
-
// then we need to add a separator to prevent a visual bug.
|
|
399
|
-
if (parts.length > 0) {
|
|
400
|
-
parts.push({ text: '\n\n---\n' });
|
|
401
|
-
}
|
|
402
461
|
// e.g. (key) name: str
|
|
403
462
|
const text = '(key) ' + node.d.value + ': ' + this._evaluator.printType(entry.valueType);
|
|
404
|
-
this._addResultsPart(parts, text, /* python */ true);
|
|
405
463
|
const declarations = types_1.ClassType.getSymbolTable(subtype).get(node.d.value)?.getDeclarations();
|
|
464
|
+
let declarationWithDoc;
|
|
465
|
+
let docString = '';
|
|
406
466
|
if (declarations !== undefined && declarations?.length !== 0) {
|
|
407
467
|
// As we are just interested in the docString we don't have to worry about
|
|
408
468
|
// anything other than the first declaration. There also shouldn't be more
|
|
409
469
|
// than one declaration for a TypedDict key variable.
|
|
410
470
|
const declaration = declarations[0];
|
|
411
471
|
if (declaration.type === 1 /* DeclarationType.Variable */ && declaration.docString !== undefined) {
|
|
412
|
-
|
|
472
|
+
declarationWithDoc = declaration;
|
|
473
|
+
docString = declaration.docString;
|
|
413
474
|
}
|
|
414
475
|
}
|
|
476
|
+
const dedupKey = `${text}\n${docString}`;
|
|
477
|
+
if (seenEntries.has(dedupKey)) {
|
|
478
|
+
return;
|
|
479
|
+
}
|
|
480
|
+
seenEntries.add(dedupKey);
|
|
481
|
+
// If we have already added parts for another declaration (e.g. for a union of TypedDicts that share the same key)
|
|
482
|
+
// then we need to add a separator to prevent a visual bug.
|
|
483
|
+
if (parts.length > 0) {
|
|
484
|
+
parts.push({ text: '\n\n---\n' });
|
|
485
|
+
}
|
|
486
|
+
this._addResultsPart(parts, text, /* python */ true);
|
|
487
|
+
if (declarationWithDoc) {
|
|
488
|
+
this._addDocumentationPartForType(parts, subtype, declarationWithDoc);
|
|
489
|
+
}
|
|
415
490
|
}
|
|
416
491
|
}
|
|
417
492
|
});
|
|
@@ -446,11 +521,11 @@ class HoverProvider {
|
|
|
446
521
|
this._addDocumentationPartForType(parts, type, resolvedDecl, node.d.value);
|
|
447
522
|
}
|
|
448
523
|
_addDocumentationPartForType(parts, type, resolvedDecl, name) {
|
|
449
|
-
const
|
|
524
|
+
const documentation = (0, tooltipUtils_1.getDocumentationPartsForTypeAndDeclWithSource)(this._sourceMapper, type, resolvedDecl, this._evaluator, {
|
|
450
525
|
name,
|
|
451
526
|
});
|
|
452
|
-
addDocumentationResultsPart(this._program.serviceProvider,
|
|
453
|
-
return !!
|
|
527
|
+
addDocumentationResultsPart(this._program.serviceProvider, documentation?.text, this._format, parts, resolvedDecl, documentation?.forceLiteral);
|
|
528
|
+
return !!documentation?.text;
|
|
454
529
|
}
|
|
455
530
|
_addResultsPart(parts, text, python = false) {
|
|
456
531
|
parts.push({
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"hoverProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/hoverProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import { ImportedModuleDescriptor, ImportResolver } from '../analyzer/importResolver';
|
|
2
|
+
import { ImplicitImport, ImportResult } from '../analyzer/importResult';
|
|
3
|
+
import { SymbolTable } from '../analyzer/symbol';
|
|
4
|
+
import { ExecutionEnvironment } from '../common/configOptions';
|
|
5
|
+
import { ProgramView } from '../common/extensibility';
|
|
6
|
+
import { Uri } from '../common/uri/uri';
|
|
7
|
+
import { ImportFromNode, ModuleNameNode } from '../parser/parseNodes';
|
|
8
|
+
export declare function createModuleNameCompletionDescriptor(moduleNode: ModuleNameNode, enumerateAll?: boolean): ImportedModuleDescriptor;
|
|
9
|
+
export declare function getModuleNameCompletionSuggestions(importResolver: ImportResolver, fileUri: Uri, execEnv: ExecutionEnvironment, moduleNode: ModuleNameNode, enumerateAll?: boolean): Map<string, Uri>;
|
|
10
|
+
export declare function getImportFromTarget(program: ProgramView, importFromNode: ImportFromNode): ImportFromTarget;
|
|
11
|
+
export interface ImportFromTarget {
|
|
12
|
+
importInfo?: ImportResult;
|
|
13
|
+
hasParseResults: boolean;
|
|
14
|
+
symbolTable?: SymbolTable;
|
|
15
|
+
implicitImports?: Map<string, ImplicitImport>;
|
|
16
|
+
}
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/*
|
|
3
|
+
* importStatementCandidates.ts
|
|
4
|
+
* Copyright (c) Microsoft Corporation.
|
|
5
|
+
* Licensed under the MIT license.
|
|
6
|
+
*
|
|
7
|
+
* Shared helpers that enumerate the candidate names valid at an import-statement
|
|
8
|
+
* position. These are the same candidate sources the completion provider uses,
|
|
9
|
+
* extracted so that the change-spelling code action can offer near-name
|
|
10
|
+
* replacements from the identical corpus instead of the auto-import index.
|
|
11
|
+
*/
|
|
12
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
13
|
+
if (k2 === undefined) k2 = k;
|
|
14
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
15
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
16
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
17
|
+
}
|
|
18
|
+
Object.defineProperty(o, k2, desc);
|
|
19
|
+
}) : (function(o, m, k, k2) {
|
|
20
|
+
if (k2 === undefined) k2 = k;
|
|
21
|
+
o[k2] = m[k];
|
|
22
|
+
}));
|
|
23
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
24
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
25
|
+
}) : function(o, v) {
|
|
26
|
+
o["default"] = v;
|
|
27
|
+
});
|
|
28
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
29
|
+
var ownKeys = function(o) {
|
|
30
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
31
|
+
var ar = [];
|
|
32
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
33
|
+
return ar;
|
|
34
|
+
};
|
|
35
|
+
return ownKeys(o);
|
|
36
|
+
};
|
|
37
|
+
return function (mod) {
|
|
38
|
+
if (mod && mod.__esModule) return mod;
|
|
39
|
+
var result = {};
|
|
40
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
41
|
+
__setModuleDefault(result, mod);
|
|
42
|
+
return result;
|
|
43
|
+
};
|
|
44
|
+
})();
|
|
45
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
46
|
+
exports.createModuleNameCompletionDescriptor = createModuleNameCompletionDescriptor;
|
|
47
|
+
exports.getModuleNameCompletionSuggestions = getModuleNameCompletionSuggestions;
|
|
48
|
+
exports.getImportFromTarget = getImportFromTarget;
|
|
49
|
+
const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
|
|
50
|
+
const uri_1 = require("../common/uri/uri");
|
|
51
|
+
// Builds the module descriptor used to enumerate module-name completion candidates
|
|
52
|
+
// for the module-name position (`import X`, `from X import ...`).
|
|
53
|
+
//
|
|
54
|
+
// When `enumerateAll` is true, the final (typed) name segment is dropped so the
|
|
55
|
+
// resolver returns the full set of siblings under the parent package. This is
|
|
56
|
+
// used by the change-spelling code action, where the typed segment is a
|
|
57
|
+
// misspelling rather than a prefix and must be matched by edit distance. When
|
|
58
|
+
// false (completion), the typed segment is kept and used as a prefix filter.
|
|
59
|
+
function createModuleNameCompletionDescriptor(moduleNode, enumerateAll = false) {
|
|
60
|
+
const nameParts = moduleNode.d.nameParts.map((part) => part.d.value);
|
|
61
|
+
let hasTrailingDot = moduleNode.d.hasTrailingDot || false;
|
|
62
|
+
if (enumerateAll && !hasTrailingDot && nameParts.length > 0) {
|
|
63
|
+
// Drop the misspelled final segment and enumerate everything under its
|
|
64
|
+
// parent so edit-distance matching has the full sibling corpus.
|
|
65
|
+
nameParts.pop();
|
|
66
|
+
hasTrailingDot = nameParts.length > 0 || moduleNode.d.leadingDots > 0;
|
|
67
|
+
}
|
|
68
|
+
return {
|
|
69
|
+
leadingDots: moduleNode.d.leadingDots,
|
|
70
|
+
hasTrailingDot,
|
|
71
|
+
nameParts,
|
|
72
|
+
importedSymbols: new Set(),
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// Enumerates module-name completion candidates for the module-name position
|
|
76
|
+
// (`import X`, `from X import ...`). See `createModuleNameCompletionDescriptor`
|
|
77
|
+
// for the meaning of `enumerateAll`.
|
|
78
|
+
function getModuleNameCompletionSuggestions(importResolver, fileUri, execEnv, moduleNode, enumerateAll = false) {
|
|
79
|
+
const moduleDescriptor = createModuleNameCompletionDescriptor(moduleNode, enumerateAll);
|
|
80
|
+
return importResolver.getCompletionSuggestions(fileUri, execEnv, moduleDescriptor);
|
|
81
|
+
}
|
|
82
|
+
// Resolves the target module of a `from X import ...` statement and returns its
|
|
83
|
+
// top-level (module-scope) symbol table and implicit submodule imports. The symbol
|
|
84
|
+
// table is the raw module scope: it can include non-exported / underscore-private
|
|
85
|
+
// names and is not filtered by `__all__` or visibility. Callers that need
|
|
86
|
+
// completion-style filtering must apply it themselves.
|
|
87
|
+
function getImportFromTarget(program, importFromNode) {
|
|
88
|
+
const importInfo = AnalyzerNodeInfo.getImportInfo(importFromNode.d.module);
|
|
89
|
+
if (!importInfo) {
|
|
90
|
+
return { hasParseResults: false };
|
|
91
|
+
}
|
|
92
|
+
const resolvedPath = importInfo.resolvedUris.length > 0 ? importInfo.resolvedUris[importInfo.resolvedUris.length - 1] : uri_1.Uri.empty();
|
|
93
|
+
const parseResults = program.getParseResults(resolvedPath);
|
|
94
|
+
if (!parseResults) {
|
|
95
|
+
return { importInfo, hasParseResults: false, implicitImports: importInfo.implicitImports };
|
|
96
|
+
}
|
|
97
|
+
const symbolTable = AnalyzerNodeInfo.getScope(parseResults.parserOutput.parseTree)?.symbolTable;
|
|
98
|
+
return { importInfo, hasParseResults: true, symbolTable, implicitImports: importInfo.implicitImports };
|
|
99
|
+
}
|
|
100
|
+
//# sourceMappingURL=importStatementCandidates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"importStatementCandidates.js","sourceRoot":"","sources":["../../../../../src/languageService/importStatementCandidates.ts"],"names":[],"mappings":";AAAA;;;;;;;;;GASG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAmBH,oFAoBC;AAKD,gFASC;AAOD,kDAgBC;AA1ED,+EAAiE;AAMjE,2CAAwC;AAGxC,mFAAmF;AACnF,kEAAkE;AAClE,EAAE;AACF,gFAAgF;AAChF,8EAA8E;AAC9E,wEAAwE;AACxE,8EAA8E;AAC9E,6EAA6E;AAC7E,SAAgB,oCAAoC,CAChD,UAA0B,EAC1B,YAAY,GAAG,KAAK;IAEpB,MAAM,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC;IACrE,IAAI,cAAc,GAAG,UAAU,CAAC,CAAC,CAAC,cAAc,IAAI,KAAK,CAAC;IAE1D,IAAI,YAAY,IAAI,CAAC,cAAc,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1D,uEAAuE;QACvE,gEAAgE;QAChE,SAAS,CAAC,GAAG,EAAE,CAAC;QAChB,cAAc,GAAG,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,WAAW,GAAG,CAAC,CAAC;IAC1E,CAAC;IAED,OAAO;QACH,WAAW,EAAE,UAAU,CAAC,CAAC,CAAC,WAAW;QACrC,cAAc;QACd,SAAS;QACT,eAAe,EAAE,IAAI,GAAG,EAAU;KACrC,CAAC;AACN,CAAC;AAED,4EAA4E;AAC5E,gFAAgF;AAChF,qCAAqC;AACrC,SAAgB,kCAAkC,CAC9C,cAA8B,EAC9B,OAAY,EACZ,OAA6B,EAC7B,UAA0B,EAC1B,YAAY,GAAG,KAAK;IAEpB,MAAM,gBAAgB,GAAG,oCAAoC,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;IACxF,OAAO,cAAc,CAAC,wBAAwB,CAAC,OAAO,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC;AACvF,CAAC;AAED,gFAAgF;AAChF,mFAAmF;AACnF,kFAAkF;AAClF,0EAA0E;AAC1E,uDAAuD;AACvD,SAAgB,mBAAmB,CAAC,OAAoB,EAAE,cAA8B;IACpF,MAAM,UAAU,GAAG,gBAAgB,CAAC,aAAa,CAAC,cAAc,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;IAC3E,IAAI,CAAC,UAAU,EAAE,CAAC;QACd,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACtC,CAAC;IAED,MAAM,YAAY,GACd,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,YAAY,CAAC,UAAU,CAAC,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,SAAG,CAAC,KAAK,EAAE,CAAC;IAEnH,MAAM,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC,YAAY,CAAC,CAAC;IAC3D,IAAI,CAAC,YAAY,EAAE,CAAC;QAChB,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,KAAK,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;IAC/F,CAAC;IAED,MAAM,WAAW,GAAG,gBAAgB,CAAC,QAAQ,CAAC,YAAY,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,WAAW,CAAC;IAChG,OAAO,EAAE,UAAU,EAAE,eAAe,EAAE,IAAI,EAAE,WAAW,EAAE,eAAe,EAAE,UAAU,CAAC,eAAe,EAAE,CAAC;AAC3G,CAAC"}
|
|
@@ -1,18 +1,21 @@
|
|
|
1
1
|
import { CancellationToken, Location, ResultProgressReporter } from 'vscode-languageserver';
|
|
2
2
|
import { Declaration } from '../analyzer/declaration';
|
|
3
3
|
import { DocumentRange } from '../common/docRange';
|
|
4
|
-
import { ProgramView, ReferenceUseCase, SymbolUsageProvider } from '../common/extensibility';
|
|
4
|
+
import { ProgramView, ReferenceUseCase, SourceFileInfo, SymbolUsageProvider } from '../common/extensibility';
|
|
5
5
|
import { ReadOnlyFileSystem } from '../common/fileSystem';
|
|
6
|
-
import { Position,
|
|
6
|
+
import { Position, TextRange } from '../common/textRange';
|
|
7
7
|
import { Uri } from '../common/uri/uri';
|
|
8
8
|
import { NameNode, ParseNode } from '../parser/parseNodes';
|
|
9
9
|
import { ParseFileResults } from '../parser/parser';
|
|
10
10
|
import { CollectionResult } from './documentSymbolCollector';
|
|
11
11
|
export type ReferenceCallback = (locations: DocumentRange[]) => void;
|
|
12
|
-
export interface
|
|
12
|
+
export interface ReferenceLocation {
|
|
13
13
|
location: DocumentRange;
|
|
14
|
-
|
|
15
|
-
|
|
14
|
+
range: TextRange;
|
|
15
|
+
}
|
|
16
|
+
interface FileReferenceCollection {
|
|
17
|
+
results: ReferenceLocation[];
|
|
18
|
+
discoveredDeclarations: readonly Declaration[];
|
|
16
19
|
}
|
|
17
20
|
export declare class ReferencesResult {
|
|
18
21
|
readonly requiresGlobalSearch: boolean;
|
|
@@ -27,8 +30,8 @@ export declare class ReferencesResult {
|
|
|
27
30
|
constructor(requiresGlobalSearch: boolean, nodeAtOffset: ParseNode, symbolNames: string[], declarations: Declaration[], useCase: ReferenceUseCase, providers: readonly SymbolUsageProvider[], _reporter?: ReferenceCallback | undefined);
|
|
28
31
|
get containsOnlyImportDecls(): boolean;
|
|
29
32
|
get locations(): readonly DocumentRange[];
|
|
30
|
-
get results(): readonly
|
|
31
|
-
addResults(...locs:
|
|
33
|
+
get results(): readonly ReferenceLocation[];
|
|
34
|
+
addResults(...locs: ReferenceLocation[]): void;
|
|
32
35
|
}
|
|
33
36
|
export declare class FindReferencesTreeWalker {
|
|
34
37
|
private _program;
|
|
@@ -37,9 +40,10 @@ export declare class FindReferencesTreeWalker {
|
|
|
37
40
|
private _includeDeclaration;
|
|
38
41
|
private _cancellationToken;
|
|
39
42
|
private readonly _createDocumentRange;
|
|
43
|
+
private readonly _previousResultRanges?;
|
|
40
44
|
private _parseResults;
|
|
41
|
-
constructor(_program: ProgramView, _fileUri: Uri, _referencesResult: ReferencesResult, _includeDeclaration: boolean, _cancellationToken: CancellationToken, _createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange);
|
|
42
|
-
findReferences(rootNode?: import("../parser/parseNodes").ModuleNode | undefined):
|
|
45
|
+
constructor(_program: ProgramView, _fileUri: Uri, _referencesResult: ReferencesResult, _includeDeclaration: boolean, _cancellationToken: CancellationToken, _createDocumentRange?: (fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange, _previousResultRanges?: ReadonlySet<string> | undefined);
|
|
46
|
+
findReferences(rootNode?: import("../parser/parseNodes").ModuleNode | undefined): FileReferenceCollection;
|
|
43
47
|
static createDocumentRange(fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults): DocumentRange;
|
|
44
48
|
}
|
|
45
49
|
export declare class ReferencesProvider {
|
|
@@ -49,7 +53,10 @@ export declare class ReferencesProvider {
|
|
|
49
53
|
private readonly _convertToLocation?;
|
|
50
54
|
constructor(_program: ProgramView, _token: CancellationToken, _createDocumentRange?: ((fileUri: Uri, result: CollectionResult, parseResults: ParseFileResults) => DocumentRange) | undefined, _convertToLocation?: ((fs: ReadOnlyFileSystem, ranges: DocumentRange) => Location | undefined) | undefined);
|
|
51
55
|
reportReferences(fileUri: Uri, position: Position, includeDeclaration: boolean, resultReporter?: ResultProgressReporter<Location[]>): Location[] | undefined;
|
|
56
|
+
collectFileReferences(fileUri: Uri, includeDeclaration: boolean, referencesResult: ReferencesResult, previousResultRanges?: Set<string>): FileReferenceCollection;
|
|
52
57
|
addReferencesToResult(fileUri: Uri, includeDeclaration: boolean, referencesResult: ReferencesResult): void;
|
|
58
|
+
collectWorkspaceReferences(referencesResult: ReferencesResult, includeDeclaration: boolean, isCandidateFile: (sourceFileInfo: SourceFileInfo) => boolean): void;
|
|
53
59
|
static getDeclarationForNode(program: ProgramView, fileUri: Uri, node: NameNode, reporter: ReferenceCallback | undefined, useCase: ReferenceUseCase, token: CancellationToken): ReferencesResult | undefined;
|
|
54
60
|
static getDeclarationForPosition(program: ProgramView, fileUri: Uri, position: Position, reporter: ReferenceCallback | undefined, useCase: ReferenceUseCase, token: CancellationToken): ReferencesResult | undefined;
|
|
55
61
|
}
|
|
62
|
+
export {};
|