@zzzen/pyright-internal 1.2.0-dev.20260614 → 1.2.0-dev.20260628

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