@zzzen/pyright-internal 1.2.0-dev.20260816 → 1.2.0-dev.20260823

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 (338) hide show
  1. package/dist/analyzer/analyzerNodeInfo.d.ts +119 -24
  2. package/dist/analyzer/analyzerNodeInfo.js +408 -89
  3. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  4. package/dist/analyzer/binder.d.ts +6 -3
  5. package/dist/analyzer/binder.js +70 -69
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +4 -2
  8. package/dist/analyzer/checker.js +55 -34
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -1
  11. package/dist/analyzer/codeFlowEngine.js +12 -10
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowUtils.d.ts +2 -1
  14. package/dist/analyzer/codeFlowUtils.js +2 -3
  15. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  16. package/dist/analyzer/dataClasses.d.ts +5 -4
  17. package/dist/analyzer/dataClasses.js +21 -56
  18. package/dist/analyzer/dataClasses.js.map +1 -1
  19. package/dist/analyzer/declarationUtils.d.ts +2 -1
  20. package/dist/analyzer/declarationUtils.js +2 -2
  21. package/dist/analyzer/declarationUtils.js.map +1 -1
  22. package/dist/analyzer/decorators.d.ts +5 -4
  23. package/dist/analyzer/decorators.js +20 -21
  24. package/dist/analyzer/decorators.js.map +1 -1
  25. package/dist/analyzer/enums.d.ts +5 -4
  26. package/dist/analyzer/enums.js +11 -10
  27. package/dist/analyzer/enums.js.map +1 -1
  28. package/dist/analyzer/importResolver.d.ts +1 -1
  29. package/dist/analyzer/importResolver.js +5 -3
  30. package/dist/analyzer/importResolver.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.d.ts +3 -1
  32. package/dist/analyzer/importStatementUtils.js +14 -7
  33. package/dist/analyzer/importStatementUtils.js.map +1 -1
  34. package/dist/analyzer/namedTuples.d.ts +2 -1
  35. package/dist/analyzer/namedTuples.js +3 -4
  36. package/dist/analyzer/namedTuples.js.map +1 -1
  37. package/dist/analyzer/operations.d.ts +3 -2
  38. package/dist/analyzer/operations.js +8 -8
  39. package/dist/analyzer/operations.js.map +1 -1
  40. package/dist/analyzer/packageTypeVerifier.js +2 -2
  41. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  42. package/dist/analyzer/parseTreeUtils.d.ts +13 -11
  43. package/dist/analyzer/parseTreeUtils.js +62 -36
  44. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  45. package/dist/analyzer/parseTreeWalker.d.ts +7 -2
  46. package/dist/analyzer/parseTreeWalker.js +29 -175
  47. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  48. package/dist/analyzer/patternMatching.d.ts +4 -3
  49. package/dist/analyzer/patternMatching.js +47 -43
  50. package/dist/analyzer/patternMatching.js.map +1 -1
  51. package/dist/analyzer/program.d.ts +12 -0
  52. package/dist/analyzer/program.js +235 -29
  53. package/dist/analyzer/program.js.map +1 -1
  54. package/dist/analyzer/properties.d.ts +4 -3
  55. package/dist/analyzer/properties.js +7 -8
  56. package/dist/analyzer/properties.js.map +1 -1
  57. package/dist/analyzer/protocols.js +14 -2
  58. package/dist/analyzer/protocols.js.map +1 -1
  59. package/dist/analyzer/scopeUtils.d.ts +4 -3
  60. package/dist/analyzer/scopeUtils.js +8 -8
  61. package/dist/analyzer/scopeUtils.js.map +1 -1
  62. package/dist/analyzer/sentinel.d.ts +2 -1
  63. package/dist/analyzer/sentinel.js +2 -3
  64. package/dist/analyzer/sentinel.js.map +1 -1
  65. package/dist/analyzer/service.js +28 -10
  66. package/dist/analyzer/service.js.map +1 -1
  67. package/dist/analyzer/sourceEnumerator.d.ts +5 -0
  68. package/dist/analyzer/sourceEnumerator.js +57 -3
  69. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  70. package/dist/analyzer/sourceFile.d.ts +12 -6
  71. package/dist/analyzer/sourceFile.js +73 -50
  72. package/dist/analyzer/sourceFile.js.map +1 -1
  73. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
  74. package/dist/analyzer/sourceFileInfoUtils.js +8 -0
  75. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  76. package/dist/analyzer/sourceMapper.d.ts +4 -1
  77. package/dist/analyzer/sourceMapper.js +14 -8
  78. package/dist/analyzer/sourceMapper.js.map +1 -1
  79. package/dist/analyzer/testWalker.js +2 -1
  80. package/dist/analyzer/testWalker.js.map +1 -1
  81. package/dist/analyzer/tracePrinter.d.ts +2 -1
  82. package/dist/analyzer/tracePrinter.js +2 -2
  83. package/dist/analyzer/tracePrinter.js.map +1 -1
  84. package/dist/analyzer/tuples.d.ts +3 -2
  85. package/dist/analyzer/tuples.js +5 -5
  86. package/dist/analyzer/tuples.js.map +1 -1
  87. package/dist/analyzer/typeDocStringUtils.d.ts +5 -7
  88. package/dist/analyzer/typeDocStringUtils.js +229 -132
  89. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  90. package/dist/analyzer/typeEvaluator.d.ts +2 -0
  91. package/dist/analyzer/typeEvaluator.js +326 -198
  92. package/dist/analyzer/typeEvaluator.js.map +1 -1
  93. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  94. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  95. package/dist/analyzer/typeGuards.d.ts +3 -2
  96. package/dist/analyzer/typeGuards.js +26 -25
  97. package/dist/analyzer/typeGuards.js.map +1 -1
  98. package/dist/analyzer/typeStubWriter.js +12 -9
  99. package/dist/analyzer/typeStubWriter.js.map +1 -1
  100. package/dist/analyzer/typeUtils.js +3 -1
  101. package/dist/analyzer/typeUtils.js.map +1 -1
  102. package/dist/analyzer/typedDicts.d.ts +4 -3
  103. package/dist/analyzer/typedDicts.js +15 -14
  104. package/dist/analyzer/typedDicts.js.map +1 -1
  105. package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
  106. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  107. package/dist/common/collectionUtils.js +15 -6
  108. package/dist/common/collectionUtils.js.map +1 -1
  109. package/dist/common/commandLineOptions.d.ts +1 -0
  110. package/dist/common/commandLineOptions.js.map +1 -1
  111. package/dist/common/configOptions.d.ts +4 -1
  112. package/dist/common/configOptions.js +68 -12
  113. package/dist/common/configOptions.js.map +1 -1
  114. package/dist/common/envVarUtils.d.ts +1 -0
  115. package/dist/common/envVarUtils.js +41 -10
  116. package/dist/common/envVarUtils.js.map +1 -1
  117. package/dist/common/extensibility.d.ts +3 -1
  118. package/dist/common/extensibility.js.map +1 -1
  119. package/dist/common/extraPathGlob.d.ts +12 -0
  120. package/dist/common/extraPathGlob.js +315 -0
  121. package/dist/common/extraPathGlob.js.map +1 -0
  122. package/dist/common/host.d.ts +2 -0
  123. package/dist/common/host.js.map +1 -1
  124. package/dist/common/languageServerInterface.d.ts +2 -1
  125. package/dist/common/languageServerInterface.js.map +1 -1
  126. package/dist/common/pathConsts.d.ts +1 -0
  127. package/dist/common/pathConsts.js +11 -1
  128. package/dist/common/pathConsts.js.map +1 -1
  129. package/dist/common/processUtils.d.ts +4 -2
  130. package/dist/common/processUtils.js +3 -0
  131. package/dist/common/processUtils.js.map +1 -1
  132. package/dist/common/stringUtils.d.ts +6 -0
  133. package/dist/common/stringUtils.js +87 -5
  134. package/dist/common/stringUtils.js.map +1 -1
  135. package/dist/common/textEditTracker.d.ts +3 -1
  136. package/dist/common/textEditTracker.js +8 -6
  137. package/dist/common/textEditTracker.js.map +1 -1
  138. package/dist/common/textRangeCollection.d.ts +1 -0
  139. package/dist/common/textRangeCollection.js +32 -1
  140. package/dist/common/textRangeCollection.js.map +1 -1
  141. package/dist/common/uri/uriUtils.d.ts +3 -0
  142. package/dist/common/uri/uriUtils.js +65 -15
  143. package/dist/common/uri/uriUtils.js.map +1 -1
  144. package/dist/fileSystemMapping.d.ts +10 -0
  145. package/dist/fileSystemMapping.js +176 -0
  146. package/dist/fileSystemMapping.js.map +1 -0
  147. package/dist/languageService/analyzerServiceExecutor.js +2 -1
  148. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  149. package/dist/languageService/autoImporter.d.ts +1 -0
  150. package/dist/languageService/autoImporter.js +32 -5
  151. package/dist/languageService/autoImporter.js.map +1 -1
  152. package/dist/languageService/callHierarchyProvider.d.ts +7 -0
  153. package/dist/languageService/callHierarchyProvider.js +97 -11
  154. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  155. package/dist/languageService/completionProvider.d.ts +30 -8
  156. package/dist/languageService/completionProvider.js +298 -93
  157. package/dist/languageService/completionProvider.js.map +1 -1
  158. package/dist/languageService/definitionProvider.js +7 -6
  159. package/dist/languageService/definitionProvider.js.map +1 -1
  160. package/dist/languageService/documentHighlightProvider.js +2 -1
  161. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  162. package/dist/languageService/documentSymbolCollector.d.ts +3 -1
  163. package/dist/languageService/documentSymbolCollector.js +78 -14
  164. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  165. package/dist/languageService/documentSymbolProvider.js +3 -2
  166. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  167. package/dist/languageService/fileWatcherDynamicFeature.js +28 -1
  168. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  169. package/dist/languageService/hoverProvider.d.ts +2 -1
  170. package/dist/languageService/hoverProvider.js +48 -16
  171. package/dist/languageService/hoverProvider.js.map +1 -1
  172. package/dist/languageService/importSorter.d.ts +3 -1
  173. package/dist/languageService/importSorter.js +4 -2
  174. package/dist/languageService/importSorter.js.map +1 -1
  175. package/dist/languageService/importStatementCandidates.js +4 -2
  176. package/dist/languageService/importStatementCandidates.js.map +1 -1
  177. package/dist/languageService/quickActions.js +2 -1
  178. package/dist/languageService/quickActions.js.map +1 -1
  179. package/dist/languageService/referencesProvider.js +12 -5
  180. package/dist/languageService/referencesProvider.js.map +1 -1
  181. package/dist/languageService/signatureHelpProvider.d.ts +3 -0
  182. package/dist/languageService/signatureHelpProvider.js +56 -18
  183. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  184. package/dist/languageService/symbolIndexer.d.ts +2 -1
  185. package/dist/languageService/symbolIndexer.js +7 -7
  186. package/dist/languageService/symbolIndexer.js.map +1 -1
  187. package/dist/languageService/tooltipUtils.d.ts +1 -1
  188. package/dist/languageService/tooltipUtils.js +103 -35
  189. package/dist/languageService/tooltipUtils.js.map +1 -1
  190. package/dist/languageService/workspaceSymbolProvider.js +3 -2
  191. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  192. package/dist/localization/localize.d.ts +6 -0
  193. package/dist/localization/localize.js +10 -0
  194. package/dist/localization/localize.js.map +1 -1
  195. package/dist/localization/package.nls.cs.json +11 -0
  196. package/dist/localization/package.nls.de.json +11 -0
  197. package/dist/localization/package.nls.en-us.json +5 -0
  198. package/dist/localization/package.nls.es.json +11 -0
  199. package/dist/localization/package.nls.fr.json +11 -0
  200. package/dist/localization/package.nls.it.json +11 -0
  201. package/dist/localization/package.nls.ja.json +11 -0
  202. package/dist/localization/package.nls.ko.json +11 -0
  203. package/dist/localization/package.nls.pl.json +11 -0
  204. package/dist/localization/package.nls.pt-br.json +11 -0
  205. package/dist/localization/package.nls.qps-ploc.json +11 -0
  206. package/dist/localization/package.nls.ru.json +11 -0
  207. package/dist/localization/package.nls.tr.json +11 -0
  208. package/dist/localization/package.nls.zh-cn.json +12 -1
  209. package/dist/localization/package.nls.zh-tw.json +13 -2
  210. package/dist/parser/parseNodes.d.ts +85 -80
  211. package/dist/parser/parseNodes.js +182 -159
  212. package/dist/parser/parseNodes.js.map +1 -1
  213. package/dist/parser/parseTreeUtils.d.ts +3 -0
  214. package/dist/parser/parseTreeUtils.js +209 -0
  215. package/dist/parser/parseTreeUtils.js.map +1 -0
  216. package/dist/parser/parser.d.ts +16 -6
  217. package/dist/parser/parser.js +210 -144
  218. package/dist/parser/parser.js.map +1 -1
  219. package/dist/parser/stringAnnotationInfo.d.ts +16 -0
  220. package/dist/parser/stringAnnotationInfo.js +26 -0
  221. package/dist/parser/stringAnnotationInfo.js.map +1 -0
  222. package/dist/readonlyAugmentedFileSystem.d.ts +2 -9
  223. package/dist/readonlyAugmentedFileSystem.js +17 -144
  224. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  225. package/dist/server.js +2 -2
  226. package/dist/server.js.map +1 -1
  227. package/dist/tests/analyzerNodeInfo.test.d.ts +1 -0
  228. package/dist/tests/analyzerNodeInfo.test.js +113 -0
  229. package/dist/tests/analyzerNodeInfo.test.js.map +1 -0
  230. package/dist/tests/collectionUtils.test.js +46 -0
  231. package/dist/tests/collectionUtils.test.js.map +1 -1
  232. package/dist/tests/completions.test.js +34 -0
  233. package/dist/tests/completions.test.js.map +1 -1
  234. package/dist/tests/config.test.js +131 -6
  235. package/dist/tests/config.test.js.map +1 -1
  236. package/dist/tests/extraPathGlob.test.d.ts +1 -0
  237. package/dist/tests/extraPathGlob.test.js +434 -0
  238. package/dist/tests/extraPathGlob.test.js.map +1 -0
  239. package/dist/tests/fileSystemMapping.test.d.ts +1 -0
  240. package/dist/tests/fileSystemMapping.test.js +458 -0
  241. package/dist/tests/fileSystemMapping.test.js.map +1 -0
  242. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js +23 -0
  243. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  244. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js +14 -0
  245. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  246. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js +7 -0
  247. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  248. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.d.ts +1 -0
  249. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js +41 -0
  250. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js.map +1 -0
  251. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js +2 -0
  252. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  253. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js +5 -0
  254. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  255. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js +4 -0
  256. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  257. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.d.ts +1 -0
  258. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js +48 -0
  259. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js.map +1 -0
  260. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +8 -2
  261. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  262. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +5 -2
  263. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js +2 -2
  265. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  266. package/dist/tests/harness/fourslash/testState.js +1 -1
  267. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  268. package/dist/tests/hoverProvider.test.js +38 -0
  269. package/dist/tests/hoverProvider.test.js.map +1 -1
  270. package/dist/tests/importStatementUtils.test.js +6 -3
  271. package/dist/tests/importStatementUtils.test.js.map +1 -1
  272. package/dist/tests/ipythonMode.test.js +38 -0
  273. package/dist/tests/ipythonMode.test.js.map +1 -1
  274. package/dist/tests/parseTreeUtils.test.js +88 -0
  275. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  276. package/dist/tests/parser.test.js +60 -3
  277. package/dist/tests/parser.test.js.map +1 -1
  278. package/dist/tests/positionUtils.test.js +23 -0
  279. package/dist/tests/positionUtils.test.js.map +1 -1
  280. package/dist/tests/pyrightFileSystem.test.js +41 -0
  281. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  282. package/dist/tests/service.test.js +77 -0
  283. package/dist/tests/service.test.js.map +1 -1
  284. package/dist/tests/sourceEnumeratorSymlink.test.d.ts +1 -0
  285. package/dist/tests/sourceEnumeratorSymlink.test.js +203 -0
  286. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -0
  287. package/dist/tests/stringUtils.test.js +84 -0
  288. package/dist/tests/stringUtils.test.js.map +1 -1
  289. package/dist/tests/symlinkAliasInvalidation.test.d.ts +1 -0
  290. package/dist/tests/symlinkAliasInvalidation.test.js +471 -0
  291. package/dist/tests/symlinkAliasInvalidation.test.js.map +1 -0
  292. package/dist/tests/testUtils.d.ts +2 -0
  293. package/dist/tests/testUtils.js +7 -1
  294. package/dist/tests/testUtils.js.map +1 -1
  295. package/dist/tests/textEditUtil.test.js +2 -2
  296. package/dist/tests/textEditUtil.test.js.map +1 -1
  297. package/dist/tests/textRangeCollection.test.d.ts +1 -0
  298. package/dist/tests/textRangeCollection.test.js +137 -0
  299. package/dist/tests/textRangeCollection.test.js.map +1 -0
  300. package/dist/tests/typeEvaluator1.test.js +24 -3
  301. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  302. package/dist/tests/typeEvaluator4.test.js +4 -0
  303. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  304. package/dist/tests/typeEvaluator7.test.js +4 -0
  305. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  306. package/dist/tests/typeServer/typeCache.test.d.ts +1 -0
  307. package/dist/tests/typeServer/typeCache.test.js +69 -0
  308. package/dist/tests/typeServer/typeCache.test.js.map +1 -0
  309. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +18 -0
  310. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  311. package/dist/tests/uri.test.js +51 -0
  312. package/dist/tests/uri.test.js.map +1 -1
  313. package/dist/typeServer/notebookDocumentHandler.d.ts +9 -2
  314. package/dist/typeServer/notebookDocumentHandler.js +16 -6
  315. package/dist/typeServer/notebookDocumentHandler.js.map +1 -1
  316. package/dist/typeServer/programWrapper.d.ts +1 -0
  317. package/dist/typeServer/programWrapper.js +28 -15
  318. package/dist/typeServer/programWrapper.js.map +1 -1
  319. package/dist/typeServer/protocol/tspSupplemental.d.ts +1 -1
  320. package/dist/typeServer/protocol/tspSupplemental.js +2 -2
  321. package/dist/typeServer/server.d.ts +13 -2
  322. package/dist/typeServer/server.js +36 -23
  323. package/dist/typeServer/server.js.map +1 -1
  324. package/dist/typeServer/typeCache.d.ts +8 -4
  325. package/dist/typeServer/typeCache.js +33 -5
  326. package/dist/typeServer/typeCache.js.map +1 -1
  327. package/dist/typeServer/typeEvalUtils.d.ts +2 -1
  328. package/dist/typeServer/typeEvalUtils.js +7 -3
  329. package/dist/typeServer/typeEvalUtils.js.map +1 -1
  330. package/dist/typeServer/typeGuards.js +3 -4
  331. package/dist/typeServer/typeGuards.js.map +1 -1
  332. package/dist/typeServer/typeServerFileSystem.d.ts +10 -9
  333. package/dist/typeServer/typeServerFileSystem.js +16 -12
  334. package/dist/typeServer/typeServerFileSystem.js.map +1 -1
  335. package/package.json +7 -5
  336. package/dist/analyzer/parseTreeCleaner.d.ts +0 -8
  337. package/dist/analyzer/parseTreeCleaner.js +0 -65
  338. package/dist/analyzer/parseTreeCleaner.js.map +0 -1
@@ -42,7 +42,10 @@ var __importStar = (this && this.__importStar) || (function () {
42
42
  };
43
43
  })();
44
44
  Object.defineProperty(exports, "__esModule", { value: true });
45
- exports.CallHierarchyProvider = void 0;
45
+ exports.CallHierarchyProvider = exports.callHierarchyDetails = void 0;
46
+ exports.getCallHierarchyDetail = getCallHierarchyDetail;
47
+ exports.combineCallHierarchyDetail = combineCallHierarchyDetail;
48
+ const analyzerNodeInfo_1 = require("../analyzer/analyzerNodeInfo");
46
49
  const vscode_languageserver_1 = require("vscode-languageserver");
47
50
  const DeclarationUtils = __importStar(require("../analyzer/declarationUtils"));
48
51
  const ParseTreeUtils = __importStar(require("../analyzer/parseTreeUtils"));
@@ -61,8 +64,29 @@ const textRange_1 = require("../common/textRange");
61
64
  const uri_1 = require("../common/uri/uri");
62
65
  const uriUtils_1 = require("../common/uri/uriUtils");
63
66
  const referencesProvider_1 = require("../languageService/referencesProvider");
67
+ const localize_1 = require("../localization/localize");
64
68
  const documentSymbolCollector_1 = require("./documentSymbolCollector");
65
69
  const navigationUtils_1 = require("./navigationUtils");
70
+ exports.callHierarchyDetails = {
71
+ get library() {
72
+ return localize_1.Localizer.CallHierarchy.library();
73
+ },
74
+ get standardLibrary() {
75
+ return localize_1.Localizer.CallHierarchy.standardLibrary();
76
+ },
77
+ get workspace() {
78
+ return localize_1.Localizer.CallHierarchy.workspace();
79
+ },
80
+ };
81
+ function getCallHierarchyDetail(isThirdPartyImport, isTypeshedFile, isOwned) {
82
+ if (isThirdPartyImport) {
83
+ return exports.callHierarchyDetails.library;
84
+ }
85
+ if (isTypeshedFile) {
86
+ return exports.callHierarchyDetails.standardLibrary;
87
+ }
88
+ return isOwned ? exports.callHierarchyDetails.workspace : undefined;
89
+ }
66
90
  class CallHierarchyProvider {
67
91
  constructor(_program, _fileUri, _position, _token) {
68
92
  this._program = _program;
@@ -99,6 +123,7 @@ class CallHierarchyProvider {
99
123
  const callItem = {
100
124
  name: symbolName,
101
125
  kind: (0, lspUtils_1.getSymbolKind)(targetDecl, this._evaluator, symbolName) ?? vscode_languageserver_1.SymbolKind.Module,
126
+ detail: getCallHierarchySymbolDetail(this._program, targetDecl),
102
127
  uri: (0, uriUtils_1.convertUriToLspUriString)(this._program.fileSystem, callItemUri),
103
128
  range: targetDecl.range,
104
129
  selectionRange: targetDecl.range,
@@ -185,7 +210,7 @@ class CallHierarchyProvider {
185
210
  if (!parseRoot) {
186
211
  return null;
187
212
  }
188
- const callFinder = new FindOutgoingCallTreeWalker(this._program.fileSystem, parseRoot, this._parseResults, this._evaluator, this._token);
213
+ const callFinder = new FindOutgoingCallTreeWalker(this._program, parseRoot, this._parseResults, this._evaluator, this._token);
189
214
  const outgoingCalls = callFinder.findCalls();
190
215
  if (outgoingCalls.length === 0) {
191
216
  return null;
@@ -242,9 +267,9 @@ class CallHierarchyProvider {
242
267
  }
243
268
  exports.CallHierarchyProvider = CallHierarchyProvider;
244
269
  class FindOutgoingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
245
- constructor(_fs, _parseRoot, _parseResults, _evaluator, _cancellationToken) {
270
+ constructor(_program, _parseRoot, _parseResults, _evaluator, _cancellationToken) {
246
271
  super();
247
- this._fs = _fs;
272
+ this._program = _program;
248
273
  this._parseRoot = _parseRoot;
249
274
  this._parseResults = _parseResults;
250
275
  this._evaluator = _evaluator;
@@ -320,13 +345,27 @@ class FindOutgoingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
320
345
  const callDest = {
321
346
  name: nameNode.d.value,
322
347
  kind: (0, lspUtils_1.getSymbolKind)(resolvedDecl, this._evaluator, nameNode.d.value) ?? vscode_languageserver_1.SymbolKind.Module,
323
- uri: (0, uriUtils_1.convertUriToLspUriString)(this._fs, resolvedDecl.uri),
348
+ detail: combineCallHierarchyDetail(getCallHierarchySymbolDetail(this._program, resolvedDecl), getCallHierarchyDetailForUri(this._program, resolvedDecl.uri)),
349
+ uri: (0, uriUtils_1.convertUriToLspUriString)(this._program.fileSystem, resolvedDecl.uri),
324
350
  range: resolvedDecl.range,
325
351
  selectionRange: resolvedDecl.range,
326
352
  };
327
353
  // Is there already a call recorded for this destination? If so,
328
354
  // we'll simply add a new range. Otherwise, we'll create a new entry.
329
- let outgoingCall = this._outgoingCalls.find((outgoing) => outgoing.to.uri === callDest.uri && (0, textRange_1.rangesAreEqual)(outgoing.to.range, callDest.range));
355
+ // Fast-path on an exact URI-string match and only parse to compare logically
356
+ // equivalent URIs (e.g. the same virtual file under differing authorities)
357
+ // when the strings differ. The incoming URI is parsed at most once per lookup.
358
+ let parsedCallDestUri;
359
+ let outgoingCall = this._outgoingCalls.find((outgoing) => {
360
+ if (!(0, textRange_1.rangesAreEqual)(outgoing.to.range, callDest.range)) {
361
+ return false;
362
+ }
363
+ if (outgoing.to.uri === callDest.uri) {
364
+ return true;
365
+ }
366
+ parsedCallDestUri ?? (parsedCallDestUri = uri_1.Uri.parse(callDest.uri, this._program.serviceProvider));
367
+ return (0, uriUtils_1.isSameUriFile)(parsedCallDestUri, uri_1.Uri.parse(outgoing.to.uri, this._program.serviceProvider));
368
+ });
330
369
  if (!outgoingCall) {
331
370
  outgoingCall = {
332
371
  to: callDest,
@@ -343,6 +382,36 @@ class FindOutgoingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
343
382
  outgoingCall.fromRanges.push(fromRange);
344
383
  }
345
384
  }
385
+ function getCallHierarchyDetailForUri(program, uri) {
386
+ const fileInfo = program.getSourceFileInfo(uri);
387
+ if (!fileInfo) {
388
+ return undefined;
389
+ }
390
+ return getCallHierarchyDetail(fileInfo.isThirdPartyImport, fileInfo.isTypeshedFile, program.owns(uri));
391
+ }
392
+ // Builds the class/file portion of a call-hierarchy `detail` label, matching the
393
+ // format used by the type-hierarchy provider (`class Foo (bar.py)` for methods,
394
+ // `(bar.py)` for module-level functions and classes).
395
+ function getCallHierarchySymbolDetail(program, declaration) {
396
+ const fileName = program.fileSystem.getOriginalUri(declaration.uri).fileName;
397
+ switch (declaration.type) {
398
+ case 6 /* DeclarationType.Class */:
399
+ return `(${fileName})`;
400
+ case 5 /* DeclarationType.Function */: {
401
+ const classNode = ParseTreeUtils.getEnclosingClass(declaration.node, /* stopAtFunction */ true);
402
+ return classNode ? `class ${classNode.d.name.d.value} (${fileName})` : `(${fileName})`;
403
+ }
404
+ }
405
+ return undefined;
406
+ }
407
+ // Merges the class/file label with the origin label (`Workspace` / `Library` /
408
+ // `Standard library`) into a single `detail` string, e.g. `class Foo (bar.py) · Workspace`.
409
+ function combineCallHierarchyDetail(symbolDetail, originDetail) {
410
+ if (symbolDetail && originDetail) {
411
+ return `${symbolDetail} · ${originDetail}`;
412
+ }
413
+ return symbolDetail ?? originDetail;
414
+ }
346
415
  class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
347
416
  constructor(_program, _fileUri, _symbolName, _targetDeclaration, _cancellationToken) {
348
417
  super();
@@ -355,7 +424,7 @@ class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
355
424
  this._declarations = [];
356
425
  this._parseResults = this._program.getParseResults(this._fileUri);
357
426
  this._usageProviders = (this._program.serviceProvider.tryGet(serviceKeys_1.ServiceKeys.symbolUsageProviderFactory) ?? [])
358
- .map((f) => f.tryCreateProvider(extensibility_1.ReferenceUseCase.References, [this._targetDeclaration], this._cancellationToken))
427
+ .map((f) => f.tryCreateProvider(extensibility_1.ReferenceUseCase.References, [this._targetDeclaration], (0, analyzerNodeInfo_1.getInfoReader)(this._evaluator), this._cancellationToken))
359
428
  .filter(core_1.isDefined);
360
429
  this._declarations.push(this._targetDeclaration);
361
430
  this._usageProviders.forEach((p) => p.appendDeclarationsTo(this._declarations));
@@ -434,17 +503,18 @@ class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
434
503
  return results;
435
504
  }
436
505
  _addIncomingCallForDeclaration(nameNode) {
437
- let executionNode = ParseTreeUtils.getExecutionScopeNode(nameNode);
506
+ const nodeInfo = (0, analyzerNodeInfo_1.getInfoReader)(this._evaluator);
507
+ let executionNode = ParseTreeUtils.getExecutionScopeNode(nameNode, nodeInfo);
438
508
  while (executionNode && executionNode.nodeType === 76 /* ParseNodeType.TypeParameterList */) {
439
- executionNode = ParseTreeUtils.getExecutionScopeNode(executionNode);
509
+ executionNode = ParseTreeUtils.getExecutionScopeNode(executionNode, nodeInfo);
440
510
  }
441
511
  if (!executionNode) {
442
512
  return;
443
513
  }
444
514
  let callSource;
515
+ const fileName = this._program.fileSystem.getOriginalUri(this._fileUri).fileName;
445
516
  if (executionNode.nodeType === 36 /* ParseNodeType.Module */) {
446
517
  const moduleRange = (0, positionUtils_1.convertOffsetsToRange)(0, 0, this._parseResults.tokenizerOutput.lines);
447
- const fileName = this._program.fileSystem.getOriginalUri(this._fileUri).fileName;
448
518
  callSource = {
449
519
  name: `(module) ${fileName}`,
450
520
  kind: vscode_languageserver_1.SymbolKind.Module,
@@ -458,6 +528,7 @@ class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
458
528
  callSource = {
459
529
  name: '(lambda)',
460
530
  kind: vscode_languageserver_1.SymbolKind.Function,
531
+ detail: `(${fileName})`,
461
532
  uri: (0, uriUtils_1.convertUriToLspUriString)(this._program.fileSystem, this._fileUri),
462
533
  range: lambdaRange,
463
534
  selectionRange: lambdaRange,
@@ -465,9 +536,11 @@ class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
465
536
  }
466
537
  else {
467
538
  const functionRange = (0, positionUtils_1.convertOffsetsToRange)(executionNode.d.name.start, executionNode.d.name.start + executionNode.d.name.length, this._parseResults.tokenizerOutput.lines);
539
+ const classNode = ParseTreeUtils.getEnclosingClass(executionNode, /* stopAtFunction */ true);
468
540
  callSource = {
469
541
  name: executionNode.d.name.d.value,
470
542
  kind: vscode_languageserver_1.SymbolKind.Function,
543
+ detail: classNode ? `class ${classNode.d.name.d.value} (${fileName})` : `(${fileName})`,
471
544
  uri: (0, uriUtils_1.convertUriToLspUriString)(this._program.fileSystem, this._fileUri),
472
545
  range: functionRange,
473
546
  selectionRange: functionRange,
@@ -475,7 +548,20 @@ class FindIncomingCallTreeWalker extends parseTreeWalker_1.ParseTreeWalker {
475
548
  }
476
549
  // Is there already a call recorded for this caller? If so,
477
550
  // we'll simply add a new range. Otherwise, we'll create a new entry.
478
- let incomingCall = this._incomingCalls.find((incoming) => incoming.from.uri === callSource.uri && (0, textRange_1.rangesAreEqual)(incoming.from.range, callSource.range));
551
+ // Fast-path on an exact URI-string match and only parse to compare logically
552
+ // equivalent URIs (e.g. the same virtual file under differing authorities)
553
+ // when the strings differ. The incoming URI is parsed at most once per lookup.
554
+ let parsedCallSourceUri;
555
+ let incomingCall = this._incomingCalls.find((incoming) => {
556
+ if (!(0, textRange_1.rangesAreEqual)(incoming.from.range, callSource.range)) {
557
+ return false;
558
+ }
559
+ if (incoming.from.uri === callSource.uri) {
560
+ return true;
561
+ }
562
+ parsedCallSourceUri ?? (parsedCallSourceUri = uri_1.Uri.parse(callSource.uri, this._program.serviceProvider));
563
+ return (0, uriUtils_1.isSameUriFile)(parsedCallSourceUri, uri_1.Uri.parse(incoming.from.uri, this._program.serviceProvider));
564
+ });
479
565
  if (!incomingCall) {
480
566
  incomingCall = {
481
567
  from: callSource,
@@ -1 +1 @@
1
- {"version":3,"file":"callHierarchyProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/callHierarchyProvider.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"callHierarchyProvider.js","sourceRoot":"","sources":["../../../../../src/languageService/callHierarchyProvider.ts"],"names":[],"mappings":"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"}
@@ -1,19 +1,38 @@
1
1
  import { CancellationToken, CompletionItem, CompletionItemKind, CompletionList, MarkupKind, TextEdit } from 'vscode-languageserver';
2
+ import * as AnalyzerNodeInfo from '../analyzer/analyzerNodeInfo';
2
3
  import { Declaration, FunctionDeclaration } from '../analyzer/declaration';
3
4
  import { ImportResolver } from '../analyzer/importResolver';
4
5
  import { SourceMapper } from '../analyzer/sourceMapper';
5
6
  import { Symbol } from '../analyzer/symbol';
6
7
  import { TypeEvaluator } from '../analyzer/typeEvaluatorTypes';
7
- import { ClassType } from '../analyzer/types';
8
+ import { ClassType, Type } from '../analyzer/types';
8
9
  import { ExecutionEnvironment } from '../common/configOptions';
9
10
  import { ProgramView } from '../common/extensibility';
10
11
  import '../common/serviceProviderExtensions';
11
12
  import { Position } from '../common/textRange';
12
13
  import { Uri } from '../common/uri/uri';
13
- import { DecoratorNode, ExpressionNode, NameNode, ParseNode } from '../parser/parseNodes';
14
+ import { CaseNode, DecoratorNode, ExpressionNode, MatchNode, NameNode, ParseNode } from '../parser/parseNodes';
14
15
  import { ParseFileResults } from '../parser/parser';
15
16
  import { AutoImporter, AutoImportResult } from './autoImporter';
16
17
  import { CompletionDetail, SymbolDetail, TrailingOverlap } from './completionProviderUtils';
18
+ export declare enum SortCategory {
19
+ LikelyKeyword = 0,
20
+ RecentImportModuleName = 1,
21
+ ImportModuleName = 2,
22
+ LiteralValue = 3,
23
+ MatchClassPattern = 4,
24
+ NamedParameter = 5,
25
+ RecentKeywordOrSymbol = 6,
26
+ RecentAutoImport = 7,
27
+ Keyword = 8,
28
+ EnumMember = 9,
29
+ DeclaredSymbol = 10,
30
+ DeclaredPrivateSymbol = 11,
31
+ NormalSymbol = 12,
32
+ PrivateSymbol = 13,
33
+ DunderSymbol = 14,
34
+ AutoImport = 15
35
+ }
17
36
  export interface CompletionItemData {
18
37
  uri: string;
19
38
  position: Position;
@@ -43,6 +62,7 @@ export declare class CompletionProvider {
43
62
  protected readonly execEnv: ExecutionEnvironment;
44
63
  protected readonly parseResults: ParseFileResults;
45
64
  protected readonly sourceMapper: SourceMapper;
65
+ protected readonly nodeInfo: AnalyzerNodeInfo.AnalyzerNodeInfoReader;
46
66
  protected itemToResolve: CompletionItem | undefined;
47
67
  constructor(program: ProgramView, fileUri: Uri, position: Position, options: CompletionOptions, cancellationToken: CancellationToken);
48
68
  getCompletions(): CompletionList | null;
@@ -71,6 +91,8 @@ export declare class CompletionProvider {
71
91
  source: string;
72
92
  importText: string;
73
93
  };
94
+ protected tryGetMatchCasePatternCompletions(_node: ParseNode, _priorWord: string, _priorText: string, _postText: string): CompletionMap | undefined;
95
+ protected isEnumMember(containingType: ClassType | undefined, name: string): boolean | undefined;
74
96
  private get _fileContents();
75
97
  private _getTypeOfSymbol;
76
98
  private _getCompletions;
@@ -89,9 +111,10 @@ export declare class CompletionProvider {
89
111
  private _isExpressionOnlySlot;
90
112
  private _getExpressionCompletions;
91
113
  private _isIndexArgument;
114
+ private _isInsideContainerArgument;
92
115
  private _addCallArgumentCompletions;
93
116
  private _addLiteralValuesForArgument;
94
- private _addLiteralValuesForTargetType;
117
+ protected addLiteralValuesForTargetType(type: Type, priorWord: string, priorText: string, postText: string, completionMap: CompletionMap): void;
95
118
  private _getDictExpressionStringKeys;
96
119
  private _getSubTypesWithLiteralValues;
97
120
  private _getIndexKeyType;
@@ -102,7 +125,7 @@ export declare class CompletionProvider {
102
125
  private _tryAddMatchCaseLiteralCompletions;
103
126
  private _addLiteralValuesForExpectedTypes;
104
127
  private _canUseExpectedTypeForLiteralCompletion;
105
- private _getFilteredMatchSubjectTypeForCaseCompletions;
128
+ protected getFilteredMatchSubjectTypeForCaseCompletions(matchNode: MatchNode, currentCaseNode: CaseNode): Type | undefined;
106
129
  private _tryAddTypedDictKeys;
107
130
  private _tryAddTypedDictKeysFromDictionary;
108
131
  private _tryNarrowTypedDicts;
@@ -111,20 +134,19 @@ export declare class CompletionProvider {
111
134
  private _addStringLiteralToCompletions;
112
135
  private _getImportFromCompletions;
113
136
  private _addImplicitImportsToCompletion;
114
- private _findMatchingKeywords;
137
+ protected findMatchingKeywords(keywordList: string[], partialMatch: string): string[];
115
138
  private _addNamedParameters;
116
139
  private _addNamedParametersToMap;
117
- private _addSymbols;
140
+ protected addSymbols(node: ParseNode, priorWord: string, completionMap: CompletionMap, includeSymbolCallback?: (symbol: Symbol, name: string) => boolean): void;
118
141
  private _addSymbolsForSymbolTable;
119
142
  private _shouldShowAutoParensForClass;
120
143
  private _getRecentListIndex;
121
- private _makeSortText;
144
+ protected makeSortText(sortCategory: SortCategory, name: string, autoImportText?: string): string;
122
145
  private _formatInteger;
123
146
  private _convertDeclarationTypeToItemKind;
124
147
  private _convertTypeToItemKind;
125
148
  private _getImportModuleCompletions;
126
149
  private _isPossiblePropertyDeclaration;
127
- private _isEnumMember;
128
150
  }
129
151
  export declare class CompletionMap {
130
152
  private _completions;