@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
@@ -5,156 +5,485 @@
5
5
  * Licensed under the MIT license.
6
6
  * Author: Eric Traut
7
7
  *
8
- * Defines objects that hang off the parse nodes in the parse tree.
9
- * It contains information collected during the binder phase that
10
- * can be used for later analysis steps or for language services
11
- * (e.g. hover information).
8
+ * Defines information associated with parse nodes. It contains data
9
+ * collected during the binder phase that can be used for later analysis
10
+ * steps or for language services (e.g. hover information).
12
11
  */
13
12
  Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.cleanNodeAnalysisInfo = cleanNodeAnalysisInfo;
13
+ exports.AnalyzerNodeInfoAccessor = exports.AnalyzerNodeInfoContextImpl = exports.AnalyzerNodeInfoStore = void 0;
14
+ exports.getInfoReader = getInfoReader;
15
+ exports.createAnalyzerNodeInfoAccessor = createAnalyzerNodeInfoAccessor;
15
16
  exports.getImportInfo = getImportInfo;
16
17
  exports.setImportInfo = setImportInfo;
17
18
  exports.getScope = getScope;
18
19
  exports.setScope = setScope;
19
20
  exports.getDeclaration = getDeclaration;
20
21
  exports.setDeclaration = setDeclaration;
22
+ exports.getStaticConditionValue = getStaticConditionValue;
23
+ exports.setStaticConditionValue = setStaticConditionValue;
21
24
  exports.getFlowNode = getFlowNode;
22
25
  exports.setFlowNode = setFlowNode;
23
26
  exports.getAfterFlowNode = getAfterFlowNode;
24
27
  exports.setAfterFlowNode = setAfterFlowNode;
28
+ exports.getStringAnnotation = getStringAnnotation;
29
+ exports.setStringAnnotation = setStringAnnotation;
30
+ exports.getFileInfoIfAvailable = getFileInfoIfAvailable;
25
31
  exports.getFileInfo = getFileInfo;
26
32
  exports.setFileInfo = setFileInfo;
27
33
  exports.getCodeFlowExpressions = getCodeFlowExpressions;
28
34
  exports.setCodeFlowExpressions = setCodeFlowExpressions;
29
35
  exports.getCodeFlowComplexity = getCodeFlowComplexity;
30
36
  exports.setCodeFlowComplexity = setCodeFlowComplexity;
31
- exports.getStaticConditionValue = getStaticConditionValue;
32
- exports.setStaticConditionValue = setStaticConditionValue;
33
37
  exports.getDunderAllInfo = getDunderAllInfo;
34
38
  exports.setDunderAllInfo = setDunderAllInfo;
35
39
  exports.isCodeUnreachable = isCodeUnreachable;
40
+ const parseNodes_1 = require("../parser/parseNodes");
36
41
  const codeFlowTypes_1 = require("./codeFlowTypes");
37
- // Cleans out all fields that are added by the analyzer phases
38
- // (after the post-parse walker).
39
- function cleanNodeAnalysisInfo(node) {
40
- const info = getAnalyzerInfo(node);
41
- if (info?.scope) {
42
- info.scope = undefined;
42
+ function getInfoReader(provider) {
43
+ if ('analyzerNodeInfoReader' in provider) {
44
+ return provider.analyzerNodeInfoReader;
45
+ }
46
+ return provider.getAnalyzerNodeInfoReader();
47
+ }
48
+ class AnalyzerNodeInfoStore {
49
+ constructor() {
50
+ this._infoByTree = new WeakMap();
51
+ this._fileInfoByTree = new WeakMap();
52
+ }
53
+ get(node) {
54
+ return this._infoByTree.get(node.a)?.get(node);
55
+ }
56
+ getFileInfo(node) {
57
+ return this._fileInfoByTree.get(node.a);
58
+ }
59
+ getOrCreate(node) {
60
+ let treeInfo = this._infoByTree.get(node.a);
61
+ if (!treeInfo) {
62
+ treeInfo = new WeakMap();
63
+ this._infoByTree.set(node.a, treeInfo);
64
+ }
65
+ let info = treeInfo.get(node);
66
+ if (!info) {
67
+ info = {};
68
+ treeInfo.set(node, info);
69
+ }
70
+ return info;
71
+ }
72
+ setFileInfo(root, fileInfo) {
73
+ this._fileInfoByTree.set(root.a, fileInfo);
74
+ }
75
+ }
76
+ exports.AnalyzerNodeInfoStore = AnalyzerNodeInfoStore;
77
+ class AnalyzerNodeInfoBindingSessionImpl {
78
+ constructor(root, _context) {
79
+ this.root = root;
80
+ this._context = _context;
81
+ this._store = new AnalyzerNodeInfoStore();
82
+ this._published = false;
83
+ }
84
+ get(node) {
85
+ if (node.a === this.root.a) {
86
+ return this._store.get(node);
87
+ }
88
+ return this._context.get(node);
89
+ }
90
+ getFileInfo(node) {
91
+ if (node.a === this.root.a) {
92
+ return this._store.getFileInfo(node);
93
+ }
94
+ return this._context.getFileInfo(node);
95
+ }
96
+ getOrCreate(node) {
97
+ this._verifyWritable(node);
98
+ return this._store.getOrCreate(node);
99
+ }
100
+ setFileInfo(root, fileInfo) {
101
+ this._verifyWritable(root);
102
+ this._store.setFileInfo(root, fileInfo);
103
+ }
104
+ publish(context) {
105
+ if (context !== this._context) {
106
+ throw new Error('Cannot publish analyzer information to a different context');
107
+ }
108
+ if (this._published) {
109
+ throw new Error('Analyzer information binding session was already published');
110
+ }
111
+ this._published = true;
112
+ return this._store;
113
+ }
114
+ _verifyWritable(node) {
115
+ if (this._published) {
116
+ throw new Error('Cannot write analyzer information after publication');
117
+ }
118
+ if (node.a !== this.root.a) {
119
+ throw new Error('Cannot write analyzer information for a foreign parse tree');
120
+ }
121
+ }
122
+ }
123
+ class AnalyzerNodeInfoContextImpl {
124
+ constructor() {
125
+ this._layers = [this._createLayer()];
126
+ this._disposed = false;
127
+ this._currentLayerReader = {
128
+ get: (node) => this._getFromCurrentLayer(node),
129
+ getFileInfo: (node) => this._getFileInfoFromCurrentLayer(node),
130
+ };
131
+ }
132
+ get(node) {
133
+ if (this._disposed) {
134
+ return undefined;
135
+ }
136
+ // Fast path: no edit-mode overlay is active (the steady-state batch/check
137
+ // case always has just the base layer). Skip the layer-walk loop and the
138
+ // removedKeys tombstone check: a tree removed from the base layer also has
139
+ // its store deleted, so stores.get returns undefined for it anyway.
140
+ const layers = this._layers;
141
+ if (layers.length === 1) {
142
+ return layers[0].stores.get(node.a)?.get(node);
143
+ }
144
+ for (let index = layers.length - 1; index >= 0; index--) {
145
+ const layer = layers[index];
146
+ if (layer.removedKeys.has(node.a)) {
147
+ return undefined;
148
+ }
149
+ const store = layer.stores.get(node.a);
150
+ if (store) {
151
+ return store.get(node);
152
+ }
153
+ }
154
+ return undefined;
155
+ }
156
+ getFileInfo(node) {
157
+ if (this._disposed) {
158
+ return undefined;
159
+ }
160
+ const layers = this._layers;
161
+ if (layers.length === 1) {
162
+ return layers[0].stores.get(node.a)?.getFileInfo(node);
163
+ }
164
+ for (let index = layers.length - 1; index >= 0; index--) {
165
+ const layer = layers[index];
166
+ if (layer.removedKeys.has(node.a)) {
167
+ return undefined;
168
+ }
169
+ const store = layer.stores.get(node.a);
170
+ if (store) {
171
+ return store.getFileInfo(node);
172
+ }
173
+ }
174
+ return undefined;
175
+ }
176
+ getCurrentLayerReader() {
177
+ return this._currentLayerReader;
178
+ }
179
+ beginWrite(root) {
180
+ this._throwIfDisposed();
181
+ return new AnalyzerNodeInfoBindingSessionImpl(root, this);
182
+ }
183
+ publish(session) {
184
+ this._throwIfDisposed();
185
+ if (!(session instanceof AnalyzerNodeInfoBindingSessionImpl)) {
186
+ throw new Error('Cannot publish an analyzer information binding session from a different implementation');
187
+ }
188
+ const store = session.publish(this);
189
+ this.registerStore(session.root, store);
190
+ return store;
191
+ }
192
+ registerStore(root, store) {
193
+ this._throwIfDisposed();
194
+ const layer = this._layers[this._layers.length - 1];
195
+ layer.removedKeys.delete(root.a);
196
+ layer.stores.set(root.a, store);
197
+ }
198
+ remove(root) {
199
+ this._throwIfDisposed();
200
+ const layer = this._layers[this._layers.length - 1];
201
+ layer.stores.delete(root.a);
202
+ layer.removedKeys.add(root.a);
203
+ }
204
+ enterOverlay() {
205
+ this._throwIfDisposed();
206
+ this._layers.push(this._createLayer());
207
+ }
208
+ promoteToPreviousLayer(root) {
209
+ this._throwIfDisposed();
210
+ if (this._layers.length < 2) {
211
+ return;
212
+ }
213
+ const top = this._layers[this._layers.length - 1];
214
+ const store = top.stores.get(root.a);
215
+ if (!store) {
216
+ return;
217
+ }
218
+ const previous = this._layers[this._layers.length - 2];
219
+ previous.removedKeys.delete(root.a);
220
+ previous.stores.set(root.a, store);
221
+ top.stores.delete(root.a);
222
+ }
223
+ discardOverlay() {
224
+ this._throwIfDisposed();
225
+ if (this._layers.length === 1) {
226
+ throw new Error('Cannot discard the base analyzer information context layer');
227
+ }
228
+ this._layers.pop();
229
+ }
230
+ dispose() {
231
+ this._layers = [];
232
+ this._disposed = true;
43
233
  }
44
- if (info?.declaration) {
45
- info.declaration = undefined;
234
+ _createLayer() {
235
+ return {
236
+ stores: new WeakMap(),
237
+ removedKeys: new WeakSet(),
238
+ };
46
239
  }
47
- if (info?.flowNode) {
48
- info.flowNode = undefined;
240
+ _getFromCurrentLayer(node) {
241
+ if (this._disposed) {
242
+ return undefined;
243
+ }
244
+ const layer = this._layers[this._layers.length - 1];
245
+ if (layer.removedKeys.has(node.a)) {
246
+ return undefined;
247
+ }
248
+ return layer.stores.get(node.a)?.get(node);
249
+ }
250
+ _getFileInfoFromCurrentLayer(node) {
251
+ if (this._disposed) {
252
+ return undefined;
253
+ }
254
+ const layer = this._layers[this._layers.length - 1];
255
+ if (layer.removedKeys.has(node.a)) {
256
+ return undefined;
257
+ }
258
+ return layer.stores.get(node.a)?.getFileInfo(node);
259
+ }
260
+ _throwIfDisposed() {
261
+ if (this._disposed) {
262
+ throw new Error('Analyzer node information context is disposed');
263
+ }
264
+ }
265
+ }
266
+ exports.AnalyzerNodeInfoContextImpl = AnalyzerNodeInfoContextImpl;
267
+ class AnalyzerNodeInfoAccessor {
268
+ constructor(_reader, _writer) {
269
+ this._reader = _reader;
270
+ this._writer = _writer;
271
+ }
272
+ get(node) {
273
+ return this._reader.get(node);
274
+ }
275
+ getImportInfo(node) {
276
+ return getImportInfo(node, this._reader);
277
+ }
278
+ setImportInfo(node, importInfo) {
279
+ this._write((writer) => setImportInfo(node, importInfo, writer));
280
+ }
281
+ getScope(node) {
282
+ return getScope(node, this._reader);
283
+ }
284
+ setScope(node, scope) {
285
+ this._write((writer) => setScope(node, scope, writer));
286
+ }
287
+ getDeclaration(node) {
288
+ return getDeclaration(node, this._reader);
289
+ }
290
+ setDeclaration(node, declaration) {
291
+ this._write((writer) => setDeclaration(node, declaration, writer));
292
+ }
293
+ getStaticConditionValue(node) {
294
+ return getStaticConditionValue(node, this._reader);
295
+ }
296
+ setStaticConditionValue(node, value) {
297
+ this._write((writer) => setStaticConditionValue(node, value, writer));
298
+ }
299
+ getFlowNode(node) {
300
+ return getFlowNode(node, this._reader);
301
+ }
302
+ setFlowNode(node, flowNode) {
303
+ this._write((writer) => setFlowNode(node, flowNode, writer));
304
+ }
305
+ getAfterFlowNode(node) {
306
+ return getAfterFlowNode(node, this._reader);
307
+ }
308
+ setAfterFlowNode(node, flowNode) {
309
+ this._write((writer) => setAfterFlowNode(node, flowNode, writer));
310
+ }
311
+ getFileInfoIfAvailable(node) {
312
+ return getFileInfoIfAvailable(node, this._reader);
313
+ }
314
+ getFileInfo(node) {
315
+ return getFileInfo(node, this._reader);
316
+ }
317
+ setFileInfo(node, fileInfo) {
318
+ this._write((writer) => setFileInfo(node, fileInfo, writer));
49
319
  }
50
- if (info?.afterFlowNode) {
51
- info.afterFlowNode = undefined;
320
+ getCodeFlowExpressions(node) {
321
+ return getCodeFlowExpressions(node, this._reader);
52
322
  }
53
- if (info?.fileInfo) {
54
- info.fileInfo = undefined;
323
+ setCodeFlowExpressions(node, expressions) {
324
+ this._write((writer) => setCodeFlowExpressions(node, expressions, writer));
55
325
  }
56
- if (info?.codeFlowExpressions) {
57
- info.codeFlowExpressions = undefined;
326
+ getCodeFlowComplexity(node) {
327
+ return getCodeFlowComplexity(node, this._reader);
58
328
  }
59
- if (info?.codeFlowComplexity) {
60
- info.codeFlowComplexity = undefined;
329
+ setCodeFlowComplexity(node, complexity) {
330
+ this._write((writer) => setCodeFlowComplexity(node, complexity, writer));
61
331
  }
62
- if (info?.staticConditionValue !== undefined) {
63
- info.staticConditionValue = undefined;
332
+ getDunderAllInfo(node) {
333
+ return getDunderAllInfo(node, this._reader);
64
334
  }
65
- if (info?.dunderAllInfo) {
66
- info.dunderAllInfo = undefined;
335
+ setDunderAllInfo(node, names) {
336
+ this._write((writer) => setDunderAllInfo(node, names, writer));
337
+ }
338
+ getStringAnnotation(node) {
339
+ return getStringAnnotation(node, this._reader);
340
+ }
341
+ setStringAnnotation(node, annotation, nestedAnnotations) {
342
+ setStringAnnotation(node, annotation, nestedAnnotations, this._reader);
343
+ }
344
+ isCodeUnreachable(node) {
345
+ return isCodeUnreachable(node, this._reader);
346
+ }
347
+ _getWriter() {
348
+ if (!this._writer) {
349
+ throw new Error('Analyzer node information accessor is read-only');
350
+ }
351
+ return this._writer;
352
+ }
353
+ _write(callback) {
354
+ callback(this._getWriter());
67
355
  }
68
356
  }
69
- function getImportInfo(node) {
70
- const info = getAnalyzerInfo(node);
357
+ exports.AnalyzerNodeInfoAccessor = AnalyzerNodeInfoAccessor;
358
+ function createAnalyzerNodeInfoAccessor(reader, writer) {
359
+ return new AnalyzerNodeInfoAccessor(reader, writer);
360
+ }
361
+ function getImportInfo(node, reader) {
362
+ const info = reader.get(node);
71
363
  return info?.importInfo;
72
364
  }
73
- function setImportInfo(node, importInfo) {
74
- const info = getAnalyzerInfoForWrite(node);
365
+ function setImportInfo(node, importInfo, writer) {
366
+ const info = writer.getOrCreate(node);
75
367
  info.importInfo = importInfo;
76
368
  }
77
- function getScope(node) {
78
- const info = getAnalyzerInfo(node);
369
+ function getScope(node, reader) {
370
+ const info = reader.get(node);
79
371
  return info?.scope;
80
372
  }
81
- function setScope(node, scope) {
82
- const info = getAnalyzerInfoForWrite(node);
373
+ function setScope(node, scope, writer) {
374
+ const info = writer.getOrCreate(node);
83
375
  info.scope = scope;
84
376
  }
85
- function getDeclaration(node) {
86
- const info = getAnalyzerInfo(node);
377
+ function getDeclaration(node, reader) {
378
+ const info = reader.get(node);
87
379
  return info?.declaration;
88
380
  }
89
- function setDeclaration(node, decl) {
90
- const info = getAnalyzerInfoForWrite(node);
381
+ function setDeclaration(node, decl, writer) {
382
+ const info = writer.getOrCreate(node);
91
383
  info.declaration = decl;
92
384
  }
93
- function getFlowNode(node) {
94
- const info = getAnalyzerInfo(node);
385
+ function getStaticConditionValue(node, reader) {
386
+ const info = reader.get(node);
387
+ return info?.staticConditionValue;
388
+ }
389
+ function setStaticConditionValue(node, value, writer) {
390
+ const info = writer.getOrCreate(node);
391
+ info.staticConditionValue = value;
392
+ }
393
+ function getFlowNode(node, reader) {
394
+ const info = reader.get(node);
95
395
  return info?.flowNode;
96
396
  }
97
- function setFlowNode(node, flowNode) {
98
- const info = getAnalyzerInfoForWrite(node);
397
+ function setFlowNode(node, flowNode, writer) {
398
+ const info = writer.getOrCreate(node);
99
399
  info.flowNode = flowNode;
100
400
  }
101
- function getAfterFlowNode(node) {
102
- const info = getAnalyzerInfo(node);
401
+ function getAfterFlowNode(node, reader) {
402
+ const info = reader.get(node);
103
403
  return info?.afterFlowNode;
104
404
  }
105
- function setAfterFlowNode(node, flowNode) {
106
- const info = getAnalyzerInfoForWrite(node);
405
+ function setAfterFlowNode(node, flowNode, writer) {
406
+ const info = writer.getOrCreate(node);
107
407
  info.afterFlowNode = flowNode;
108
408
  }
109
- function getFileInfo(node) {
110
- while (node.nodeType !== 36 /* ParseNodeType.Module */) {
111
- node = node.parent;
409
+ function getStringAnnotation(node, reader) {
410
+ // Precedence and tier asymmetry (do not reorder):
411
+ // Tier 1 - parser-derived quoted annotations (e.g. `x: "Data"`) are established by the
412
+ // grammar during parsing. They are owner-independent and live on the shared parse
413
+ // tree's owner key, so they are visible to every Program that reuses the tree.
414
+ // Tier 2 - semantically-discovered annotations (e.g. `cast("Data", v)`, alias-dependent
415
+ // forward refs) are owner-specific and stored per-`fileInfo` under the root node.
416
+ // Parser annotations always win: an ordinary string is only consulted against the tier-2
417
+ // store when no tier-1 annotation exists. Merging or reordering these lookups would break
418
+ // cross-owner isolation (two Programs sharing a root could see each other's semantic results).
419
+ const parserAnnotation = (0, parseNodes_1.getParserStringAnnotation)(node);
420
+ if (parserAnnotation) {
421
+ return parserAnnotation;
422
+ }
423
+ const root = (0, parseNodes_1.getParseTreeRoot)(node);
424
+ if (!root) {
425
+ return undefined;
426
+ }
427
+ const fileInfo = reader.getFileInfo(node);
428
+ return fileInfo ? reader.get(root)?.stringAnnotations?.get(fileInfo)?.get(node) : undefined;
429
+ }
430
+ function setStringAnnotation(node, annotation, nestedAnnotations, reader) {
431
+ const root = (0, parseNodes_1.getParseTreeRoot)(node);
432
+ const fileInfo = reader.getFileInfo(node);
433
+ const rootInfo = root ? reader.get(root) : undefined;
434
+ if (!root || !fileInfo || !rootInfo) {
435
+ throw new Error('String annotations require a bound parse tree');
436
+ }
437
+ rootInfo.stringAnnotations ?? (rootInfo.stringAnnotations = new WeakMap());
438
+ let ownerAnnotations = rootInfo.stringAnnotations.get(fileInfo);
439
+ if (!ownerAnnotations) {
440
+ ownerAnnotations = new WeakMap();
441
+ rootInfo.stringAnnotations.set(fileInfo, ownerAnnotations);
112
442
  }
113
- const info = getAnalyzerInfo(node);
114
- return info.fileInfo;
443
+ ownerAnnotations.set(node, annotation);
444
+ nestedAnnotations.forEach((nestedAnnotation, nestedNode) => {
445
+ ownerAnnotations.set(nestedNode, nestedAnnotation);
446
+ });
115
447
  }
116
- function setFileInfo(node, fileInfo) {
117
- const info = getAnalyzerInfoForWrite(node);
118
- info.fileInfo = fileInfo;
448
+ function getFileInfoIfAvailable(node, reader) {
449
+ return reader.getFileInfo(node);
119
450
  }
120
- function getCodeFlowExpressions(node) {
121
- const info = getAnalyzerInfo(node);
451
+ function getFileInfo(node, reader) {
452
+ return getFileInfoIfAvailable(node, reader);
453
+ }
454
+ function setFileInfo(node, fileInfo, writer) {
455
+ writer.setFileInfo(node, fileInfo);
456
+ }
457
+ function getCodeFlowExpressions(node, reader) {
458
+ const info = reader.get(node);
122
459
  return info?.codeFlowExpressions;
123
460
  }
124
- function setCodeFlowExpressions(node, expressions) {
125
- const info = getAnalyzerInfoForWrite(node);
461
+ function setCodeFlowExpressions(node, expressions, writer) {
462
+ const info = writer.getOrCreate(node);
126
463
  info.codeFlowExpressions = expressions;
127
464
  }
128
- function getCodeFlowComplexity(node) {
129
- const info = getAnalyzerInfo(node);
465
+ function getCodeFlowComplexity(node, reader) {
466
+ const info = reader.get(node);
130
467
  return info?.codeFlowComplexity ?? 0;
131
468
  }
132
- function setCodeFlowComplexity(node, complexity) {
133
- const info = getAnalyzerInfoForWrite(node);
469
+ function setCodeFlowComplexity(node, complexity, writer) {
470
+ const info = writer.getOrCreate(node);
134
471
  info.codeFlowComplexity = complexity;
135
472
  }
136
- function getStaticConditionValue(node) {
137
- const info = getAnalyzerInfo(node);
138
- return info?.staticConditionValue;
139
- }
140
- function setStaticConditionValue(node, value) {
141
- const info = getAnalyzerInfoForWrite(node);
142
- info.staticConditionValue = value;
143
- }
144
- function getDunderAllInfo(node) {
145
- const info = getAnalyzerInfo(node);
473
+ function getDunderAllInfo(node, reader) {
474
+ const info = reader.get(node);
146
475
  return info?.dunderAllInfo;
147
476
  }
148
- function setDunderAllInfo(node, names) {
149
- const info = getAnalyzerInfoForWrite(node);
477
+ function setDunderAllInfo(node, names, writer) {
478
+ const info = writer.getOrCreate(node);
150
479
  info.dunderAllInfo = names;
151
480
  }
152
- function isCodeUnreachable(node) {
481
+ function isCodeUnreachable(node, reader) {
153
482
  let curNode = node;
154
483
  // Walk up the parse tree until we find a node with
155
484
  // an associated flow node.
156
485
  while (curNode) {
157
- const flowNode = getFlowNode(curNode);
486
+ const flowNode = getFlowNode(curNode, reader);
158
487
  if (flowNode) {
159
488
  return (flowNode.flags & (codeFlowTypes_1.FlowFlags.UnreachableStaticCondition | codeFlowTypes_1.FlowFlags.UnreachableStructural)) !== 0;
160
489
  }
@@ -162,14 +491,4 @@ function isCodeUnreachable(node) {
162
491
  }
163
492
  return false;
164
493
  }
165
- function getAnalyzerInfo(node) {
166
- return node.a;
167
- }
168
- function getAnalyzerInfoForWrite(node) {
169
- let info = node.a;
170
- if (!info) {
171
- node.a = info = {};
172
- }
173
- return info;
174
- }
175
494
  //# sourceMappingURL=analyzerNodeInfo.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analyzerNodeInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerNodeInfo.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analyzerNodeInfo.js","sourceRoot":"","sources":["../../../../../src/analyzer/analyzerNodeInfo.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { AssertNode, AssignmentExpressionNode, AssignmentNode, AugmentedAssignmentNode, AwaitNode, BinaryOperationNode, BreakNode, CallNode, ClassNode, ComprehensionNode, ContinueNode, DelNode, ExceptNode, ForNode, FunctionNode, GlobalNode, IfNode, ImportAsNode, ImportFromNode, IndexNode, LambdaNode, MatchNode, MemberAccessNode, ModuleNameNode, ModuleNode, NameNode, NonlocalNode, ParseNode, PatternAsNode, PatternCaptureNode, PatternMappingExpandEntryNode, RaiseNode, ReturnNode, SuiteNode, TernaryNode, TryNode, TypeAliasNode, TypeAnnotationNode, TypeParameterListNode, UnaryOperationNode, WhileNode, WithNode, YieldFromNode, YieldNode } from '../parser/parseNodes';
2
2
  import { AnalyzerFileInfo } from './analyzerFileInfo';
3
+ import * as AnalyzerNodeInfo from './analyzerNodeInfo';
3
4
  import { ParseTreeWalker } from './parseTreeWalker';
4
5
  import { CellChainIndexProvider } from './cellChainIndex';
5
6
  import { Scope } from './scope';
6
7
  export declare class Binder extends ParseTreeWalker {
7
8
  private _moduleSymbolOnly;
8
- private readonly _cellChainIndex?;
9
+ private readonly _cellChainIndex;
9
10
  private readonly _fileInfo;
11
+ private readonly _nodeInfo;
10
12
  private _deferredBindingTasks;
11
13
  private _currentScope;
12
14
  private _currentFlowNode;
@@ -37,7 +39,7 @@ export declare class Binder extends ParseTreeWalker {
37
39
  private _potentialWildcardReexportSymbols;
38
40
  private _potentialPrivateSymbols;
39
41
  private _codeFlowComplexity;
40
- constructor(fileInfo: AnalyzerFileInfo, _moduleSymbolOnly?: boolean, _cellChainIndex?: CellChainIndexProvider | undefined);
42
+ constructor(fileInfo: AnalyzerFileInfo, _moduleSymbolOnly: boolean | undefined, _cellChainIndex: CellChainIndexProvider | undefined, nodeInfo: AnalyzerNodeInfo.AnalyzerNodeInfoAccessor);
41
43
  bindModule(node: ModuleNode): void;
42
44
  visitModule(node: ModuleNode): boolean;
43
45
  visitSuite(node: SuiteNode): boolean;
@@ -161,8 +163,9 @@ export declare class ReturnFinder extends ParseTreeWalker {
161
163
  visitReturn(node: ReturnNode): boolean;
162
164
  }
163
165
  export declare class DummyScopeGenerator extends ParseTreeWalker {
166
+ private readonly _nodeInfo;
164
167
  private _currentScope;
165
- constructor(currentScope: Scope | undefined);
168
+ constructor(currentScope: Scope | undefined, _nodeInfo: AnalyzerNodeInfo.AnalyzerNodeInfoAccessor);
166
169
  visitClass(node: ClassNode): boolean;
167
170
  visitFunction(node: FunctionNode): boolean;
168
171
  private _createNewScope;