@zzzen/pyright-internal 1.2.0-dev.20260607 → 1.2.0-dev.20260621
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/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/importResolver.d.ts +1 -0
- package/dist/analyzer/importResolver.js +38 -8
- package/dist/analyzer/importResolver.js.map +1 -1
- package/dist/analyzer/importStatementUtils.js +17 -7
- 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 +19 -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/program.d.ts +1 -0
- package/dist/analyzer/program.js +38 -7
- package/dist/analyzer/program.js.map +1 -1
- package/dist/analyzer/pythonPathUtils.js +33 -7
- 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 +2 -2
- 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 +69 -28
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeGuards.js +19 -9
- 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/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 +2 -1
- package/dist/common/fullAccessHost.js +26 -7
- package/dist/common/fullAccessHost.js.map +1 -1
- package/dist/common/host.d.ts +31 -0
- package/dist/common/host.js +3 -0
- 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/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/workspaceEditUtils.d.ts +1 -0
- package/dist/common/workspaceEditUtils.js +10 -0
- package/dist/common/workspaceEditUtils.js.map +1 -1
- package/dist/languageServerBase.js +13 -3
- 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 +5 -2
- package/dist/languageService/completionProvider.js +125 -19
- package/dist/languageService/completionProvider.js.map +1 -1
- package/dist/languageService/completionProviderUtils.d.ts +16 -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 +4 -0
- package/dist/languageService/documentSymbolCollector.js +73 -9
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/languageService/hoverProvider.d.ts +1 -1
- package/dist/languageService/hoverProvider.js +76 -23
- package/dist/languageService/hoverProvider.js.map +1 -1
- package/dist/languageService/referencesProvider.js +17 -7
- package/dist/languageService/referencesProvider.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 +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 +2 -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 +82 -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/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 +17 -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/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/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.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.pythonVersion.fourslash.js +20 -0
- package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
- 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/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 +104 -0
- package/dist/tests/importResolver.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 +0 -4
- package/dist/tests/lsp/languageServerTestUtils.js +76 -21
- package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
- package/dist/tests/parser.test.js +246 -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/realTempFile.test.js +17 -7
- package/dist/tests/realTempFile.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 +17 -7
- package/dist/tests/typeEvaluator1.test.js.map +1 -1
- package/dist/tests/typeEvaluator2.test.js +17 -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 +23 -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 +17 -7
- 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/package.json +9 -9
- 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
|
@@ -26,13 +26,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
26
26
|
}) : function(o, v) {
|
|
27
27
|
o["default"] = v;
|
|
28
28
|
});
|
|
29
|
-
var __importStar = (this && this.__importStar) || function (
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
};
|
|
29
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
30
|
+
var ownKeys = function(o) {
|
|
31
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
32
|
+
var ar = [];
|
|
33
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
34
|
+
return ar;
|
|
35
|
+
};
|
|
36
|
+
return ownKeys(o);
|
|
37
|
+
};
|
|
38
|
+
return function (mod) {
|
|
39
|
+
if (mod && mod.__esModule) return mod;
|
|
40
|
+
var result = {};
|
|
41
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
42
|
+
__setModuleDefault(result, mod);
|
|
43
|
+
return result;
|
|
44
|
+
};
|
|
45
|
+
})();
|
|
36
46
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
37
47
|
exports.TypeDefinitionProvider = exports.DefinitionProvider = exports.DefinitionFilter = void 0;
|
|
38
48
|
exports.addDeclarationsToDefinitions = addDeclarationsToDefinitions;
|
|
@@ -49,13 +59,14 @@ const core_1 = require("../common/core");
|
|
|
49
59
|
const positionUtils_1 = require("../common/positionUtils");
|
|
50
60
|
const serviceKeys_1 = require("../common/serviceKeys");
|
|
51
61
|
const textRange_1 = require("../common/textRange");
|
|
62
|
+
const parseNodes_1 = require("../parser/parseNodes");
|
|
52
63
|
var DefinitionFilter;
|
|
53
64
|
(function (DefinitionFilter) {
|
|
54
65
|
DefinitionFilter["All"] = "all";
|
|
55
66
|
DefinitionFilter["PreferSource"] = "preferSource";
|
|
56
67
|
DefinitionFilter["PreferStubs"] = "preferStubs";
|
|
57
68
|
})(DefinitionFilter || (exports.DefinitionFilter = DefinitionFilter = {}));
|
|
58
|
-
function addDeclarationsToDefinitions(evaluator, sourceMapper, declarations, definitions) {
|
|
69
|
+
function addDeclarationsToDefinitions(evaluator, sourceMapper, declarations, definitions, filter = DefinitionFilter.All) {
|
|
59
70
|
if (!declarations) {
|
|
60
71
|
return;
|
|
61
72
|
}
|
|
@@ -111,7 +122,7 @@ function addDeclarationsToDefinitions(evaluator, sourceMapper, declarations, def
|
|
|
111
122
|
.forEach((f) => _addIfUnique(definitions, _createModuleEntry(f)));
|
|
112
123
|
return;
|
|
113
124
|
}
|
|
114
|
-
const implDecls = sourceMapper.findDeclarations(resolvedDecl);
|
|
125
|
+
const implDecls = _filterSourceMappedDeclarations(filter, resolvedDecl, sourceMapper.findDeclarations(resolvedDecl));
|
|
115
126
|
for (const implDecl of implDecls) {
|
|
116
127
|
if (implDecl && !implDecl.uri.isEmpty()) {
|
|
117
128
|
_addIfUnique(definitions, {
|
|
@@ -178,7 +189,7 @@ class DefinitionProviderBase {
|
|
|
178
189
|
return filterDefinitions(this._filter, definitions);
|
|
179
190
|
}
|
|
180
191
|
resolveDeclarations(declarations, definitions) {
|
|
181
|
-
addDeclarationsToDefinitions(this.evaluator, this.sourceMapper, declarations, definitions);
|
|
192
|
+
addDeclarationsToDefinitions(this.evaluator, this.sourceMapper, declarations, definitions, this._filter);
|
|
182
193
|
}
|
|
183
194
|
addSynthesizedTypes(synthTypes, definitions) {
|
|
184
195
|
for (const synthType of synthTypes) {
|
|
@@ -271,6 +282,54 @@ function _createModuleEntry(uri) {
|
|
|
271
282
|
},
|
|
272
283
|
};
|
|
273
284
|
}
|
|
285
|
+
// The PreferSource drop path below is intentionally duplicated byte-for-byte in the Pylance async
|
|
286
|
+
// producer (asyncDefinitionProvider.ts) per the sync↔async parity policy, which prefers mechanically
|
|
287
|
+
// comparable copies over a shared abstraction. Only the cross-boundary drift risk — the literal `_alias`
|
|
288
|
+
// callee recognizer — is shared (isAliasFactoryCallee); keep any change here mirrored in the async copy.
|
|
289
|
+
function _filterSourceMappedDeclarations(filter, resolvedDecl, implDecls) {
|
|
290
|
+
if (filter !== DefinitionFilter.PreferSource || !_isKnownTypingStubDeclaration(resolvedDecl)) {
|
|
291
|
+
return implDecls;
|
|
292
|
+
}
|
|
293
|
+
// Only strip the alias variable when a NON-STUB class/function implementation is also present. If the
|
|
294
|
+
// sole class/function candidate is itself a stub, keep every candidate so PreferSource can still return
|
|
295
|
+
// the non-stub `typing.py` alias variable instead of regressing to the stub-only set (the original #8035 bug).
|
|
296
|
+
if (!implDecls.some((implDecl) => ((0, declaration_1.isClassDeclaration)(implDecl) || (0, declaration_1.isFunctionDeclaration)(implDecl)) && !(0, sourceMapper_1.isStubFile)(implDecl.uri))) {
|
|
297
|
+
return implDecls;
|
|
298
|
+
}
|
|
299
|
+
return implDecls.filter((implDecl) => !_isTypingAliasFactoryVariableDeclaration(implDecl));
|
|
300
|
+
}
|
|
301
|
+
function _isKnownTypingStubDeclaration(decl) {
|
|
302
|
+
// Scope strictly to the stdlib/typeshed `typing.pyi` stub (mirrors SourceFile.isTypingStubFile) so that a
|
|
303
|
+
// user module that shadows `typing` with its own `typing.pyi` never triggers PreferSource alias pruning.
|
|
304
|
+
return decl.uri.pathEndsWith('stdlib/typing.pyi');
|
|
305
|
+
}
|
|
306
|
+
function _isTypingAliasFactoryVariableDeclaration(decl) {
|
|
307
|
+
if (!(0, declaration_1.isVariableDeclaration)(decl) || !_isKnownTypingModule(decl.moduleName)) {
|
|
308
|
+
return false;
|
|
309
|
+
}
|
|
310
|
+
const expression = _getDirectAssignmentExpression(decl.inferredTypeSource);
|
|
311
|
+
if (!expression || expression.nodeType !== 9 /* ParseNodeType.Call */) {
|
|
312
|
+
return false;
|
|
313
|
+
}
|
|
314
|
+
// typeshed declares the stdlib collections-ABC aliases as bare `_alias(...)` factory calls in
|
|
315
|
+
// `typing` (e.g. `Iterable = _alias(collections.abc.Iterable, 1)`). The drop path stays strict
|
|
316
|
+
// (bare `Name` callee only, no member access) so it never discards unrelated `x._alias(...)` user
|
|
317
|
+
// code; if typeshed renames `_alias`, the shared recognizer safely no-ops.
|
|
318
|
+
return (0, sourceMapper_1.isAliasFactoryCallee)(expression.d.leftExpr);
|
|
319
|
+
}
|
|
320
|
+
function _getDirectAssignmentExpression(inferredTypeSource) {
|
|
321
|
+
// For the targeted plain `Iterable = _alias(...)` assignments the binder records `inferredTypeSource`
|
|
322
|
+
// as the RHS expression directly, so it is the bare `_alias(...)` call node. Other statement forms
|
|
323
|
+
// (for/with/comprehension/match capture) record a non-expression statement node instead; the
|
|
324
|
+
// `isExpressionNode` gate intentionally ignores those, since they are never typing-alias factories.
|
|
325
|
+
// This is deliberately narrower than sourceMapper.ts's similarly-purposed RHS extraction (which also
|
|
326
|
+
// unwraps Assignment/AssignmentExpression nodes); the distinct name avoids implying identical semantics
|
|
327
|
+
// with that authoritative helper. Widening it here is unnecessary for the targeted shape.
|
|
328
|
+
return inferredTypeSource && (0, parseNodes_1.isExpressionNode)(inferredTypeSource) ? inferredTypeSource : undefined;
|
|
329
|
+
}
|
|
330
|
+
function _isKnownTypingModule(moduleName) {
|
|
331
|
+
return moduleName === 'typing';
|
|
332
|
+
}
|
|
274
333
|
function _addIfUnique(definitions, itemToAdd) {
|
|
275
334
|
for (const def of definitions) {
|
|
276
335
|
if (def.uri.equals(itemToAdd.uri) && (0, textRange_1.rangesAreEqual)(def.range, itemToAdd.range)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitionProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/definitionProvider.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"definitionProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/definitionProvider.ts"],"names":[],"mappings":"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"}
|
|
@@ -24,13 +24,23 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
24
24
|
}) : function(o, v) {
|
|
25
25
|
o["default"] = v;
|
|
26
26
|
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
34
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
45
|
exports.DocumentHighlightProvider = void 0;
|
|
36
46
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentHighlightProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/documentHighlightProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG
|
|
1
|
+
{"version":3,"file":"documentHighlightProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/documentHighlightProvider.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,iEAAoG;AAEpG,2EAA6D;AAC7D,mEAA2E;AAC3E,2DAAwE;AACxE,2DAAyF;AACzF,mDAA0D;AAI1D,uEAAoE;AAEpE,MAAa,yBAAyB;IAGlC,YACY,QAAqB,EACrB,QAAa,EACb,SAAmB,EACnB,MAAyB;QAHzB,aAAQ,GAAR,QAAQ,CAAa;QACrB,aAAQ,GAAR,QAAQ,CAAK;QACb,cAAS,GAAT,SAAS,CAAU;QACnB,WAAM,GAAN,MAAM,CAAmB;QAEjC,IAAI,CAAC,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACtE,CAAC;IAED,oBAAoB;QAChB,IAAA,gDAA4B,EAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC;YACtB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,MAAM,GAAG,IAAA,uCAAuB,EAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;QACjG,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACvB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,IAAI,GAAG,cAAc,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EAAE,MAAM,CAAC,CAAC;QAChG,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;YACrB,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,gCAAuB,EAAE,CAAC;YACvC,OAAO,SAAS,CAAC;QACrB,CAAC;QAED,MAAM,OAAO,GAAG,iDAAuB,CAAC,eAAe,CACnD,IAAI,CAAC,QAAQ,EACb,IAAI,EACJ,IAAI,CAAC,MAAM,EACX,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,SAAS,EACzC;YACI,oCAAoC,EAAE,IAAI;YAC1C,OAAO,EAAE,gCAAgB,CAAC,UAAU;SACvC,CACJ,CAAC;QAEF,MAAM,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,eAAe,CAAC,KAAK,CAAC;QACvD,OAAO,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvB,IAAI,EACA,CAAC,CAAC,IAAI,CAAC,QAAQ,gCAAuB,IAAI,cAAc,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC;gBAC1E,CAAC,CAAC,6CAAqB,CAAC,KAAK;gBAC7B,CAAC,CAAC,6CAAqB,CAAC,IAAI;YACpC,KAAK,EAAE,IAAA,qCAAqB,EAAC,CAAC,CAAC,KAAK,CAAC,KAAK,EAAE,qBAAS,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC;SAChF,CAAC,CAAC,CAAC;IACR,CAAC;CACJ;AApDD,8DAoDC"}
|
|
@@ -9,6 +9,7 @@ export type CollectionResult = {
|
|
|
9
9
|
node: NameNode | StringNode;
|
|
10
10
|
range: TextRange;
|
|
11
11
|
};
|
|
12
|
+
export declare const maxSeedDiscoveryPasses = 16;
|
|
12
13
|
export interface DocumentSymbolCollectorOptions {
|
|
13
14
|
readonly treatModuleInImportAndFromImportSame?: boolean;
|
|
14
15
|
readonly skipUnreachableCode?: boolean;
|
|
@@ -42,6 +43,8 @@ export declare class DocumentSymbolCollector extends ParseTreeWalker {
|
|
|
42
43
|
private readonly _treatModuleInImportAndFromImportSame;
|
|
43
44
|
private readonly _skipUnreachableCode;
|
|
44
45
|
private readonly _useCase;
|
|
46
|
+
private readonly _hasSeedProviders;
|
|
47
|
+
private readonly _pendingSeedDeclarations;
|
|
45
48
|
private _aliasResolver;
|
|
46
49
|
constructor(_program: ProgramView, symbolNames: string[], declarations: Declaration[], _startingNode: ParseNode, _cancellationToken: CancellationToken, options?: DocumentSymbolCollectorOptions);
|
|
47
50
|
static collectFromNode(program: ProgramView, node: NameNode, cancellationToken: CancellationToken, startingNode?: ParseNode, options?: DocumentSymbolCollectorOptions): CollectionResult[];
|
|
@@ -57,6 +60,7 @@ export declare class DocumentSymbolCollector extends ParseTreeWalker {
|
|
|
57
60
|
private get _evaluator();
|
|
58
61
|
private _addResult;
|
|
59
62
|
private _isDeclarationAllowed;
|
|
63
|
+
private _mergePendingSeedDeclarations;
|
|
60
64
|
private _resultsContainsDeclaration;
|
|
61
65
|
private _getResolveAliasDeclaration;
|
|
62
66
|
private _setDunderAllNodes;
|
|
@@ -24,15 +24,25 @@ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (
|
|
|
24
24
|
}) : function(o, v) {
|
|
25
25
|
o["default"] = v;
|
|
26
26
|
});
|
|
27
|
-
var __importStar = (this && this.__importStar) || function (
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
};
|
|
27
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
28
|
+
var ownKeys = function(o) {
|
|
29
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
30
|
+
var ar = [];
|
|
31
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
32
|
+
return ar;
|
|
33
|
+
};
|
|
34
|
+
return ownKeys(o);
|
|
35
|
+
};
|
|
36
|
+
return function (mod) {
|
|
37
|
+
if (mod && mod.__esModule) return mod;
|
|
38
|
+
var result = {};
|
|
39
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
40
|
+
__setModuleDefault(result, mod);
|
|
41
|
+
return result;
|
|
42
|
+
};
|
|
43
|
+
})();
|
|
34
44
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
35
|
-
exports.DocumentSymbolCollector = exports.AliasResolver = void 0;
|
|
45
|
+
exports.DocumentSymbolCollector = exports.AliasResolver = exports.maxSeedDiscoveryPasses = void 0;
|
|
36
46
|
exports.getDeclarationsForNameNode = getDeclarationsForNameNode;
|
|
37
47
|
exports.addDeclarationIfUnique = addDeclarationIfUnique;
|
|
38
48
|
const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
|
|
@@ -50,6 +60,11 @@ const core_1 = require("../common/core");
|
|
|
50
60
|
const debug_1 = require("../common/debug");
|
|
51
61
|
const extensibility_1 = require("../common/extensibility");
|
|
52
62
|
const serviceKeys_1 = require("../common/serviceKeys");
|
|
63
|
+
// Upper bound on transitive seed-discovery passes (see `DocumentSymbolCollector.collect` and
|
|
64
|
+
// `AsyncDocumentSymbolCollector.collectAsync`). This is a safety net against pathological inputs;
|
|
65
|
+
// realistic protocol/inheritance bridging converges in one or two passes. Shared by both the sync
|
|
66
|
+
// and async collectors so the bound stays in lockstep.
|
|
67
|
+
exports.maxSeedDiscoveryPasses = 16;
|
|
53
68
|
// 99% of time, `find all references` is looking for a symbol imported from the other file to this file.
|
|
54
69
|
// By caching the result of `resolveAlias` we only need to resolve it once per a file.
|
|
55
70
|
const withLocalNamesCacheIndex = 0;
|
|
@@ -86,6 +101,7 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
86
101
|
this._dunderAllNameNodes = new Set();
|
|
87
102
|
this._symbolNames = new Set();
|
|
88
103
|
this._declarations = [];
|
|
104
|
+
this._pendingSeedDeclarations = [];
|
|
89
105
|
this._aliasResolver = new AliasResolver(this._program.evaluator);
|
|
90
106
|
// Start with the symbols passed in
|
|
91
107
|
symbolNames.forEach((s) => this._symbolNames.add(s));
|
|
@@ -98,6 +114,7 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
98
114
|
(this._program.serviceProvider.tryGet(serviceKeys_1.ServiceKeys.symbolUsageProviderFactory) ?? [])
|
|
99
115
|
.map((f) => f.tryCreateProvider(this._useCase, declarations, this._cancellationToken))
|
|
100
116
|
.filter(core_1.isDefined);
|
|
117
|
+
this._hasSeedProviders = this._usageProviders.some((p) => p.appendSeedDeclarationsAt !== undefined);
|
|
101
118
|
if (options?.providers === undefined) {
|
|
102
119
|
// Check whether we need to add new symbol names and declarations.
|
|
103
120
|
this._usageProviders.forEach((p) => {
|
|
@@ -197,6 +214,34 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
197
214
|
}
|
|
198
215
|
}
|
|
199
216
|
collect() {
|
|
217
|
+
// Fast path: no provider needs transitive discovery, so a single pass is exact.
|
|
218
|
+
if (!this._hasSeedProviders) {
|
|
219
|
+
this.walk(this._startingNode);
|
|
220
|
+
return this._results;
|
|
221
|
+
}
|
|
222
|
+
// Fixpoint: a matched usage can reveal additional seed declarations (e.g. a class that
|
|
223
|
+
// bridges two disjoint protocol co-bases). Re-walk with the grown seed until no new
|
|
224
|
+
// declarations are discovered. Clearing results each pass keeps the final pass complete
|
|
225
|
+
// and duplicate-free. Passes are bounded as a safety net against pathological inputs.
|
|
226
|
+
//
|
|
227
|
+
// NOTE: keep this loop's observable behavior in lockstep with
|
|
228
|
+
// AsyncDocumentSymbolCollector.collectAsync. The two paths are intentionally structured
|
|
229
|
+
// differently (sync clears `_results` and re-walks the whole tree each pass; async keeps
|
|
230
|
+
// `_results` and re-runs only the monotonic match phase), but must converge on the same set.
|
|
231
|
+
for (let pass = 0; pass < exports.maxSeedDiscoveryPasses; pass++) {
|
|
232
|
+
(0, cancellationUtils_1.throwIfCancellationRequested)(this._cancellationToken);
|
|
233
|
+
this._results.length = 0;
|
|
234
|
+
this._pendingSeedDeclarations.length = 0;
|
|
235
|
+
this.walk(this._startingNode);
|
|
236
|
+
if (!this._mergePendingSeedDeclarations()) {
|
|
237
|
+
// Converged: no new seed declarations, so `_results` reflects the final seed.
|
|
238
|
+
return this._results;
|
|
239
|
+
}
|
|
240
|
+
}
|
|
241
|
+
// Pass budget exhausted while the seed was still growing. The last merge added declarations
|
|
242
|
+
// after the final walk, so `_results` may lag the seed. Re-walk once more so results match
|
|
243
|
+
// the final seed set; this keeps rename edit sets complete even for pathological inputs.
|
|
244
|
+
this._results.length = 0;
|
|
200
245
|
this.walk(this._startingNode);
|
|
201
246
|
return this._results;
|
|
202
247
|
}
|
|
@@ -264,10 +309,23 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
264
309
|
return this._declarations.some((decl) => (0, declarationUtils_1.areDeclarationsSame)(decl, resolvedDecl, this._treatModuleInImportAndFromImportSame,
|
|
265
310
|
/* skipRangeForAliases */ true));
|
|
266
311
|
}
|
|
312
|
+
_mergePendingSeedDeclarations() {
|
|
313
|
+
let added = false;
|
|
314
|
+
for (const decl of this._pendingSeedDeclarations) {
|
|
315
|
+
// Seed declarations are compared in resolved form, so mirror getDeclarationsForNode.
|
|
316
|
+
const resolved = this._evaluator.resolveAliasDeclaration(decl, /* resolveLocalNames */ true) ?? decl;
|
|
317
|
+
const before = this._declarations.length;
|
|
318
|
+
addDeclarationIfUnique(this._declarations, resolved);
|
|
319
|
+
if (this._declarations.length !== before) {
|
|
320
|
+
added = true;
|
|
321
|
+
}
|
|
322
|
+
}
|
|
323
|
+
return added;
|
|
324
|
+
}
|
|
267
325
|
_resultsContainsDeclaration(usage, declarations) {
|
|
268
326
|
const results = [...declarations];
|
|
269
327
|
this._usageProviders.forEach((p) => p.appendDeclarationsAt(usage, declarations, results));
|
|
270
|
-
|
|
328
|
+
const matched = results.some((declaration) => {
|
|
271
329
|
// Resolve the declaration.
|
|
272
330
|
const resolvedDecl = this._aliasResolver.resolve(declaration, /* resolveLocalNames */ false);
|
|
273
331
|
if (!resolvedDecl) {
|
|
@@ -286,6 +344,12 @@ class DocumentSymbolCollector extends parseTreeWalker_1.ParseTreeWalker {
|
|
|
286
344
|
}
|
|
287
345
|
return this._isDeclarationAllowed(resolvedDeclNonlocal);
|
|
288
346
|
});
|
|
347
|
+
// When the usage matches, let opted-in providers contribute declarations that should
|
|
348
|
+
// join the seed set so transitively-reachable usages can match on a later pass.
|
|
349
|
+
if (matched && this._hasSeedProviders) {
|
|
350
|
+
this._usageProviders.forEach((p) => p.appendSeedDeclarationsAt?.(usage, declarations, this._pendingSeedDeclarations));
|
|
351
|
+
}
|
|
352
|
+
return matched;
|
|
289
353
|
}
|
|
290
354
|
_getResolveAliasDeclaration(declaration) {
|
|
291
355
|
// TypeEvaluator.resolveAliasDeclaration only resolve alias in AliasDeclaration in the form of
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"documentSymbolCollector.js","sourceRoot":"","sources":["../../../../../src/languageService/documentSymbolCollector.ts"],"names":[],"mappings":"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"}
|
|
@@ -19,7 +19,7 @@ export interface HoverResults {
|
|
|
19
19
|
}
|
|
20
20
|
export declare function convertHoverResults(hoverResults: HoverResults | null, format: MarkupKind): Hover | null;
|
|
21
21
|
export declare function addParameterResultsPart(serviceProvider: ServiceProvider, paramNameNode: NameNode, resolvedDecl: Declaration | undefined, format: MarkupKind, parts: HoverTextPart[]): void;
|
|
22
|
-
export declare function addDocumentationResultsPart(serviceProvider: ServiceProvider, docString: string | undefined, format: MarkupKind, parts: HoverTextPart[], resolvedDecl: Declaration | undefined): void;
|
|
22
|
+
export declare function addDocumentationResultsPart(serviceProvider: ServiceProvider, docString: string | undefined, format: MarkupKind, parts: HoverTextPart[], resolvedDecl: Declaration | undefined, forceLiteralOverride?: boolean): void;
|
|
23
23
|
export declare function getVariableTypeText(evaluator: TypeEvaluator, declaration: VariableDeclaration | undefined, name: string, type: Type, typeNode: ExpressionNode, functionSignatureDisplay: SignatureDisplayType, sourceMapper?: SourceMapper): string;
|
|
24
24
|
export declare class HoverProvider {
|
|
25
25
|
private readonly _program;
|
|
@@ -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,17 @@ function addParameterResultsPart(serviceProvider, paramNameNode, resolvedDecl, f
|
|
|
99
121
|
text: docString,
|
|
100
122
|
});
|
|
101
123
|
}
|
|
102
|
-
function addDocumentationResultsPart(serviceProvider, docString, format, parts, resolvedDecl) {
|
|
124
|
+
function addDocumentationResultsPart(serviceProvider, docString, format, parts, resolvedDecl, forceLiteralOverride) {
|
|
103
125
|
if (!docString) {
|
|
104
126
|
return;
|
|
105
127
|
}
|
|
106
128
|
if (format === vscode_languageserver_1.MarkupKind.Markdown) {
|
|
129
|
+
const forceLiteral = forceLiteralOverride ?? (0, typeDocStringUtils_1.isBuiltInModule)(resolvedDecl?.uri);
|
|
107
130
|
const markDown = serviceProvider
|
|
108
131
|
.docStringService()
|
|
109
|
-
.convertDocStringToMarkdown(docString,
|
|
132
|
+
.convertDocStringToMarkdown(docString, forceLiteral, resolvedDecl?.uri);
|
|
110
133
|
if (parts.length > 0 && markDown.length > 0) {
|
|
111
|
-
parts.push({ text:
|
|
134
|
+
parts.push({ text: getDocumentationSeparator(parts[parts.length - 1]) });
|
|
112
135
|
}
|
|
113
136
|
parts.push({ text: markDown, python: false });
|
|
114
137
|
return;
|
|
@@ -280,6 +303,7 @@ class HoverProvider {
|
|
|
280
303
|
// getType on the original name because it's not in the symbol
|
|
281
304
|
// table. Instead, use the node from the resolved alias.
|
|
282
305
|
let typeNode = node;
|
|
306
|
+
let cachedTypeForTypeNode;
|
|
283
307
|
if (declaration.node.nodeType === 24 /* ParseNodeType.ImportAs */ ||
|
|
284
308
|
declaration.node.nodeType === 26 /* ParseNodeType.ImportFromAs */) {
|
|
285
309
|
if (declaration.node.d.alias && node !== declaration.node.d.alias) {
|
|
@@ -291,14 +315,31 @@ class HoverProvider {
|
|
|
291
315
|
else if (node.parent?.nodeType === 1 /* ParseNodeType.Argument */ && node.parent.d.name === node) {
|
|
292
316
|
// If this is a named argument, we would normally have received a Parameter declaration
|
|
293
317
|
// 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
318
|
if (declaration.node.nodeType === 38 /* ParseNodeType.Name */) {
|
|
296
|
-
|
|
319
|
+
if (!resolvedDecl.typeAnnotationNode) {
|
|
320
|
+
// No annotation: use the declaration name node.
|
|
321
|
+
typeNode = declaration.node;
|
|
322
|
+
}
|
|
323
|
+
else {
|
|
324
|
+
// Has annotation: prefer the call-site node so the type evaluator
|
|
325
|
+
// returns the declared annotation type (not flow-narrowed by the default).
|
|
326
|
+
// Fall back to declaration node if the call-site resolves to Any/Unknown
|
|
327
|
+
// (e.g. NamedTuple synthesized constructors).
|
|
328
|
+
const callSiteType = this._getType(node);
|
|
329
|
+
if ((0, types_1.isAnyOrUnknown)(callSiteType)) {
|
|
330
|
+
typeNode = declaration.node;
|
|
331
|
+
}
|
|
332
|
+
else {
|
|
333
|
+
// typeNode stays as `node`; reuse the type we just computed to
|
|
334
|
+
// avoid a duplicate _getType call on this hot hover path.
|
|
335
|
+
cachedTypeForTypeNode = callSiteType;
|
|
336
|
+
}
|
|
337
|
+
}
|
|
297
338
|
}
|
|
298
339
|
}
|
|
299
340
|
// Determine if this identifier is a type alias. If so, expand
|
|
300
341
|
// the type alias when printing the type information.
|
|
301
|
-
const type = this._getType(typeNode);
|
|
342
|
+
const type = cachedTypeForTypeNode ?? this._getType(typeNode);
|
|
302
343
|
const typeText = getVariableTypeText(this._evaluator, resolvedDecl, node.d.value, type, typeNode, this._functionSignatureDisplay, this._sourceMapper);
|
|
303
344
|
this._addResultsPart(parts, typeText, /* python */ true);
|
|
304
345
|
this._addDocumentationPart(parts, node, resolvedDecl);
|
|
@@ -390,28 +431,40 @@ class HoverProvider {
|
|
|
390
431
|
_tryAddPartsForTypedDictKey(node, type, parts) {
|
|
391
432
|
// If the expected type is a TypedDict and the current node is a key entry then we can provide a tooltip
|
|
392
433
|
// with the type of the TypedDict key and its docstring, if available.
|
|
434
|
+
const seenEntries = new Set();
|
|
393
435
|
(0, typeUtils_1.doForEachSubtype)(type, (subtype) => {
|
|
394
436
|
if ((0, types_1.isClassInstance)(subtype) && types_1.ClassType.isTypedDictClass(subtype)) {
|
|
395
437
|
const entry = subtype.shared.typedDictEntries?.knownItems.get(node.d.value);
|
|
396
438
|
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
439
|
// e.g. (key) name: str
|
|
403
440
|
const text = '(key) ' + node.d.value + ': ' + this._evaluator.printType(entry.valueType);
|
|
404
|
-
this._addResultsPart(parts, text, /* python */ true);
|
|
405
441
|
const declarations = types_1.ClassType.getSymbolTable(subtype).get(node.d.value)?.getDeclarations();
|
|
442
|
+
let declarationWithDoc;
|
|
443
|
+
let docString = '';
|
|
406
444
|
if (declarations !== undefined && declarations?.length !== 0) {
|
|
407
445
|
// As we are just interested in the docString we don't have to worry about
|
|
408
446
|
// anything other than the first declaration. There also shouldn't be more
|
|
409
447
|
// than one declaration for a TypedDict key variable.
|
|
410
448
|
const declaration = declarations[0];
|
|
411
449
|
if (declaration.type === 1 /* DeclarationType.Variable */ && declaration.docString !== undefined) {
|
|
412
|
-
|
|
450
|
+
declarationWithDoc = declaration;
|
|
451
|
+
docString = declaration.docString;
|
|
413
452
|
}
|
|
414
453
|
}
|
|
454
|
+
const dedupKey = `${text}\n${docString}`;
|
|
455
|
+
if (seenEntries.has(dedupKey)) {
|
|
456
|
+
return;
|
|
457
|
+
}
|
|
458
|
+
seenEntries.add(dedupKey);
|
|
459
|
+
// If we have already added parts for another declaration (e.g. for a union of TypedDicts that share the same key)
|
|
460
|
+
// then we need to add a separator to prevent a visual bug.
|
|
461
|
+
if (parts.length > 0) {
|
|
462
|
+
parts.push({ text: '\n\n---\n' });
|
|
463
|
+
}
|
|
464
|
+
this._addResultsPart(parts, text, /* python */ true);
|
|
465
|
+
if (declarationWithDoc) {
|
|
466
|
+
this._addDocumentationPartForType(parts, subtype, declarationWithDoc);
|
|
467
|
+
}
|
|
415
468
|
}
|
|
416
469
|
}
|
|
417
470
|
});
|
|
@@ -446,11 +499,11 @@ class HoverProvider {
|
|
|
446
499
|
this._addDocumentationPartForType(parts, type, resolvedDecl, node.d.value);
|
|
447
500
|
}
|
|
448
501
|
_addDocumentationPartForType(parts, type, resolvedDecl, name) {
|
|
449
|
-
const
|
|
502
|
+
const documentation = (0, tooltipUtils_1.getDocumentationPartsForTypeAndDeclWithSource)(this._sourceMapper, type, resolvedDecl, this._evaluator, {
|
|
450
503
|
name,
|
|
451
504
|
});
|
|
452
|
-
addDocumentationResultsPart(this._program.serviceProvider,
|
|
453
|
-
return !!
|
|
505
|
+
addDocumentationResultsPart(this._program.serviceProvider, documentation?.text, this._format, parts, resolvedDecl, documentation?.forceLiteral);
|
|
506
|
+
return !!documentation?.text;
|
|
454
507
|
}
|
|
455
508
|
_addResultsPart(parts, text, python = false) {
|
|
456
509
|
parts.push({
|