@zzzen/pyright-internal 1.2.0-dev.20260809 → 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 (365) 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 +157 -70
  6. package/dist/analyzer/binder.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +5 -2
  8. package/dist/analyzer/checker.js +92 -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/constraintSolver.js +47 -7
  17. package/dist/analyzer/constraintSolver.js.map +1 -1
  18. package/dist/analyzer/constructors.js +18 -8
  19. package/dist/analyzer/constructors.js.map +1 -1
  20. package/dist/analyzer/dataClasses.d.ts +6 -4
  21. package/dist/analyzer/dataClasses.js +119 -75
  22. package/dist/analyzer/dataClasses.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.d.ts +2 -1
  24. package/dist/analyzer/declarationUtils.js +2 -2
  25. package/dist/analyzer/declarationUtils.js.map +1 -1
  26. package/dist/analyzer/decorators.d.ts +5 -4
  27. package/dist/analyzer/decorators.js +38 -21
  28. package/dist/analyzer/decorators.js.map +1 -1
  29. package/dist/analyzer/enums.d.ts +5 -4
  30. package/dist/analyzer/enums.js +11 -10
  31. package/dist/analyzer/enums.js.map +1 -1
  32. package/dist/analyzer/importResolver.d.ts +1 -1
  33. package/dist/analyzer/importResolver.js +5 -3
  34. package/dist/analyzer/importResolver.js.map +1 -1
  35. package/dist/analyzer/importStatementUtils.d.ts +3 -1
  36. package/dist/analyzer/importStatementUtils.js +14 -7
  37. package/dist/analyzer/importStatementUtils.js.map +1 -1
  38. package/dist/analyzer/namedTuples.d.ts +2 -1
  39. package/dist/analyzer/namedTuples.js +3 -4
  40. package/dist/analyzer/namedTuples.js.map +1 -1
  41. package/dist/analyzer/operations.d.ts +3 -2
  42. package/dist/analyzer/operations.js +8 -8
  43. package/dist/analyzer/operations.js.map +1 -1
  44. package/dist/analyzer/packageTypeVerifier.js +2 -2
  45. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  46. package/dist/analyzer/parseTreeUtils.d.ts +13 -11
  47. package/dist/analyzer/parseTreeUtils.js +62 -36
  48. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  49. package/dist/analyzer/parseTreeWalker.d.ts +7 -2
  50. package/dist/analyzer/parseTreeWalker.js +29 -175
  51. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  52. package/dist/analyzer/patternMatching.d.ts +4 -3
  53. package/dist/analyzer/patternMatching.js +47 -43
  54. package/dist/analyzer/patternMatching.js.map +1 -1
  55. package/dist/analyzer/program.d.ts +12 -0
  56. package/dist/analyzer/program.js +235 -29
  57. package/dist/analyzer/program.js.map +1 -1
  58. package/dist/analyzer/properties.d.ts +4 -3
  59. package/dist/analyzer/properties.js +7 -8
  60. package/dist/analyzer/properties.js.map +1 -1
  61. package/dist/analyzer/protocols.js +14 -2
  62. package/dist/analyzer/protocols.js.map +1 -1
  63. package/dist/analyzer/scope.d.ts +3 -0
  64. package/dist/analyzer/scope.js +10 -0
  65. package/dist/analyzer/scope.js.map +1 -1
  66. package/dist/analyzer/scopeUtils.d.ts +4 -3
  67. package/dist/analyzer/scopeUtils.js +8 -8
  68. package/dist/analyzer/scopeUtils.js.map +1 -1
  69. package/dist/analyzer/sentinel.d.ts +2 -1
  70. package/dist/analyzer/sentinel.js +2 -3
  71. package/dist/analyzer/sentinel.js.map +1 -1
  72. package/dist/analyzer/service.js +28 -10
  73. package/dist/analyzer/service.js.map +1 -1
  74. package/dist/analyzer/sourceEnumerator.d.ts +5 -0
  75. package/dist/analyzer/sourceEnumerator.js +57 -3
  76. package/dist/analyzer/sourceEnumerator.js.map +1 -1
  77. package/dist/analyzer/sourceFile.d.ts +12 -6
  78. package/dist/analyzer/sourceFile.js +73 -50
  79. package/dist/analyzer/sourceFile.js.map +1 -1
  80. package/dist/analyzer/sourceFileInfoUtils.d.ts +1 -0
  81. package/dist/analyzer/sourceFileInfoUtils.js +8 -0
  82. package/dist/analyzer/sourceFileInfoUtils.js.map +1 -1
  83. package/dist/analyzer/sourceMapper.d.ts +4 -1
  84. package/dist/analyzer/sourceMapper.js +14 -8
  85. package/dist/analyzer/sourceMapper.js.map +1 -1
  86. package/dist/analyzer/symbol.d.ts +4 -1
  87. package/dist/analyzer/symbol.js +8 -0
  88. package/dist/analyzer/symbol.js.map +1 -1
  89. package/dist/analyzer/testWalker.js +2 -1
  90. package/dist/analyzer/testWalker.js.map +1 -1
  91. package/dist/analyzer/tracePrinter.d.ts +2 -1
  92. package/dist/analyzer/tracePrinter.js +2 -2
  93. package/dist/analyzer/tracePrinter.js.map +1 -1
  94. package/dist/analyzer/tuples.d.ts +3 -2
  95. package/dist/analyzer/tuples.js +5 -5
  96. package/dist/analyzer/tuples.js.map +1 -1
  97. package/dist/analyzer/typeCacheUtils.d.ts +6 -2
  98. package/dist/analyzer/typeCacheUtils.js +16 -37
  99. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  100. package/dist/analyzer/typeDocStringUtils.d.ts +5 -7
  101. package/dist/analyzer/typeDocStringUtils.js +229 -132
  102. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  103. package/dist/analyzer/typeEvaluator.d.ts +2 -0
  104. package/dist/analyzer/typeEvaluator.js +1280 -302
  105. package/dist/analyzer/typeEvaluator.js.map +1 -1
  106. package/dist/analyzer/typeEvaluatorTypes.d.ts +2 -0
  107. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  108. package/dist/analyzer/typeGuards.d.ts +3 -2
  109. package/dist/analyzer/typeGuards.js +37 -33
  110. package/dist/analyzer/typeGuards.js.map +1 -1
  111. package/dist/analyzer/typeStubWriter.js +12 -9
  112. package/dist/analyzer/typeStubWriter.js.map +1 -1
  113. package/dist/analyzer/typeUtils.js +3 -1
  114. package/dist/analyzer/typeUtils.js.map +1 -1
  115. package/dist/analyzer/typedDicts.d.ts +4 -3
  116. package/dist/analyzer/typedDicts.js +15 -14
  117. package/dist/analyzer/typedDicts.js.map +1 -1
  118. package/dist/analyzer/types.d.ts +11 -1
  119. package/dist/analyzer/types.js +48 -0
  120. package/dist/analyzer/types.js.map +1 -1
  121. package/dist/commands/dumpFileDebugInfoCommand.js +1 -1
  122. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  123. package/dist/common/collectionUtils.js +15 -6
  124. package/dist/common/collectionUtils.js.map +1 -1
  125. package/dist/common/commandLineOptions.d.ts +1 -0
  126. package/dist/common/commandLineOptions.js.map +1 -1
  127. package/dist/common/configOptions.d.ts +4 -1
  128. package/dist/common/configOptions.js +68 -12
  129. package/dist/common/configOptions.js.map +1 -1
  130. package/dist/common/envVarUtils.d.ts +1 -0
  131. package/dist/common/envVarUtils.js +41 -10
  132. package/dist/common/envVarUtils.js.map +1 -1
  133. package/dist/common/extensibility.d.ts +3 -1
  134. package/dist/common/extensibility.js.map +1 -1
  135. package/dist/common/extraPathGlob.d.ts +12 -0
  136. package/dist/common/extraPathGlob.js +315 -0
  137. package/dist/common/extraPathGlob.js.map +1 -0
  138. package/dist/common/host.d.ts +2 -0
  139. package/dist/common/host.js.map +1 -1
  140. package/dist/common/languageServerInterface.d.ts +2 -1
  141. package/dist/common/languageServerInterface.js.map +1 -1
  142. package/dist/common/pathConsts.d.ts +1 -0
  143. package/dist/common/pathConsts.js +11 -1
  144. package/dist/common/pathConsts.js.map +1 -1
  145. package/dist/common/processUtils.d.ts +4 -2
  146. package/dist/common/processUtils.js +3 -0
  147. package/dist/common/processUtils.js.map +1 -1
  148. package/dist/common/stringUtils.d.ts +6 -0
  149. package/dist/common/stringUtils.js +87 -5
  150. package/dist/common/stringUtils.js.map +1 -1
  151. package/dist/common/textEditTracker.d.ts +3 -1
  152. package/dist/common/textEditTracker.js +8 -6
  153. package/dist/common/textEditTracker.js.map +1 -1
  154. package/dist/common/textRangeCollection.d.ts +1 -0
  155. package/dist/common/textRangeCollection.js +32 -1
  156. package/dist/common/textRangeCollection.js.map +1 -1
  157. package/dist/common/uri/uriUtils.d.ts +3 -0
  158. package/dist/common/uri/uriUtils.js +65 -15
  159. package/dist/common/uri/uriUtils.js.map +1 -1
  160. package/dist/fileSystemMapping.d.ts +10 -0
  161. package/dist/fileSystemMapping.js +176 -0
  162. package/dist/fileSystemMapping.js.map +1 -0
  163. package/dist/languageService/analyzerServiceExecutor.js +2 -1
  164. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  165. package/dist/languageService/autoImporter.d.ts +1 -0
  166. package/dist/languageService/autoImporter.js +32 -5
  167. package/dist/languageService/autoImporter.js.map +1 -1
  168. package/dist/languageService/callHierarchyProvider.d.ts +7 -0
  169. package/dist/languageService/callHierarchyProvider.js +97 -11
  170. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  171. package/dist/languageService/completionProvider.d.ts +30 -8
  172. package/dist/languageService/completionProvider.js +298 -93
  173. package/dist/languageService/completionProvider.js.map +1 -1
  174. package/dist/languageService/definitionProvider.js +7 -6
  175. package/dist/languageService/definitionProvider.js.map +1 -1
  176. package/dist/languageService/documentHighlightProvider.js +2 -1
  177. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  178. package/dist/languageService/documentSymbolCollector.d.ts +3 -1
  179. package/dist/languageService/documentSymbolCollector.js +78 -14
  180. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  181. package/dist/languageService/documentSymbolProvider.js +3 -2
  182. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  183. package/dist/languageService/fileWatcherDynamicFeature.js +28 -1
  184. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  185. package/dist/languageService/hoverProvider.d.ts +2 -1
  186. package/dist/languageService/hoverProvider.js +48 -16
  187. package/dist/languageService/hoverProvider.js.map +1 -1
  188. package/dist/languageService/importSorter.d.ts +3 -1
  189. package/dist/languageService/importSorter.js +4 -2
  190. package/dist/languageService/importSorter.js.map +1 -1
  191. package/dist/languageService/importStatementCandidates.js +4 -2
  192. package/dist/languageService/importStatementCandidates.js.map +1 -1
  193. package/dist/languageService/quickActions.js +2 -1
  194. package/dist/languageService/quickActions.js.map +1 -1
  195. package/dist/languageService/referencesProvider.js +12 -5
  196. package/dist/languageService/referencesProvider.js.map +1 -1
  197. package/dist/languageService/signatureHelpProvider.d.ts +3 -0
  198. package/dist/languageService/signatureHelpProvider.js +56 -18
  199. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  200. package/dist/languageService/symbolIndexer.d.ts +2 -1
  201. package/dist/languageService/symbolIndexer.js +7 -7
  202. package/dist/languageService/symbolIndexer.js.map +1 -1
  203. package/dist/languageService/tooltipUtils.d.ts +1 -1
  204. package/dist/languageService/tooltipUtils.js +103 -35
  205. package/dist/languageService/tooltipUtils.js.map +1 -1
  206. package/dist/languageService/workspaceSymbolProvider.js +3 -2
  207. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  208. package/dist/localization/localize.d.ts +12 -0
  209. package/dist/localization/localize.js +14 -0
  210. package/dist/localization/localize.js.map +1 -1
  211. package/dist/localization/package.nls.cs.json +11 -0
  212. package/dist/localization/package.nls.de.json +11 -0
  213. package/dist/localization/package.nls.en-us.json +18 -0
  214. package/dist/localization/package.nls.es.json +11 -0
  215. package/dist/localization/package.nls.fr.json +11 -0
  216. package/dist/localization/package.nls.it.json +11 -0
  217. package/dist/localization/package.nls.ja.json +11 -0
  218. package/dist/localization/package.nls.ko.json +11 -0
  219. package/dist/localization/package.nls.pl.json +11 -0
  220. package/dist/localization/package.nls.pt-br.json +11 -0
  221. package/dist/localization/package.nls.qps-ploc.json +11 -0
  222. package/dist/localization/package.nls.ru.json +11 -0
  223. package/dist/localization/package.nls.tr.json +11 -0
  224. package/dist/localization/package.nls.zh-cn.json +12 -1
  225. package/dist/localization/package.nls.zh-tw.json +13 -2
  226. package/dist/parser/parseNodes.d.ts +85 -80
  227. package/dist/parser/parseNodes.js +182 -159
  228. package/dist/parser/parseNodes.js.map +1 -1
  229. package/dist/parser/parseTreeUtils.d.ts +3 -0
  230. package/dist/parser/parseTreeUtils.js +209 -0
  231. package/dist/parser/parseTreeUtils.js.map +1 -0
  232. package/dist/parser/parser.d.ts +16 -6
  233. package/dist/parser/parser.js +210 -144
  234. package/dist/parser/parser.js.map +1 -1
  235. package/dist/parser/stringAnnotationInfo.d.ts +16 -0
  236. package/dist/parser/stringAnnotationInfo.js +26 -0
  237. package/dist/parser/stringAnnotationInfo.js.map +1 -0
  238. package/dist/readonlyAugmentedFileSystem.d.ts +2 -9
  239. package/dist/readonlyAugmentedFileSystem.js +17 -144
  240. package/dist/readonlyAugmentedFileSystem.js.map +1 -1
  241. package/dist/server.js +2 -2
  242. package/dist/server.js.map +1 -1
  243. package/dist/tests/analyzerNodeInfo.test.d.ts +1 -0
  244. package/dist/tests/analyzerNodeInfo.test.js +113 -0
  245. package/dist/tests/analyzerNodeInfo.test.js.map +1 -0
  246. package/dist/tests/collectionUtils.test.js +46 -0
  247. package/dist/tests/collectionUtils.test.js.map +1 -1
  248. package/dist/tests/completions.test.js +34 -0
  249. package/dist/tests/completions.test.js.map +1 -1
  250. package/dist/tests/config.test.js +131 -6
  251. package/dist/tests/config.test.js.map +1 -1
  252. package/dist/tests/extraPathGlob.test.d.ts +1 -0
  253. package/dist/tests/extraPathGlob.test.js +434 -0
  254. package/dist/tests/extraPathGlob.test.js.map +1 -0
  255. package/dist/tests/fileSystemMapping.test.d.ts +1 -0
  256. package/dist/tests/fileSystemMapping.test.js +458 -0
  257. package/dist/tests/fileSystemMapping.test.js.map +1 -0
  258. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js +23 -0
  259. package/dist/tests/fourslash/completions.call.typedDict.fourslash.js.map +1 -1
  260. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js +14 -0
  261. package/dist/tests/fourslash/completions.call.typedDict.list.fourslash.js.map +1 -1
  262. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js +7 -0
  263. package/dist/tests/fourslash/completions.call.typedDict.states.fourslash.js.map +1 -1
  264. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.d.ts +1 -0
  265. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js +41 -0
  266. package/dist/tests/fourslash/completions.callSite.isinstanceNarrowing.fourslash.js.map +1 -0
  267. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js +2 -0
  268. package/dist/tests/fourslash/completions.dictionary.keys.literalTypes.fourslash.js.map +1 -1
  269. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js +5 -0
  270. package/dist/tests/fourslash/completions.fstring.stringLiteral.fourslash.js.map +1 -1
  271. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js +4 -0
  272. package/dist/tests/fourslash/completions.stringLiteral.fourslash.js.map +1 -1
  273. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.d.ts +1 -0
  274. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js +48 -0
  275. package/dist/tests/fourslash/findallreferences.protocolMemberVariable.fourslash.js.map +1 -0
  276. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js +8 -2
  277. package/dist/tests/fourslash/hover.inherited.docFromSrc.fourslash.js.map +1 -1
  278. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js +5 -2
  279. package/dist/tests/fourslash/hover.inherited.docFromStub.fourslash.js.map +1 -1
  280. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js +2 -2
  281. package/dist/tests/fourslash/signature.docstrings.overloaded.fourslash.js.map +1 -1
  282. package/dist/tests/harness/fourslash/testState.js +1 -1
  283. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  284. package/dist/tests/hoverProvider.test.js +38 -0
  285. package/dist/tests/hoverProvider.test.js.map +1 -1
  286. package/dist/tests/importStatementUtils.test.js +6 -3
  287. package/dist/tests/importStatementUtils.test.js.map +1 -1
  288. package/dist/tests/ipythonMode.test.js +38 -0
  289. package/dist/tests/ipythonMode.test.js.map +1 -1
  290. package/dist/tests/parseTreeUtils.test.js +88 -0
  291. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  292. package/dist/tests/parser.test.js +60 -3
  293. package/dist/tests/parser.test.js.map +1 -1
  294. package/dist/tests/positionUtils.test.js +23 -0
  295. package/dist/tests/positionUtils.test.js.map +1 -1
  296. package/dist/tests/pyrightFileSystem.test.js +41 -0
  297. package/dist/tests/pyrightFileSystem.test.js.map +1 -1
  298. package/dist/tests/service.test.js +77 -0
  299. package/dist/tests/service.test.js.map +1 -1
  300. package/dist/tests/sourceEnumeratorSymlink.test.d.ts +1 -0
  301. package/dist/tests/sourceEnumeratorSymlink.test.js +203 -0
  302. package/dist/tests/sourceEnumeratorSymlink.test.js.map +1 -0
  303. package/dist/tests/stringUtils.test.js +84 -0
  304. package/dist/tests/stringUtils.test.js.map +1 -1
  305. package/dist/tests/symlinkAliasInvalidation.test.d.ts +1 -0
  306. package/dist/tests/symlinkAliasInvalidation.test.js +471 -0
  307. package/dist/tests/symlinkAliasInvalidation.test.js.map +1 -0
  308. package/dist/tests/testUtils.d.ts +2 -0
  309. package/dist/tests/testUtils.js +7 -1
  310. package/dist/tests/testUtils.js.map +1 -1
  311. package/dist/tests/textEditUtil.test.js +2 -2
  312. package/dist/tests/textEditUtil.test.js.map +1 -1
  313. package/dist/tests/textRangeCollection.test.d.ts +1 -0
  314. package/dist/tests/textRangeCollection.test.js +137 -0
  315. package/dist/tests/textRangeCollection.test.js.map +1 -0
  316. package/dist/tests/typeCacheUtils.test.d.ts +1 -0
  317. package/dist/tests/typeCacheUtils.test.js +69 -0
  318. package/dist/tests/typeCacheUtils.test.js.map +1 -0
  319. package/dist/tests/typeEvaluator1.test.js +24 -3
  320. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  321. package/dist/tests/typeEvaluator3.test.js +8 -0
  322. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  323. package/dist/tests/typeEvaluator4.test.js +4 -0
  324. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  325. package/dist/tests/typeEvaluator5.test.js +12 -0
  326. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  327. package/dist/tests/typeEvaluator6.test.js +33 -1
  328. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  329. package/dist/tests/typeEvaluator7.test.js +29 -0
  330. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  331. package/dist/tests/typeEvaluator8.test.js +318 -4
  332. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  333. package/dist/tests/typeServer/typeCache.test.d.ts +1 -0
  334. package/dist/tests/typeServer/typeCache.test.js +69 -0
  335. package/dist/tests/typeServer/typeCache.test.js.map +1 -0
  336. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js +18 -0
  337. package/dist/tests/typeServer/typeServer.virtualFileRedirect.test.js.map +1 -1
  338. package/dist/tests/types.test.d.ts +1 -0
  339. package/dist/{analyzer/parseTreeCleaner.js → tests/types.test.js} +23 -25
  340. package/dist/tests/types.test.js.map +1 -0
  341. package/dist/tests/uri.test.js +51 -0
  342. package/dist/tests/uri.test.js.map +1 -1
  343. package/dist/typeServer/notebookDocumentHandler.d.ts +9 -2
  344. package/dist/typeServer/notebookDocumentHandler.js +16 -6
  345. package/dist/typeServer/notebookDocumentHandler.js.map +1 -1
  346. package/dist/typeServer/programWrapper.d.ts +1 -0
  347. package/dist/typeServer/programWrapper.js +28 -15
  348. package/dist/typeServer/programWrapper.js.map +1 -1
  349. package/dist/typeServer/protocol/tspSupplemental.d.ts +1 -1
  350. package/dist/typeServer/protocol/tspSupplemental.js +2 -2
  351. package/dist/typeServer/server.d.ts +13 -2
  352. package/dist/typeServer/server.js +36 -23
  353. package/dist/typeServer/server.js.map +1 -1
  354. package/dist/typeServer/typeCache.d.ts +8 -4
  355. package/dist/typeServer/typeCache.js +33 -5
  356. package/dist/typeServer/typeCache.js.map +1 -1
  357. package/dist/typeServer/typeEvalUtils.d.ts +2 -1
  358. package/dist/typeServer/typeEvalUtils.js +7 -3
  359. package/dist/typeServer/typeEvalUtils.js.map +1 -1
  360. package/dist/typeServer/typeServerFileSystem.d.ts +10 -9
  361. package/dist/typeServer/typeServerFileSystem.js +16 -12
  362. package/dist/typeServer/typeServerFileSystem.js.map +1 -1
  363. package/package.json +7 -5
  364. package/dist/analyzer/parseTreeCleaner.d.ts +0 -8
  365. package/dist/analyzer/parseTreeCleaner.js.map +0 -1
@@ -118,6 +118,7 @@ exports.getDottedNameWithGivenNodeAsLastName = getDottedNameWithGivenNodeAsLastN
118
118
  exports.getDecoratorName = getDecoratorName;
119
119
  exports.getDottedName = getDottedName;
120
120
  exports.getFirstNameOfDottedName = getFirstNameOfDottedName;
121
+ exports.getEnclosingMemberAccessNode = getEnclosingMemberAccessNode;
121
122
  exports.isFirstNameOfDottedName = isFirstNameOfDottedName;
122
123
  exports.isLastNameOfDottedName = isLastNameOfDottedName;
123
124
  exports.getStringNodeValueRange = getStringNodeValueRange;
@@ -144,7 +145,6 @@ const textRangeCollection_1 = require("../common/textRangeCollection");
144
145
  const parseNodes_1 = require("../parser/parseNodes");
145
146
  const parseNodeUtils_1 = require("../parser/parseNodeUtils");
146
147
  const tokenizer_1 = require("../parser/tokenizer");
147
- const analyzerNodeInfo_1 = require("./analyzerNodeInfo");
148
148
  const parseTreeWalker_1 = require("./parseTreeWalker");
149
149
  var PrintExpressionFlags;
150
150
  (function (PrintExpressionFlags) {
@@ -167,21 +167,26 @@ function getNodeDepth(node) {
167
167
  return depth;
168
168
  }
169
169
  // Returns the deepest node that contains the specified position.
170
- function findNodeByPosition(node, position, lines) {
170
+ function findNodeByPosition(node, position, lines, reader) {
171
171
  const offset = (0, positionUtils_1.convertPositionToOffset)(position, lines);
172
172
  if (offset === undefined) {
173
173
  return undefined;
174
174
  }
175
- return findNodeByOffset(node, offset);
175
+ return findNodeByOffset(node, offset, reader);
176
176
  }
177
177
  // Returns the deepest node that contains the specified offset.
178
- function findNodeByOffset(node, offset) {
178
+ function findNodeByOffset(node, offset, reader) {
179
179
  if (!textRange_1.TextRange.overlaps(node, offset)) {
180
180
  return undefined;
181
181
  }
182
+ // When a reader is provided, descend into evaluator-discovered (tier-2) string
183
+ // annotations too. Otherwise getChildNodes defaults to parser-tier annotations.
184
+ const getStringAnnotation = reader
185
+ ? (n) => AnalyzerNodeInfo.getStringAnnotation(n, reader)
186
+ : undefined;
182
187
  // The range is found within this node. See if we can localize it
183
188
  // further by checking its children.
184
- let children = (0, parseTreeWalker_1.getChildNodes)(node);
189
+ let children = (0, parseTreeWalker_1.getChildNodes)(node, getStringAnnotation);
185
190
  if (isCompliantWithNodeRangeRules(node) && children.length > 20) {
186
191
  // Use binary search to find the child to visit. This should be helpful
187
192
  // when there are many siblings, such as statements in a module/suite
@@ -212,7 +217,7 @@ function findNodeByOffset(node, offset) {
212
217
  if (!child) {
213
218
  continue;
214
219
  }
215
- const containingChild = findNodeByOffset(child, offset);
220
+ const containingChild = findNodeByOffset(child, offset, reader);
216
221
  if (containingChild) {
217
222
  // For augmented assignments, prefer the dest expression, which is a clone
218
223
  // of the left expression but is used to hold the type of the operation result.
@@ -315,8 +320,9 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
315
320
  return value;
316
321
  }
317
322
  case 48 /* ParseNodeType.StringList */: {
318
- if (flags & 1 /* PrintExpressionFlags.ForwardDeclarations */ && node.d.annotation) {
319
- return printExpression(node.d.annotation, flags);
323
+ const annotation = (0, parseNodes_1.getParserStringAnnotation)(node);
324
+ if (flags & 1 /* PrintExpressionFlags.ForwardDeclarations */ && annotation) {
325
+ return printExpression(annotation, flags);
320
326
  }
321
327
  else {
322
328
  return node.d.strings
@@ -686,8 +692,8 @@ function getEnclosingFunction(node) {
686
692
  // is within the scope. That means if the node is within a class decorator
687
693
  // (for example), it will be considered part of its parent node rather than
688
694
  // the class node.
689
- function getEnclosingFunctionEvaluationScope(node) {
690
- let curNode = getEvaluationScopeNode(node).node;
695
+ function getEnclosingFunctionEvaluationScope(node, nodeInfo) {
696
+ let curNode = getEvaluationScopeNode(node, nodeInfo).node;
691
697
  while (curNode) {
692
698
  if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
693
699
  return curNode;
@@ -695,7 +701,7 @@ function getEnclosingFunctionEvaluationScope(node) {
695
701
  if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
696
702
  return undefined;
697
703
  }
698
- curNode = getEvaluationScopeNode(curNode.parent).node;
704
+ curNode = getEvaluationScopeNode(curNode.parent, nodeInfo).node;
699
705
  }
700
706
  return undefined;
701
707
  }
@@ -761,12 +767,12 @@ function getEnclosingSuiteOrModule(node, stopAtFunction = false, stopAtLambda =
761
767
  }
762
768
  return undefined;
763
769
  }
764
- function getEvaluationNodeForAssignmentExpression(node) {
770
+ function getEvaluationNodeForAssignmentExpression(node, nodeInfo) {
765
771
  // PEP 572 indicates that the evaluation node for an assignment expression
766
772
  // target within a list comprehension is contained within a lambda,
767
773
  // function or module, but not a class.
768
774
  let sawComprehension = false;
769
- let curNode = getEvaluationScopeNode(node).node;
775
+ let curNode = getEvaluationScopeNode(node, nodeInfo).node;
770
776
  while (curNode !== undefined) {
771
777
  switch (curNode.nodeType) {
772
778
  case 31 /* ParseNodeType.Function */:
@@ -777,7 +783,7 @@ function getEvaluationNodeForAssignmentExpression(node) {
777
783
  return sawComprehension ? undefined : curNode;
778
784
  case 11 /* ParseNodeType.Comprehension */:
779
785
  sawComprehension = true;
780
- curNode = getEvaluationScopeNode(curNode.parent).node;
786
+ curNode = getEvaluationScopeNode(curNode.parent, nodeInfo).node;
781
787
  break;
782
788
  default:
783
789
  return undefined;
@@ -787,7 +793,7 @@ function getEvaluationNodeForAssignmentExpression(node) {
787
793
  }
788
794
  // Returns the parse node corresponding to the scope that is used to evaluate
789
795
  // a symbol referenced in the specified node.
790
- function getEvaluationScopeNode(node) {
796
+ function getEvaluationScopeNode(node, nodeInfo) {
791
797
  let prevNode;
792
798
  let prevPrevNode;
793
799
  let curNode = node;
@@ -830,13 +836,13 @@ function getEvaluationScopeNode(node) {
830
836
  break;
831
837
  }
832
838
  if (isParamNameNode) {
833
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
839
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
834
840
  return { node: curNode };
835
841
  }
836
842
  }
837
843
  }
838
844
  if (prevNode === curNode.d.suite) {
839
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
845
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
840
846
  return { node: curNode, useChainedModuleLevelScopes: true };
841
847
  }
842
848
  }
@@ -845,7 +851,7 @@ function getEvaluationScopeNode(node) {
845
851
  // they are evaluated within the function's parent scope.
846
852
  if (curNode.d.typeParams) {
847
853
  const scopeNode = curNode.d.typeParams;
848
- if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
854
+ if (AnalyzerNodeInfo.getScope(scopeNode, nodeInfo) !== undefined) {
849
855
  return { node: scopeNode, useProxyScope: true, useChainedModuleLevelScopes };
850
856
  }
851
857
  }
@@ -854,13 +860,13 @@ function getEvaluationScopeNode(node) {
854
860
  case 33 /* ParseNodeType.Lambda */: {
855
861
  if (curNode.d.params.some((param) => param === prevNode)) {
856
862
  if (isParamNameNode) {
857
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
863
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
858
864
  return { node: curNode };
859
865
  }
860
866
  }
861
867
  }
862
868
  else if (!prevNode || prevNode === curNode.d.expr) {
863
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
869
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
864
870
  return { node: curNode, useChainedModuleLevelScopes: true };
865
871
  }
866
872
  }
@@ -875,7 +881,7 @@ function getEvaluationScopeNode(node) {
875
881
  break;
876
882
  }
877
883
  if (prevNode === curNode.d.suite) {
878
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
884
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
879
885
  return { node: curNode };
880
886
  }
881
887
  }
@@ -888,14 +894,14 @@ function getEvaluationScopeNode(node) {
888
894
  // they are evaluated within the class' parent scope.
889
895
  if (curNode.d.typeParams) {
890
896
  const scopeNode = curNode.d.typeParams;
891
- if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
897
+ if (AnalyzerNodeInfo.getScope(scopeNode, nodeInfo) !== undefined) {
892
898
  return { node: scopeNode, useProxyScope: true, useChainedModuleLevelScopes: true };
893
899
  }
894
900
  }
895
901
  break;
896
902
  }
897
903
  case 11 /* ParseNodeType.Comprehension */: {
898
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
904
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
899
905
  // The iterable expression of the first subnode of a list comprehension
900
906
  // is evaluated within the scope of its parent.
901
907
  const isFirstIterableExpr = prevNode === curNode.d.forIfNodes[0] &&
@@ -916,14 +922,14 @@ function getEvaluationScopeNode(node) {
916
922
  case 77 /* ParseNodeType.TypeAlias */: {
917
923
  if (prevNode === curNode.d.expr && curNode.d.typeParams) {
918
924
  const scopeNode = curNode.d.typeParams;
919
- if ((0, analyzerNodeInfo_1.getScope)(scopeNode) !== undefined) {
925
+ if (AnalyzerNodeInfo.getScope(scopeNode, nodeInfo) !== undefined) {
920
926
  return { node: scopeNode };
921
927
  }
922
928
  }
923
929
  break;
924
930
  }
925
931
  case 36 /* ParseNodeType.Module */: {
926
- if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
932
+ if (AnalyzerNodeInfo.getScope(curNode, nodeInfo) !== undefined) {
927
933
  return { node: curNode, useChainedModuleLevelScopes };
928
934
  }
929
935
  break;
@@ -966,8 +972,8 @@ function getTypeVarScopeNode(node) {
966
972
  }
967
973
  // Returns the parse node corresponding to the scope that is used
968
974
  // for executing the code referenced in the specified node.
969
- function getExecutionScopeNode(node) {
970
- let evaluationScope = getEvaluationScopeNode(node).node;
975
+ function getExecutionScopeNode(node, nodeInfo) {
976
+ let evaluationScope = getEvaluationScopeNode(node, nodeInfo).node;
971
977
  // Classes are not considered execution scope because they are executed
972
978
  // within the context of their containing module or function. Likewise,
973
979
  // list comprehensions are executed within their container. Type parameter
@@ -976,7 +982,7 @@ function getExecutionScopeNode(node) {
976
982
  while (evaluationScope.nodeType === 76 /* ParseNodeType.TypeParameterList */ ||
977
983
  evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
978
984
  evaluationScope.nodeType === 11 /* ParseNodeType.Comprehension */) {
979
- evaluationScope = getEvaluationScopeNode(evaluationScope.parent).node;
985
+ evaluationScope = getEvaluationScopeNode(evaluationScope.parent, nodeInfo).node;
980
986
  }
981
987
  return evaluationScope;
982
988
  }
@@ -1248,7 +1254,7 @@ function isWithinDefaultParamInitializer(node) {
1248
1254
  }
1249
1255
  return false;
1250
1256
  }
1251
- function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
1257
+ function isWithinTypeAnnotation(node, requireQuotedAnnotation, nodeInfo) {
1252
1258
  let curNode = node;
1253
1259
  let prevNode;
1254
1260
  let isQuoted = false;
@@ -1273,7 +1279,12 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
1273
1279
  // they're not "quoted".
1274
1280
  return true;
1275
1281
  }
1276
- if (curNode.nodeType === 48 /* ParseNodeType.StringList */ && prevNode === curNode.d.annotation) {
1282
+ const stringAnnotation = curNode.nodeType === 48 /* ParseNodeType.StringList */
1283
+ ? nodeInfo
1284
+ ? AnalyzerNodeInfo.getStringAnnotation(curNode, nodeInfo)
1285
+ : (0, parseNodes_1.getParserStringAnnotation)(curNode)
1286
+ : undefined;
1287
+ if (stringAnnotation && prevNode === stringAnnotation) {
1277
1288
  isQuoted = true;
1278
1289
  }
1279
1290
  if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
@@ -1755,9 +1766,9 @@ function getModuleNode(node) {
1755
1766
  }
1756
1767
  return current;
1757
1768
  }
1758
- function getFileInfoFromNode(node) {
1769
+ function getFileInfoFromNode(node, reader) {
1759
1770
  const current = getModuleNode(node);
1760
- return current ? AnalyzerNodeInfo.getFileInfo(current) : undefined;
1771
+ return current ? AnalyzerNodeInfo.getFileInfo(current, reader) : undefined;
1761
1772
  }
1762
1773
  function isFunctionSuiteEmpty(node) {
1763
1774
  let isEmpty = true;
@@ -1921,6 +1932,21 @@ function getFirstNameOfDottedName(node) {
1921
1932
  }
1922
1933
  return undefined;
1923
1934
  }
1935
+ // Returns the MemberAccessNode at or directly enclosing the given node: the node
1936
+ // itself when it is a member access, otherwise its parent when that is a member
1937
+ // access. Used by code actions that operate on `a.b` style access.
1938
+ function getEnclosingMemberAccessNode(node) {
1939
+ if (!node) {
1940
+ return undefined;
1941
+ }
1942
+ if (node.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1943
+ return node;
1944
+ }
1945
+ if (node.parent?.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1946
+ return node.parent;
1947
+ }
1948
+ return undefined;
1949
+ }
1924
1950
  function isFirstNameOfDottedName(node) {
1925
1951
  // ex) [A] or [A].B.C.D
1926
1952
  if (node.parent?.nodeType !== 35 /* ParseNodeType.MemberAccess */) {
@@ -2194,7 +2220,7 @@ function getVariableDocStringNode(node) {
2194
2220
  // Creates an ID that identifies this parse node in a way that will
2195
2221
  // not change each time the file is parsed (unless, of course, the
2196
2222
  // file contents change).
2197
- function getScopeIdForNode(node) {
2223
+ function getScopeIdForNode(node, nodeInfo) {
2198
2224
  let name = '';
2199
2225
  if (node.nodeType === 10 /* ParseNodeType.Class */) {
2200
2226
  name = node.d.name.d.value;
@@ -2202,12 +2228,12 @@ function getScopeIdForNode(node) {
2202
2228
  else if (node.nodeType === 31 /* ParseNodeType.Function */) {
2203
2229
  name = node.d.name.d.value;
2204
2230
  }
2205
- const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
2231
+ const fileInfo = AnalyzerNodeInfo.getFileInfo(node, nodeInfo);
2206
2232
  return `${fileInfo.fileId}.${node.start.toString()}-${name}`;
2207
2233
  }
2208
2234
  // Walks up the parse tree and finds all scopes that can provide
2209
2235
  // a context for a TypeVar and returns the scope ID for each.
2210
- function getTypeVarScopesForNode(node) {
2236
+ function getTypeVarScopesForNode(node, nodeInfo) {
2211
2237
  const scopeIds = [];
2212
2238
  let curNode = node;
2213
2239
  while (curNode) {
@@ -2215,7 +2241,7 @@ function getTypeVarScopesForNode(node) {
2215
2241
  if (!curNode) {
2216
2242
  break;
2217
2243
  }
2218
- scopeIds.push(getScopeIdForNode(curNode));
2244
+ scopeIds.push(getScopeIdForNode(curNode, nodeInfo));
2219
2245
  curNode = curNode.parent;
2220
2246
  }
2221
2247
  return scopeIds;
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}