@zzzen/pyright-internal 1.2.0-dev.20260614 → 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.
Files changed (299) hide show
  1. package/dist/analyzer/analysis.js +17 -7
  2. package/dist/analyzer/analysis.js.map +1 -1
  3. package/dist/analyzer/analyzerNodeInfo.d.ts +11 -0
  4. package/dist/analyzer/binder.js +31 -8
  5. package/dist/analyzer/binder.js.map +1 -1
  6. package/dist/analyzer/checker.js +23 -8
  7. package/dist/analyzer/checker.js.map +1 -1
  8. package/dist/analyzer/dataClasses.js +19 -8
  9. package/dist/analyzer/dataClasses.js.map +1 -1
  10. package/dist/analyzer/declaration.d.ts +1 -0
  11. package/dist/analyzer/declaration.js.map +1 -1
  12. package/dist/analyzer/importResolver.d.ts +1 -0
  13. package/dist/analyzer/importResolver.js +38 -8
  14. package/dist/analyzer/importResolver.js.map +1 -1
  15. package/dist/analyzer/importStatementUtils.js +17 -7
  16. package/dist/analyzer/importStatementUtils.js.map +1 -1
  17. package/dist/analyzer/namedTuples.js +17 -7
  18. package/dist/analyzer/namedTuples.js.map +1 -1
  19. package/dist/analyzer/parseTreeCleaner.js +17 -7
  20. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  21. package/dist/analyzer/parseTreeUtils.js +19 -9
  22. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  23. package/dist/analyzer/parseTreeWalker.js +17 -7
  24. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  25. package/dist/analyzer/program.d.ts +1 -0
  26. package/dist/analyzer/program.js +38 -7
  27. package/dist/analyzer/program.js.map +1 -1
  28. package/dist/analyzer/pythonPathUtils.js +33 -7
  29. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  30. package/dist/analyzer/service.js +43 -11
  31. package/dist/analyzer/service.js.map +1 -1
  32. package/dist/analyzer/sourceEnumerator.js +6 -0
  33. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  34. package/dist/analyzer/sourceFile.d.ts +1 -0
  35. package/dist/analyzer/sourceFile.js +25 -7
  36. package/dist/analyzer/sourceFile.js.map +1 -1
  37. package/dist/analyzer/sourceMapper.d.ts +11 -1
  38. package/dist/analyzer/sourceMapper.js +220 -19
  39. package/dist/analyzer/sourceMapper.js.map +1 -1
  40. package/dist/analyzer/staticExpressions.js +2 -2
  41. package/dist/analyzer/tracePrinter.js +17 -7
  42. package/dist/analyzer/tracePrinter.js.map +1 -1
  43. package/dist/analyzer/typeCacheUtils.js +17 -7
  44. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  45. package/dist/analyzer/typeDocStringUtils.d.ts +8 -0
  46. package/dist/analyzer/typeDocStringUtils.js +101 -27
  47. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  48. package/dist/analyzer/typeEvaluator.js +69 -28
  49. package/dist/analyzer/typeEvaluator.js.map +1 -1
  50. package/dist/analyzer/typeGuards.js +19 -9
  51. package/dist/analyzer/typeGuards.js.map +1 -1
  52. package/dist/analyzer/typePrinter.js +50 -8
  53. package/dist/analyzer/typePrinter.js.map +1 -1
  54. package/dist/analyzer/typeStubWriter.js +17 -7
  55. package/dist/analyzer/typeStubWriter.js.map +1 -1
  56. package/dist/analyzer/typeUtils.d.ts +1 -0
  57. package/dist/analyzer/typeUtils.js +9 -0
  58. package/dist/analyzer/typeUtils.js.map +1 -1
  59. package/dist/analyzer/typeWalker.js +1 -1
  60. package/dist/analyzer/typeWalker.js.map +1 -1
  61. package/dist/analyzer/typedDicts.js +19 -9
  62. package/dist/analyzer/typedDicts.js.map +1 -1
  63. package/dist/analyzer/typeshedInfoProvider.js +17 -7
  64. package/dist/analyzer/typeshedInfoProvider.js.map +1 -1
  65. package/dist/backgroundAnalysisBase.js +17 -7
  66. package/dist/backgroundAnalysisBase.js.map +1 -1
  67. package/dist/backgroundThreadBase.js +17 -7
  68. package/dist/backgroundThreadBase.js.map +1 -1
  69. package/dist/common/chokidarFileWatcherProvider.js +17 -7
  70. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  71. package/dist/common/configOptions.js +17 -7
  72. package/dist/common/configOptions.js.map +1 -1
  73. package/dist/common/console.js +17 -7
  74. package/dist/common/console.js.map +1 -1
  75. package/dist/common/envVarUtils.js +17 -7
  76. package/dist/common/envVarUtils.js.map +1 -1
  77. package/dist/common/extensibility.d.ts +2 -0
  78. package/dist/common/extensibility.js.map +1 -1
  79. package/dist/common/fileBasedCancellationUtils.js +17 -7
  80. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  81. package/dist/common/fullAccessHost.d.ts +2 -1
  82. package/dist/common/fullAccessHost.js +26 -7
  83. package/dist/common/fullAccessHost.js.map +1 -1
  84. package/dist/common/host.d.ts +31 -0
  85. package/dist/common/host.js +3 -0
  86. package/dist/common/host.js.map +1 -1
  87. package/dist/common/languageInfoUtils.js +12 -12
  88. package/dist/common/memUtils.js +18 -7
  89. package/dist/common/memUtils.js.map +1 -1
  90. package/dist/common/pathUtils.js +17 -7
  91. package/dist/common/pathUtils.js.map +1 -1
  92. package/dist/common/positionUtils.js +19 -0
  93. package/dist/common/positionUtils.js.map +1 -1
  94. package/dist/common/processUtils.js +17 -7
  95. package/dist/common/processUtils.js.map +1 -1
  96. package/dist/common/realFileSystem.js +19 -19
  97. package/dist/common/realFileSystem.js.map +1 -1
  98. package/dist/common/serviceProvider.js +17 -7
  99. package/dist/common/serviceProvider.js.map +1 -1
  100. package/dist/common/streamUtils.d.ts +1 -1
  101. package/dist/common/textEditTracker.d.ts +1 -0
  102. package/dist/common/textEditTracker.js +31 -12
  103. package/dist/common/textEditTracker.js.map +1 -1
  104. package/dist/common/uri/uriMap.d.ts +4 -4
  105. package/dist/common/uri/uriMap.js +1 -0
  106. package/dist/common/uri/uriMap.js.map +1 -1
  107. package/dist/common/workspaceEditUtils.d.ts +1 -0
  108. package/dist/common/workspaceEditUtils.js +10 -0
  109. package/dist/common/workspaceEditUtils.js.map +1 -1
  110. package/dist/languageServerBase.js +13 -3
  111. package/dist/languageServerBase.js.map +1 -1
  112. package/dist/languageService/autoImporter.js +17 -7
  113. package/dist/languageService/autoImporter.js.map +1 -1
  114. package/dist/languageService/callHierarchyProvider.js +17 -7
  115. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  116. package/dist/languageService/completionProvider.d.ts +5 -2
  117. package/dist/languageService/completionProvider.js +125 -19
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/completionProviderUtils.d.ts +16 -0
  120. package/dist/languageService/completionProviderUtils.js +42 -0
  121. package/dist/languageService/completionProviderUtils.js.map +1 -1
  122. package/dist/languageService/definitionProvider.d.ts +1 -1
  123. package/dist/languageService/definitionProvider.js +69 -10
  124. package/dist/languageService/definitionProvider.js.map +1 -1
  125. package/dist/languageService/documentHighlightProvider.js +17 -7
  126. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  127. package/dist/languageService/documentSymbolCollector.d.ts +4 -0
  128. package/dist/languageService/documentSymbolCollector.js +73 -9
  129. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  130. package/dist/languageService/hoverProvider.d.ts +1 -1
  131. package/dist/languageService/hoverProvider.js +76 -23
  132. package/dist/languageService/hoverProvider.js.map +1 -1
  133. package/dist/languageService/referencesProvider.js +17 -7
  134. package/dist/languageService/referencesProvider.js.map +1 -1
  135. package/dist/languageService/signatureHelpProvider.js +54 -16
  136. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  137. package/dist/languageService/symbolIndexer.js +17 -7
  138. package/dist/languageService/symbolIndexer.js.map +1 -1
  139. package/dist/languageService/tooltipUtils.d.ts +11 -0
  140. package/dist/languageService/tooltipUtils.js +67 -33
  141. package/dist/languageService/tooltipUtils.js.map +1 -1
  142. package/dist/languageService/workspaceSymbolProvider.js +17 -7
  143. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  144. package/dist/localization/localize.d.ts +2 -0
  145. package/dist/localization/localize.js +2 -0
  146. package/dist/localization/localize.js.map +1 -1
  147. package/dist/localization/package.nls.en-us.json +2 -0
  148. package/dist/parser/characters.js +17 -7
  149. package/dist/parser/characters.js.map +1 -1
  150. package/dist/parser/parseNodes.d.ts +4 -0
  151. package/dist/parser/parseNodes.js.map +1 -1
  152. package/dist/parser/parser.d.ts +1 -0
  153. package/dist/parser/parser.js +82 -38
  154. package/dist/parser/parser.js.map +1 -1
  155. package/dist/parser/stringTokenUtils.js +23 -7
  156. package/dist/parser/stringTokenUtils.js.map +1 -1
  157. package/dist/parser/tokenizer.js +16 -15
  158. package/dist/parser/tokenizer.js.map +1 -1
  159. package/dist/parser/tokenizerTypes.d.ts +15 -14
  160. package/dist/parser/tokenizerTypes.js +22 -15
  161. package/dist/parser/tokenizerTypes.js.map +1 -1
  162. package/dist/pyright.js +17 -7
  163. package/dist/pyright.js.map +1 -1
  164. package/dist/server.js +1 -1
  165. package/dist/server.js.map +1 -1
  166. package/dist/tests/benchmarks/parserBenchmark.test.js +17 -7
  167. package/dist/tests/benchmarks/parserBenchmark.test.js.map +1 -1
  168. package/dist/tests/benchmarks/tokenizerBenchmark.test.js +17 -7
  169. package/dist/tests/benchmarks/tokenizerBenchmark.test.js.map +1 -1
  170. package/dist/tests/chainedSourceFiles.test.js +17 -7
  171. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  172. package/dist/tests/checker.test.js +17 -7
  173. package/dist/tests/checker.test.js.map +1 -1
  174. package/dist/tests/collectionUtils.test.js +17 -7
  175. package/dist/tests/collectionUtils.test.js.map +1 -1
  176. package/dist/tests/common.test.js +17 -7
  177. package/dist/tests/common.test.js.map +1 -1
  178. package/dist/tests/completionProviderUtils.test.d.ts +1 -0
  179. package/dist/tests/completionProviderUtils.test.js +56 -0
  180. package/dist/tests/completionProviderUtils.test.js.map +1 -0
  181. package/dist/tests/config.test.js +69 -0
  182. package/dist/tests/config.test.js.map +1 -1
  183. package/dist/tests/debug.test.js +17 -7
  184. package/dist/tests/debug.test.js.map +1 -1
  185. package/dist/tests/deferred.test.js +18 -8
  186. package/dist/tests/deferred.test.js.map +1 -1
  187. package/dist/tests/diagnosticOverrides.test.js +17 -7
  188. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  189. package/dist/tests/diagnostics.test.js +35 -0
  190. package/dist/tests/diagnostics.test.js.map +1 -1
  191. package/dist/tests/envVarUtils.test.js +17 -7
  192. package/dist/tests/envVarUtils.test.js.map +1 -1
  193. package/dist/tests/filesystem.test.js +17 -7
  194. package/dist/tests/filesystem.test.js.map +1 -1
  195. package/dist/tests/fourSlashParser.test.js +17 -7
  196. package/dist/tests/fourSlashParser.test.js.map +1 -1
  197. package/dist/tests/fourSlashRunner.test.js +17 -7
  198. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  199. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js +1 -1
  200. package/dist/tests/fourslash/completions.inherited.function.docFromStub.fourslash.js.map +1 -1
  201. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js +20 -0
  202. package/dist/tests/fourslash/completions.keywords.pythonVersion.fourslash.js.map +1 -1
  203. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.d.ts +1 -0
  204. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js +61 -0
  205. package/dist/tests/fourslash/diagnostics.missingModuleSource.nativeSubmodule.fourslash.js.map +1 -0
  206. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -5
  207. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  208. package/dist/tests/fourslash/signature.posonly.fourslash.d.ts +1 -0
  209. package/dist/tests/fourslash/signature.posonly.fourslash.js +58 -0
  210. package/dist/tests/fourslash/signature.posonly.fourslash.js.map +1 -0
  211. package/dist/tests/harness/fourslash/fourSlashTypes.js +17 -7
  212. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  213. package/dist/tests/harness/fourslash/runner.js +17 -7
  214. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  215. package/dist/tests/harness/fourslash/testLanguageService.js +17 -7
  216. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  217. package/dist/tests/harness/fourslash/testState.Consts.js +17 -7
  218. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  219. package/dist/tests/harness/fourslash/testState.js +17 -7
  220. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  221. package/dist/tests/harness/fourslash/testStateUtils.js +17 -7
  222. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  223. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +17 -7
  224. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  225. package/dist/tests/harness/testHost.js +17 -7
  226. package/dist/tests/harness/testHost.js.map +1 -1
  227. package/dist/tests/harness/utils.d.ts +4 -4
  228. package/dist/tests/harness/utils.js.map +1 -1
  229. package/dist/tests/harness/vfs/factory.js +17 -7
  230. package/dist/tests/harness/vfs/factory.js.map +1 -1
  231. package/dist/tests/harness/vfs/filesystem.js +19 -11
  232. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  233. package/dist/tests/harness/vfs/pathValidation.js +17 -7
  234. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  235. package/dist/tests/importResolver.test.js +104 -0
  236. package/dist/tests/importResolver.test.js.map +1 -1
  237. package/dist/tests/languageServer.test.js +91 -0
  238. package/dist/tests/languageServer.test.js.map +1 -1
  239. package/dist/tests/localizer.test.js +17 -7
  240. package/dist/tests/localizer.test.js.map +1 -1
  241. package/dist/tests/logger.test.js +17 -7
  242. package/dist/tests/logger.test.js.map +1 -1
  243. package/dist/tests/lsp/languageServer.js +17 -7
  244. package/dist/tests/lsp/languageServer.js.map +1 -1
  245. package/dist/tests/lsp/languageServerTestUtils.d.ts +0 -4
  246. package/dist/tests/lsp/languageServerTestUtils.js +76 -21
  247. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  248. package/dist/tests/parser.test.js +246 -7
  249. package/dist/tests/parser.test.js.map +1 -1
  250. package/dist/tests/pathUtils.test.js +17 -7
  251. package/dist/tests/pathUtils.test.js.map +1 -1
  252. package/dist/tests/positionUtils.test.js +26 -0
  253. package/dist/tests/positionUtils.test.js.map +1 -1
  254. package/dist/tests/realTempFile.test.js +17 -7
  255. package/dist/tests/realTempFile.test.js.map +1 -1
  256. package/dist/tests/sourceFile.test.js +17 -7
  257. package/dist/tests/sourceFile.test.js.map +1 -1
  258. package/dist/tests/sourceMapperUtils.test.js +192 -0
  259. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  260. package/dist/tests/stringUtils.test.js +17 -7
  261. package/dist/tests/stringUtils.test.js.map +1 -1
  262. package/dist/tests/symbolNameUtils.test.js +17 -7
  263. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  264. package/dist/tests/testState.test.js +17 -7
  265. package/dist/tests/testState.test.js.map +1 -1
  266. package/dist/tests/testUtils.js +17 -7
  267. package/dist/tests/testUtils.js.map +1 -1
  268. package/dist/tests/textRange.test.js +17 -7
  269. package/dist/tests/textRange.test.js.map +1 -1
  270. package/dist/tests/tokenizer.test.js +17 -7
  271. package/dist/tests/tokenizer.test.js.map +1 -1
  272. package/dist/tests/typeEvaluator1.test.js +17 -7
  273. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  274. package/dist/tests/typeEvaluator2.test.js +17 -7
  275. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  276. package/dist/tests/typeEvaluator3.test.js +23 -7
  277. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  278. package/dist/tests/typeEvaluator4.test.js +23 -7
  279. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  280. package/dist/tests/typeEvaluator5.test.js +17 -7
  281. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  282. package/dist/tests/typeEvaluator6.test.js +17 -7
  283. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  284. package/dist/tests/typeEvaluator7.test.js +17 -7
  285. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  286. package/dist/tests/typeEvaluator8.test.js +17 -7
  287. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  288. package/dist/tests/typePrinter.test.js +82 -7
  289. package/dist/tests/typePrinter.test.js.map +1 -1
  290. package/dist/tests/uri.test.js +17 -7
  291. package/dist/tests/uri.test.js.map +1 -1
  292. package/dist/tests/workspaceEditUtils.test.js +48 -7
  293. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  294. package/dist/tests/zipfs.test.js +17 -7
  295. package/dist/tests/zipfs.test.js.map +1 -1
  296. package/package.json +9 -9
  297. package/dist/tests/lsp/rspack.testserver.config.d.ts +0 -63
  298. package/dist/tests/lsp/rspack.testserver.config.js +0 -60
  299. 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 (mod) {
30
- if (mod && mod.__esModule) return mod;
31
- var result = {};
32
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
33
- __setModuleDefault(result, mod);
34
- return result;
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 (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
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;;;;;;;;;;;;;;;;;;;;;;;;;;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"}
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 (mod) {
28
- if (mod && mod.__esModule) return mod;
29
- var result = {};
30
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
31
- __setModuleDefault(result, mod);
32
- return result;
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
- return results.some((declaration) => {
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 (mod) {
29
- if (mod && mod.__esModule) return mod;
30
- var result = {};
31
- if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
32
- __setModuleDefault(result, mod);
33
- return result;
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, (0, typeDocStringUtils_1.isBuiltInModule)(resolvedDecl?.uri));
132
+ .convertDocStringToMarkdown(docString, forceLiteral, resolvedDecl?.uri);
110
133
  if (parts.length > 0 && markDown.length > 0) {
111
- parts.push({ text: '---\n' });
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
- typeNode = declaration.node;
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
- this._addDocumentationPartForType(parts, subtype, declaration);
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 docString = (0, tooltipUtils_1.getDocumentationPartsForTypeAndDecl)(this._sourceMapper, type, resolvedDecl, this._evaluator, {
502
+ const documentation = (0, tooltipUtils_1.getDocumentationPartsForTypeAndDeclWithSource)(this._sourceMapper, type, resolvedDecl, this._evaluator, {
450
503
  name,
451
504
  });
452
- addDocumentationResultsPart(this._program.serviceProvider, docString, this._format, parts, resolvedDecl);
453
- return !!docString;
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({