@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
@@ -1,4 +1,5 @@
1
- import { ClassNode, ComprehensionNode, ExecutionScopeNode, FunctionNode, IfNode, LambdaNode, ModuleNode, ParseNode, StringNode } from '../parser/parseNodes';
1
+ import { ClassNode, ComprehensionNode, ExecutionScopeNode, FunctionNode, IfNode, LambdaNode, ModuleNode, ParseNode, ExpressionNode, StringListNode, StringNode } from '../parser/parseNodes';
2
+ import { StringAnnotationInfo } from '../parser/stringAnnotationInfo';
2
3
  import { AnalyzerFileInfo } from './analyzerFileInfo';
3
4
  import { FlowNode } from './codeFlowTypes';
4
5
  import { Declaration } from './declaration';
@@ -15,32 +16,126 @@ export interface AnalyzerNodeInfo {
15
16
  declaration?: Declaration;
16
17
  flowNode?: FlowNode;
17
18
  afterFlowNode?: FlowNode;
18
- fileInfo?: AnalyzerFileInfo;
19
19
  codeFlowExpressions?: Set<string>;
20
20
  codeFlowComplexity?: number;
21
21
  staticConditionValue?: boolean;
22
22
  dunderAllInfo?: DunderAllInfo | undefined;
23
+ stringAnnotations?: WeakMap<AnalyzerFileInfo, WeakMap<StringListNode, ExpressionNode>>;
24
+ }
25
+ export interface AnalyzerNodeInfoReader {
26
+ get(node: ParseNode): AnalyzerNodeInfo | undefined;
27
+ getFileInfo(node: ParseNode): AnalyzerFileInfo | undefined;
28
+ }
29
+ interface AnalyzerNodeInfoReaderPropertyProvider {
30
+ readonly analyzerNodeInfoReader: AnalyzerNodeInfoReader;
31
+ }
32
+ interface AnalyzerNodeInfoReaderMethodProvider {
33
+ getAnalyzerNodeInfoReader(): AnalyzerNodeInfoReader;
34
+ }
35
+ export declare function getInfoReader(provider: AnalyzerNodeInfoReaderPropertyProvider): AnalyzerNodeInfoReader;
36
+ export declare function getInfoReader(provider: AnalyzerNodeInfoReaderMethodProvider): AnalyzerNodeInfoReader;
37
+ export interface AnalyzerNodeInfoWriter extends AnalyzerNodeInfoReader {
38
+ getOrCreate(node: ParseNode): AnalyzerNodeInfo;
39
+ setFileInfo(root: ModuleNode, fileInfo: AnalyzerFileInfo): void;
40
+ }
41
+ export declare class AnalyzerNodeInfoStore implements AnalyzerNodeInfoWriter {
42
+ private readonly _infoByTree;
43
+ private readonly _fileInfoByTree;
44
+ get(node: ParseNode): AnalyzerNodeInfo | undefined;
45
+ getFileInfo(node: ParseNode): AnalyzerFileInfo | undefined;
46
+ getOrCreate(node: ParseNode): AnalyzerNodeInfo;
47
+ setFileInfo(root: ModuleNode, fileInfo: AnalyzerFileInfo): void;
48
+ }
49
+ export interface AnalyzerNodeInfoBindingSession extends AnalyzerNodeInfoWriter {
50
+ readonly root: ModuleNode;
51
+ }
52
+ export interface AnalyzerNodeInfoContext extends AnalyzerNodeInfoReader {
53
+ getCurrentLayerReader(): AnalyzerNodeInfoReader;
54
+ beginWrite(root: ModuleNode): AnalyzerNodeInfoBindingSession;
55
+ publish(session: AnalyzerNodeInfoBindingSession): AnalyzerNodeInfoStore;
56
+ registerStore(root: ModuleNode, store: AnalyzerNodeInfoStore): void;
57
+ remove(root: ModuleNode): void;
58
+ enterOverlay(): void;
59
+ promoteToPreviousLayer(root: ModuleNode): void;
60
+ discardOverlay(): void;
61
+ dispose(): void;
62
+ }
63
+ export declare class AnalyzerNodeInfoContextImpl implements AnalyzerNodeInfoContext {
64
+ private _layers;
65
+ private _disposed;
66
+ private readonly _currentLayerReader;
67
+ get(node: ParseNode): AnalyzerNodeInfo | undefined;
68
+ getFileInfo(node: ParseNode): AnalyzerFileInfo | undefined;
69
+ getCurrentLayerReader(): AnalyzerNodeInfoReader;
70
+ beginWrite(root: ModuleNode): AnalyzerNodeInfoBindingSession;
71
+ publish(session: AnalyzerNodeInfoBindingSession): AnalyzerNodeInfoStore;
72
+ registerStore(root: ModuleNode, store: AnalyzerNodeInfoStore): void;
73
+ remove(root: ModuleNode): void;
74
+ enterOverlay(): void;
75
+ promoteToPreviousLayer(root: ModuleNode): void;
76
+ discardOverlay(): void;
77
+ dispose(): void;
78
+ private _createLayer;
79
+ private _getFromCurrentLayer;
80
+ private _getFileInfoFromCurrentLayer;
81
+ private _throwIfDisposed;
23
82
  }
24
83
  export type ScopedNode = ModuleNode | ClassNode | FunctionNode | LambdaNode | ComprehensionNode;
25
- export declare function cleanNodeAnalysisInfo(node: ParseNode): void;
26
- export declare function getImportInfo(node: ParseNode): ImportResult | undefined;
27
- export declare function setImportInfo(node: ParseNode, importInfo: ImportResult): void;
28
- export declare function getScope(node: ParseNode): Scope | undefined;
29
- export declare function setScope(node: ParseNode, scope: Scope): void;
30
- export declare function getDeclaration(node: ParseNode): Declaration | undefined;
31
- export declare function setDeclaration(node: ParseNode, decl: Declaration): void;
32
- export declare function getFlowNode(node: ParseNode): FlowNode | undefined;
33
- export declare function setFlowNode(node: ParseNode, flowNode: FlowNode): void;
34
- export declare function getAfterFlowNode(node: ParseNode): FlowNode | undefined;
35
- export declare function setAfterFlowNode(node: ParseNode, flowNode: FlowNode): void;
36
- export declare function getFileInfo(node: ParseNode): AnalyzerFileInfo;
37
- export declare function setFileInfo(node: ModuleNode, fileInfo: AnalyzerFileInfo): void;
38
- export declare function getCodeFlowExpressions(node: ExecutionScopeNode): Set<string> | undefined;
39
- export declare function setCodeFlowExpressions(node: ExecutionScopeNode, expressions: Set<string>): void;
40
- export declare function getCodeFlowComplexity(node: ExecutionScopeNode): number;
41
- export declare function setCodeFlowComplexity(node: ExecutionScopeNode, complexity: number): void;
42
- export declare function getStaticConditionValue(node: IfNode): boolean | undefined;
43
- export declare function setStaticConditionValue(node: IfNode, value: boolean | undefined): void;
44
- export declare function getDunderAllInfo(node: ModuleNode): DunderAllInfo | undefined;
45
- export declare function setDunderAllInfo(node: ModuleNode, names: DunderAllInfo | undefined): void;
46
- export declare function isCodeUnreachable(node: ParseNode): boolean;
84
+ export declare class AnalyzerNodeInfoAccessor implements AnalyzerNodeInfoReader {
85
+ private readonly _reader;
86
+ private readonly _writer?;
87
+ constructor(_reader: AnalyzerNodeInfoReader, _writer?: AnalyzerNodeInfoWriter | undefined);
88
+ get(node: ParseNode): AnalyzerNodeInfo | undefined;
89
+ getImportInfo(node: ParseNode): ImportResult | undefined;
90
+ setImportInfo(node: ParseNode, importInfo: ImportResult): void;
91
+ getScope(node: ParseNode): Scope | undefined;
92
+ setScope(node: ParseNode, scope: Scope): void;
93
+ getDeclaration(node: ParseNode): Declaration | undefined;
94
+ setDeclaration(node: ParseNode, declaration: Declaration): void;
95
+ getStaticConditionValue(node: IfNode): boolean | undefined;
96
+ setStaticConditionValue(node: IfNode, value: boolean | undefined): void;
97
+ getFlowNode(node: ParseNode): FlowNode | undefined;
98
+ setFlowNode(node: ParseNode, flowNode: FlowNode): void;
99
+ getAfterFlowNode(node: ParseNode): FlowNode | undefined;
100
+ setAfterFlowNode(node: ParseNode, flowNode: FlowNode): void;
101
+ getFileInfoIfAvailable(node: ParseNode): AnalyzerFileInfo | undefined;
102
+ getFileInfo(node: ParseNode): AnalyzerFileInfo;
103
+ setFileInfo(node: ModuleNode, fileInfo: AnalyzerFileInfo): void;
104
+ getCodeFlowExpressions(node: ExecutionScopeNode): Set<string> | undefined;
105
+ setCodeFlowExpressions(node: ExecutionScopeNode, expressions: Set<string>): void;
106
+ getCodeFlowComplexity(node: ExecutionScopeNode): number;
107
+ setCodeFlowComplexity(node: ExecutionScopeNode, complexity: number): void;
108
+ getDunderAllInfo(node: ModuleNode): DunderAllInfo | undefined;
109
+ setDunderAllInfo(node: ModuleNode, names: DunderAllInfo | undefined): void;
110
+ getStringAnnotation(node: StringListNode): ExpressionNode | undefined;
111
+ setStringAnnotation(node: StringListNode, annotation: ExpressionNode, nestedAnnotations: StringAnnotationInfo): void;
112
+ isCodeUnreachable(node: ParseNode): boolean;
113
+ private _getWriter;
114
+ private _write;
115
+ }
116
+ export declare function createAnalyzerNodeInfoAccessor(reader: AnalyzerNodeInfoReader, writer?: AnalyzerNodeInfoWriter): AnalyzerNodeInfoAccessor;
117
+ export declare function getImportInfo(node: ParseNode, reader: AnalyzerNodeInfoReader): ImportResult | undefined;
118
+ export declare function setImportInfo(node: ParseNode, importInfo: ImportResult, writer: AnalyzerNodeInfoWriter): void;
119
+ export declare function getScope(node: ParseNode, reader: AnalyzerNodeInfoReader): Scope | undefined;
120
+ export declare function setScope(node: ParseNode, scope: Scope, writer: AnalyzerNodeInfoWriter): void;
121
+ export declare function getDeclaration(node: ParseNode, reader: AnalyzerNodeInfoReader): Declaration | undefined;
122
+ export declare function setDeclaration(node: ParseNode, decl: Declaration, writer: AnalyzerNodeInfoWriter): void;
123
+ export declare function getStaticConditionValue(node: IfNode, reader: AnalyzerNodeInfoReader): boolean | undefined;
124
+ export declare function setStaticConditionValue(node: IfNode, value: boolean | undefined, writer: AnalyzerNodeInfoWriter): void;
125
+ export declare function getFlowNode(node: ParseNode, reader: AnalyzerNodeInfoReader): FlowNode | undefined;
126
+ export declare function setFlowNode(node: ParseNode, flowNode: FlowNode, writer: AnalyzerNodeInfoWriter): void;
127
+ export declare function getAfterFlowNode(node: ParseNode, reader: AnalyzerNodeInfoReader): FlowNode | undefined;
128
+ export declare function setAfterFlowNode(node: ParseNode, flowNode: FlowNode, writer: AnalyzerNodeInfoWriter): void;
129
+ export declare function getStringAnnotation(node: StringListNode, reader: AnalyzerNodeInfoReader): ExpressionNode | undefined;
130
+ export declare function setStringAnnotation(node: StringListNode, annotation: ExpressionNode, nestedAnnotations: StringAnnotationInfo, reader: AnalyzerNodeInfoReader): void;
131
+ export declare function getFileInfoIfAvailable(node: ParseNode, reader: AnalyzerNodeInfoReader): AnalyzerFileInfo | undefined;
132
+ export declare function getFileInfo(node: ParseNode, reader: AnalyzerNodeInfoReader): AnalyzerFileInfo;
133
+ export declare function setFileInfo(node: ModuleNode, fileInfo: AnalyzerFileInfo, writer: AnalyzerNodeInfoWriter): void;
134
+ export declare function getCodeFlowExpressions(node: ExecutionScopeNode, reader: AnalyzerNodeInfoReader): Set<string> | undefined;
135
+ export declare function setCodeFlowExpressions(node: ExecutionScopeNode, expressions: Set<string>, writer: AnalyzerNodeInfoWriter): void;
136
+ export declare function getCodeFlowComplexity(node: ExecutionScopeNode, reader: AnalyzerNodeInfoReader): number;
137
+ export declare function setCodeFlowComplexity(node: ExecutionScopeNode, complexity: number, writer: AnalyzerNodeInfoWriter): void;
138
+ export declare function getDunderAllInfo(node: ModuleNode, reader: AnalyzerNodeInfoReader): DunderAllInfo | undefined;
139
+ export declare function setDunderAllInfo(node: ModuleNode, names: DunderAllInfo | undefined, writer: AnalyzerNodeInfoWriter): void;
140
+ export declare function isCodeUnreachable(node: ParseNode, reader: AnalyzerNodeInfoReader): boolean;
141
+ export {};