@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
@@ -1,4 +1,5 @@
1
1
  import { TextRange } from '../common/textRange';
2
+ import { StringAnnotationInfo } from './stringAnnotationInfo';
2
3
  import { FStringEndToken, FStringMiddleToken, FStringStartToken, IdentifierToken, KeywordToken, KeywordType, NumberToken, OperatorType, StringToken, Token } from './tokenizerTypes';
3
4
  export declare const enum ParseNodeType {
4
5
  Error = 0,// 0
@@ -98,13 +99,18 @@ export declare const enum ErrorExpressionCategory {
98
99
  MissingKeywordArgValue = 14,
99
100
  MaxDepthExceeded = 15
100
101
  }
102
+ export type ParseTreeKey = object;
103
+ export declare function setParserStringAnnotationInfo(key: ParseTreeKey, stringAnnotations: StringAnnotationInfo): void;
104
+ export declare function getParseTreeRoot(node: ParseNode): ModuleNode | undefined;
105
+ export declare function getParserStringAnnotation(node: StringListNode): ExpressionNode | undefined;
106
+ export declare function getParserStringAnnotationInfo(node: ParseNode): StringAnnotationInfo;
101
107
  export interface ParseNodeBase<T extends ParseNodeType> {
102
108
  readonly nodeType: T;
103
109
  readonly start: number;
104
110
  readonly length: number;
105
111
  id: number;
106
112
  parent: ParseNode | undefined;
107
- a: object | undefined;
113
+ readonly a: ParseTreeKey;
108
114
  d: object;
109
115
  }
110
116
  export declare function getNextNodeId(): number;
@@ -125,7 +131,7 @@ export interface SuiteNode extends ParseNodeBase<ParseNodeType.Suite> {
125
131
  };
126
132
  }
127
133
  export declare namespace SuiteNode {
128
- function create(range: TextRange): SuiteNode;
134
+ function create(key: ParseTreeKey, range: TextRange): SuiteNode;
129
135
  }
130
136
  export interface IfNode extends ParseNodeBase<ParseNodeType.If> {
131
137
  d: {
@@ -136,7 +142,7 @@ export interface IfNode extends ParseNodeBase<ParseNodeType.If> {
136
142
  };
137
143
  }
138
144
  export declare namespace IfNode {
139
- function create(ifOrElifToken: Token, testExpr: ExpressionNode, ifSuite: SuiteNode, elseSuite?: SuiteNode): IfNode;
145
+ function create(key: ParseTreeKey, ifOrElifToken: Token, testExpr: ExpressionNode, ifSuite: SuiteNode, elseSuite?: SuiteNode): IfNode;
140
146
  }
141
147
  export interface WhileNode extends ParseNodeBase<ParseNodeType.While> {
142
148
  d: {
@@ -147,7 +153,7 @@ export interface WhileNode extends ParseNodeBase<ParseNodeType.While> {
147
153
  };
148
154
  }
149
155
  export declare namespace WhileNode {
150
- function create(whileToken: Token, testExpr: ExpressionNode, whileSuite: SuiteNode): WhileNode;
156
+ function create(key: ParseTreeKey, whileToken: Token, testExpr: ExpressionNode, whileSuite: SuiteNode): WhileNode;
151
157
  }
152
158
  export interface ForNode extends ParseNodeBase<ParseNodeType.For> {
153
159
  d: {
@@ -162,7 +168,7 @@ export interface ForNode extends ParseNodeBase<ParseNodeType.For> {
162
168
  };
163
169
  }
164
170
  export declare namespace ForNode {
165
- function create(forToken: Token, targetExpr: ExpressionNode, iterableExpr: ExpressionNode, forSuite: SuiteNode): ForNode;
171
+ function create(key: ParseTreeKey, forToken: Token, targetExpr: ExpressionNode, iterableExpr: ExpressionNode, forSuite: SuiteNode): ForNode;
166
172
  }
167
173
  export type ComprehensionForIfNode = ComprehensionForNode | ComprehensionIfNode;
168
174
  export interface ComprehensionForNode extends ParseNodeBase<ParseNodeType.ComprehensionFor> {
@@ -174,7 +180,7 @@ export interface ComprehensionForNode extends ParseNodeBase<ParseNodeType.Compre
174
180
  };
175
181
  }
176
182
  export declare namespace ComprehensionForNode {
177
- function create(startToken: Token, targetExpr: ExpressionNode, iterableExpr: ExpressionNode): ComprehensionForNode;
183
+ function create(key: ParseTreeKey, startToken: Token, targetExpr: ExpressionNode, iterableExpr: ExpressionNode): ComprehensionForNode;
178
184
  }
179
185
  export interface ComprehensionIfNode extends ParseNodeBase<ParseNodeType.ComprehensionIf> {
180
186
  d: {
@@ -182,7 +188,7 @@ export interface ComprehensionIfNode extends ParseNodeBase<ParseNodeType.Compreh
182
188
  };
183
189
  }
184
190
  export declare namespace ComprehensionIfNode {
185
- function create(ifToken: Token, testExpr: ExpressionNode): ComprehensionIfNode;
191
+ function create(key: ParseTreeKey, ifToken: Token, testExpr: ExpressionNode): ComprehensionIfNode;
186
192
  }
187
193
  export interface TryNode extends ParseNodeBase<ParseNodeType.Try> {
188
194
  d: {
@@ -194,7 +200,7 @@ export interface TryNode extends ParseNodeBase<ParseNodeType.Try> {
194
200
  };
195
201
  }
196
202
  export declare namespace TryNode {
197
- function create(tryToken: Token, trySuite: SuiteNode): TryNode;
203
+ function create(key: ParseTreeKey, tryToken: Token, trySuite: SuiteNode): TryNode;
198
204
  }
199
205
  export interface ExceptNode extends ParseNodeBase<ParseNodeType.Except> {
200
206
  d: {
@@ -206,7 +212,7 @@ export interface ExceptNode extends ParseNodeBase<ParseNodeType.Except> {
206
212
  };
207
213
  }
208
214
  export declare namespace ExceptNode {
209
- function create(exceptToken: Token, exceptSuite: SuiteNode, isExceptGroup: boolean): ExceptNode;
215
+ function create(key: ParseTreeKey, exceptToken: Token, exceptSuite: SuiteNode, isExceptGroup: boolean): ExceptNode;
210
216
  }
211
217
  export interface FunctionNode extends ParseNodeBase<ParseNodeType.Function> {
212
218
  d: {
@@ -222,7 +228,7 @@ export interface FunctionNode extends ParseNodeBase<ParseNodeType.Function> {
222
228
  };
223
229
  }
224
230
  export declare namespace FunctionNode {
225
- function create(defToken: Token, name: NameNode, suite: SuiteNode, typeParams?: TypeParameterListNode): FunctionNode;
231
+ function create(key: ParseTreeKey, defToken: Token, name: NameNode, suite: SuiteNode, typeParams?: TypeParameterListNode): FunctionNode;
226
232
  }
227
233
  export declare const enum ParamCategory {
228
234
  Simple = 0,
@@ -239,7 +245,7 @@ export interface ParameterNode extends ParseNodeBase<ParseNodeType.Parameter> {
239
245
  };
240
246
  }
241
247
  export declare namespace ParameterNode {
242
- function create(startToken: Token, paramCategory: ParamCategory): ParameterNode;
248
+ function create(key: ParseTreeKey, startToken: Token, paramCategory: ParamCategory): ParameterNode;
243
249
  }
244
250
  export interface ClassNode extends ParseNodeBase<ParseNodeType.Class> {
245
251
  d: {
@@ -252,8 +258,8 @@ export interface ClassNode extends ParseNodeBase<ParseNodeType.Class> {
252
258
  };
253
259
  }
254
260
  export declare namespace ClassNode {
255
- function create(classToken: Token, name: NameNode, suite: SuiteNode, typeParams?: TypeParameterListNode): ClassNode;
256
- function createDummyForDecorators(decorators: DecoratorNode[]): ClassNode;
261
+ function create(key: ParseTreeKey, classToken: Token, name: NameNode, suite: SuiteNode, typeParams?: TypeParameterListNode): ClassNode;
262
+ function createDummyForDecorators(key: ParseTreeKey, decorators: DecoratorNode[]): ClassNode;
257
263
  }
258
264
  export interface WithNode extends ParseNodeBase<ParseNodeType.With> {
259
265
  d: {
@@ -266,7 +272,7 @@ export interface WithNode extends ParseNodeBase<ParseNodeType.With> {
266
272
  };
267
273
  }
268
274
  export declare namespace WithNode {
269
- function create(withToken: Token, suite: SuiteNode): WithNode;
275
+ function create(key: ParseTreeKey, withToken: Token, suite: SuiteNode): WithNode;
270
276
  }
271
277
  export interface WithItemNode extends ParseNodeBase<ParseNodeType.WithItem> {
272
278
  d: {
@@ -275,7 +281,7 @@ export interface WithItemNode extends ParseNodeBase<ParseNodeType.WithItem> {
275
281
  };
276
282
  }
277
283
  export declare namespace WithItemNode {
278
- function create(expr: ExpressionNode): WithItemNode;
284
+ function create(key: ParseTreeKey, expr: ExpressionNode): WithItemNode;
279
285
  }
280
286
  export interface DecoratorNode extends ParseNodeBase<ParseNodeType.Decorator> {
281
287
  d: {
@@ -283,7 +289,7 @@ export interface DecoratorNode extends ParseNodeBase<ParseNodeType.Decorator> {
283
289
  };
284
290
  }
285
291
  export declare namespace DecoratorNode {
286
- function create(atToken: Token, expr: ExpressionNode): DecoratorNode;
292
+ function create(key: ParseTreeKey, atToken: Token, expr: ExpressionNode): DecoratorNode;
287
293
  }
288
294
  export interface StatementListNode extends ParseNodeBase<ParseNodeType.StatementList> {
289
295
  d: {
@@ -292,7 +298,7 @@ export interface StatementListNode extends ParseNodeBase<ParseNodeType.Statement
292
298
  };
293
299
  }
294
300
  export declare namespace StatementListNode {
295
- function create(atToken: Token): StatementListNode;
301
+ function create(key: ParseTreeKey, atToken: Token): StatementListNode;
296
302
  }
297
303
  export type StatementNode = IfNode | WhileNode | ForNode | TryNode | FunctionNode | ClassNode | WithNode | StatementListNode | MatchNode | TypeAliasNode | ErrorNode;
298
304
  export type SmallStatementNode = ExpressionNode | DelNode | PassNode | ImportNode | GlobalNode | NonlocalNode | AssertNode;
@@ -306,7 +312,7 @@ export interface ErrorNode extends ParseNodeBase<ParseNodeType.Error> {
306
312
  };
307
313
  }
308
314
  export declare namespace ErrorNode {
309
- function create(initialRange: TextRange, category: ErrorExpressionCategory, child?: ExpressionNode, decorators?: DecoratorNode[]): ErrorNode;
315
+ function create(key: ParseTreeKey, initialRange: TextRange, category: ErrorExpressionCategory, child?: ExpressionNode, decorators?: DecoratorNode[]): ErrorNode;
310
316
  }
311
317
  export interface UnaryOperationNode extends ParseNodeBase<ParseNodeType.UnaryOperation> {
312
318
  d: {
@@ -317,7 +323,7 @@ export interface UnaryOperationNode extends ParseNodeBase<ParseNodeType.UnaryOpe
317
323
  };
318
324
  }
319
325
  export declare namespace UnaryOperationNode {
320
- function create(operatorToken: Token, expr: ExpressionNode, operator: OperatorType): UnaryOperationNode;
326
+ function create(key: ParseTreeKey, operatorToken: Token, expr: ExpressionNode, operator: OperatorType): UnaryOperationNode;
321
327
  }
322
328
  export interface BinaryOperationNode extends ParseNodeBase<ParseNodeType.BinaryOperation> {
323
329
  d: {
@@ -329,7 +335,7 @@ export interface BinaryOperationNode extends ParseNodeBase<ParseNodeType.BinaryO
329
335
  };
330
336
  }
331
337
  export declare namespace BinaryOperationNode {
332
- function create(leftExpr: ExpressionNode, rightExpr: ExpressionNode, operatorToken: Token, operator: OperatorType): BinaryOperationNode;
338
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, rightExpr: ExpressionNode, operatorToken: Token, operator: OperatorType): BinaryOperationNode;
333
339
  }
334
340
  export interface AssignmentExpressionNode extends ParseNodeBase<ParseNodeType.AssignmentExpression> {
335
341
  d: {
@@ -340,7 +346,7 @@ export interface AssignmentExpressionNode extends ParseNodeBase<ParseNodeType.As
340
346
  };
341
347
  }
342
348
  export declare namespace AssignmentExpressionNode {
343
- function create(name: NameNode, walrusToken: Token, rightExpr: ExpressionNode): AssignmentExpressionNode;
349
+ function create(key: ParseTreeKey, name: NameNode, walrusToken: Token, rightExpr: ExpressionNode): AssignmentExpressionNode;
344
350
  }
345
351
  export interface AssignmentNode extends ParseNodeBase<ParseNodeType.Assignment> {
346
352
  d: {
@@ -351,7 +357,7 @@ export interface AssignmentNode extends ParseNodeBase<ParseNodeType.Assignment>
351
357
  };
352
358
  }
353
359
  export declare namespace AssignmentNode {
354
- function create(leftExpr: ExpressionNode, rightExpr: ExpressionNode): AssignmentNode;
360
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, rightExpr: ExpressionNode): AssignmentNode;
355
361
  }
356
362
  export declare enum TypeParamKind {
357
363
  TypeVar = 0,
@@ -367,7 +373,7 @@ export interface TypeParameterNode extends ParseNodeBase<ParseNodeType.TypeParam
367
373
  };
368
374
  }
369
375
  export declare namespace TypeParameterNode {
370
- function create(name: NameNode, typeParamKind: TypeParamKind, boundExpr?: ExpressionNode, defaultExpr?: ExpressionNode): TypeParameterNode;
376
+ function create(key: ParseTreeKey, name: NameNode, typeParamKind: TypeParamKind, boundExpr?: ExpressionNode, defaultExpr?: ExpressionNode): TypeParameterNode;
371
377
  }
372
378
  export interface TypeParameterListNode extends ParseNodeBase<ParseNodeType.TypeParameterList> {
373
379
  d: {
@@ -375,7 +381,7 @@ export interface TypeParameterListNode extends ParseNodeBase<ParseNodeType.TypeP
375
381
  };
376
382
  }
377
383
  export declare namespace TypeParameterListNode {
378
- function create(startToken: Token, endToken: Token, params: TypeParameterNode[]): TypeParameterListNode;
384
+ function create(key: ParseTreeKey, startToken: Token, endToken: Token, params: TypeParameterNode[]): TypeParameterListNode;
379
385
  }
380
386
  export interface TypeAliasNode extends ParseNodeBase<ParseNodeType.TypeAlias> {
381
387
  d: {
@@ -386,7 +392,7 @@ export interface TypeAliasNode extends ParseNodeBase<ParseNodeType.TypeAlias> {
386
392
  };
387
393
  }
388
394
  export declare namespace TypeAliasNode {
389
- function create(typeToken: KeywordToken, name: NameNode, expr: ExpressionNode, typeParams?: TypeParameterListNode): TypeAliasNode;
395
+ function create(key: ParseTreeKey, typeToken: KeywordToken, name: NameNode, expr: ExpressionNode, typeParams?: TypeParameterListNode): TypeAliasNode;
390
396
  }
391
397
  export interface TypeAnnotationNode extends ParseNodeBase<ParseNodeType.TypeAnnotation> {
392
398
  d: {
@@ -395,7 +401,7 @@ export interface TypeAnnotationNode extends ParseNodeBase<ParseNodeType.TypeAnno
395
401
  };
396
402
  }
397
403
  export declare namespace TypeAnnotationNode {
398
- function create(valueExpr: ExpressionNode, annotation: ExpressionNode): TypeAnnotationNode;
404
+ function create(key: ParseTreeKey, valueExpr: ExpressionNode, annotation: ExpressionNode): TypeAnnotationNode;
399
405
  }
400
406
  export interface FunctionAnnotationNode extends ParseNodeBase<ParseNodeType.FunctionAnnotation> {
401
407
  d: {
@@ -405,7 +411,7 @@ export interface FunctionAnnotationNode extends ParseNodeBase<ParseNodeType.Func
405
411
  };
406
412
  }
407
413
  export declare namespace FunctionAnnotationNode {
408
- function create(openParenToken: Token, isEllipsis: boolean, paramAnnotations: ExpressionNode[], returnAnnotation: ExpressionNode): FunctionAnnotationNode;
414
+ function create(key: ParseTreeKey, openParenToken: Token, isEllipsis: boolean, paramAnnotations: ExpressionNode[], returnAnnotation: ExpressionNode): FunctionAnnotationNode;
409
415
  }
410
416
  export interface AugmentedAssignmentNode extends ParseNodeBase<ParseNodeType.AugmentedAssignment> {
411
417
  d: {
@@ -416,7 +422,7 @@ export interface AugmentedAssignmentNode extends ParseNodeBase<ParseNodeType.Aug
416
422
  };
417
423
  }
418
424
  export declare namespace AugmentedAssignmentNode {
419
- function create(leftExpr: ExpressionNode, rightExpr: ExpressionNode, operator: OperatorType, destExpr: ExpressionNode): AugmentedAssignmentNode;
425
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, rightExpr: ExpressionNode, operator: OperatorType, destExpr: ExpressionNode): AugmentedAssignmentNode;
420
426
  }
421
427
  export interface AwaitNode extends ParseNodeBase<ParseNodeType.Await> {
422
428
  d: {
@@ -426,7 +432,7 @@ export interface AwaitNode extends ParseNodeBase<ParseNodeType.Await> {
426
432
  };
427
433
  }
428
434
  export declare namespace AwaitNode {
429
- function create(awaitToken: Token, expr: ExpressionNode): AwaitNode;
435
+ function create(key: ParseTreeKey, awaitToken: Token, expr: ExpressionNode): AwaitNode;
430
436
  }
431
437
  export interface TernaryNode extends ParseNodeBase<ParseNodeType.Ternary> {
432
438
  d: {
@@ -436,7 +442,7 @@ export interface TernaryNode extends ParseNodeBase<ParseNodeType.Ternary> {
436
442
  };
437
443
  }
438
444
  export declare namespace TernaryNode {
439
- function create(ifExpr: ExpressionNode, testExpr: ExpressionNode, elseExpr: ExpressionNode): TernaryNode;
445
+ function create(key: ParseTreeKey, ifExpr: ExpressionNode, testExpr: ExpressionNode, elseExpr: ExpressionNode): TernaryNode;
440
446
  }
441
447
  export interface UnpackNode extends ParseNodeBase<ParseNodeType.Unpack> {
442
448
  d: {
@@ -445,7 +451,7 @@ export interface UnpackNode extends ParseNodeBase<ParseNodeType.Unpack> {
445
451
  };
446
452
  }
447
453
  export declare namespace UnpackNode {
448
- function create(starToken: Token, expr: ExpressionNode): UnpackNode;
454
+ function create(key: ParseTreeKey, starToken: Token, expr: ExpressionNode): UnpackNode;
449
455
  }
450
456
  export interface TupleNode extends ParseNodeBase<ParseNodeType.Tuple> {
451
457
  d: {
@@ -454,7 +460,7 @@ export interface TupleNode extends ParseNodeBase<ParseNodeType.Tuple> {
454
460
  };
455
461
  }
456
462
  export declare namespace TupleNode {
457
- function create(range: TextRange, hasParens: boolean): TupleNode;
463
+ function create(key: ParseTreeKey, range: TextRange, hasParens: boolean): TupleNode;
458
464
  }
459
465
  export interface CallNode extends ParseNodeBase<ParseNodeType.Call> {
460
466
  d: {
@@ -464,7 +470,7 @@ export interface CallNode extends ParseNodeBase<ParseNodeType.Call> {
464
470
  };
465
471
  }
466
472
  export declare namespace CallNode {
467
- function create(leftExpr: ExpressionNode, args: ArgumentNode[], trailingComma: boolean): CallNode;
473
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, args: ArgumentNode[], trailingComma: boolean): CallNode;
468
474
  }
469
475
  export interface ComprehensionNode extends ParseNodeBase<ParseNodeType.Comprehension> {
470
476
  d: {
@@ -475,7 +481,7 @@ export interface ComprehensionNode extends ParseNodeBase<ParseNodeType.Comprehen
475
481
  };
476
482
  }
477
483
  export declare namespace ComprehensionNode {
478
- function create(expr: ParseNode, isGenerator: boolean): ComprehensionNode;
484
+ function create(key: ParseTreeKey, expr: ParseNode, isGenerator: boolean): ComprehensionNode;
479
485
  }
480
486
  export interface IndexNode extends ParseNodeBase<ParseNodeType.Index> {
481
487
  d: {
@@ -485,7 +491,7 @@ export interface IndexNode extends ParseNodeBase<ParseNodeType.Index> {
485
491
  };
486
492
  }
487
493
  export declare namespace IndexNode {
488
- function create(leftExpr: ExpressionNode, items: ArgumentNode[], trailingComma: boolean, closeBracketToken: Token): IndexNode;
494
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, items: ArgumentNode[], trailingComma: boolean, closeBracketToken: Token): IndexNode;
489
495
  }
490
496
  export interface SliceNode extends ParseNodeBase<ParseNodeType.Slice> {
491
497
  d: {
@@ -495,7 +501,7 @@ export interface SliceNode extends ParseNodeBase<ParseNodeType.Slice> {
495
501
  };
496
502
  }
497
503
  export declare namespace SliceNode {
498
- function create(range: TextRange): SliceNode;
504
+ function create(key: ParseTreeKey, range: TextRange): SliceNode;
499
505
  }
500
506
  export interface YieldNode extends ParseNodeBase<ParseNodeType.Yield> {
501
507
  d: {
@@ -503,7 +509,7 @@ export interface YieldNode extends ParseNodeBase<ParseNodeType.Yield> {
503
509
  };
504
510
  }
505
511
  export declare namespace YieldNode {
506
- function create(yieldToken: Token, expr?: ExpressionNode): YieldNode;
512
+ function create(key: ParseTreeKey, yieldToken: Token, expr?: ExpressionNode): YieldNode;
507
513
  }
508
514
  export interface YieldFromNode extends ParseNodeBase<ParseNodeType.YieldFrom> {
509
515
  d: {
@@ -511,7 +517,7 @@ export interface YieldFromNode extends ParseNodeBase<ParseNodeType.YieldFrom> {
511
517
  };
512
518
  }
513
519
  export declare namespace YieldFromNode {
514
- function create(yieldToken: Token, expr: ExpressionNode): YieldFromNode;
520
+ function create(key: ParseTreeKey, yieldToken: Token, expr: ExpressionNode): YieldFromNode;
515
521
  }
516
522
  export interface MemberAccessNode extends ParseNodeBase<ParseNodeType.MemberAccess> {
517
523
  d: {
@@ -520,7 +526,7 @@ export interface MemberAccessNode extends ParseNodeBase<ParseNodeType.MemberAcce
520
526
  };
521
527
  }
522
528
  export declare namespace MemberAccessNode {
523
- function create(leftExpr: ExpressionNode, member: NameNode): MemberAccessNode;
529
+ function create(key: ParseTreeKey, leftExpr: ExpressionNode, member: NameNode): MemberAccessNode;
524
530
  }
525
531
  export interface LambdaNode extends ParseNodeBase<ParseNodeType.Lambda> {
526
532
  d: {
@@ -529,7 +535,7 @@ export interface LambdaNode extends ParseNodeBase<ParseNodeType.Lambda> {
529
535
  };
530
536
  }
531
537
  export declare namespace LambdaNode {
532
- function create(lambdaToken: Token, expr: ExpressionNode): LambdaNode;
538
+ function create(key: ParseTreeKey, lambdaToken: Token, expr: ExpressionNode): LambdaNode;
533
539
  }
534
540
  export interface NameNode extends ParseNodeBase<ParseNodeType.Name> {
535
541
  d: {
@@ -538,7 +544,7 @@ export interface NameNode extends ParseNodeBase<ParseNodeType.Name> {
538
544
  };
539
545
  }
540
546
  export declare namespace NameNode {
541
- function create(nameToken: IdentifierToken): NameNode;
547
+ function create(key: ParseTreeKey, nameToken: IdentifierToken): NameNode;
542
548
  }
543
549
  export interface ConstantNode extends ParseNodeBase<ParseNodeType.Constant> {
544
550
  d: {
@@ -546,12 +552,12 @@ export interface ConstantNode extends ParseNodeBase<ParseNodeType.Constant> {
546
552
  };
547
553
  }
548
554
  export declare namespace ConstantNode {
549
- function create(token: KeywordToken): ConstantNode;
555
+ function create(key: ParseTreeKey, token: KeywordToken): ConstantNode;
550
556
  }
551
557
  export interface EllipsisNode extends ParseNodeBase<ParseNodeType.Ellipsis> {
552
558
  }
553
559
  export declare namespace EllipsisNode {
554
- function create(range: TextRange): EllipsisNode;
560
+ function create(key: ParseTreeKey, range: TextRange): EllipsisNode;
555
561
  }
556
562
  export interface NumberNode extends ParseNodeBase<ParseNodeType.Number> {
557
563
  d: {
@@ -561,7 +567,7 @@ export interface NumberNode extends ParseNodeBase<ParseNodeType.Number> {
561
567
  };
562
568
  }
563
569
  export declare namespace NumberNode {
564
- function create(token: NumberToken): NumberNode;
570
+ function create(key: ParseTreeKey, token: NumberToken): NumberNode;
565
571
  }
566
572
  export interface StringNode extends ParseNodeBase<ParseNodeType.String> {
567
573
  d: {
@@ -570,7 +576,7 @@ export interface StringNode extends ParseNodeBase<ParseNodeType.String> {
570
576
  };
571
577
  }
572
578
  export declare namespace StringNode {
573
- function create(token: StringToken, value: string): StringNode;
579
+ function create(key: ParseTreeKey, token: StringToken, value: string): StringNode;
574
580
  }
575
581
  export interface FormatStringNode extends ParseNodeBase<ParseNodeType.FormatString> {
576
582
  d: {
@@ -582,17 +588,16 @@ export interface FormatStringNode extends ParseNodeBase<ParseNodeType.FormatStri
582
588
  };
583
589
  }
584
590
  export declare namespace FormatStringNode {
585
- function create(startToken: FStringStartToken, endToken: FStringEndToken | undefined, middleTokens: FStringMiddleToken[], fieldExprs: ExpressionNode[], formatExprs: ExpressionNode[]): FormatStringNode;
591
+ function create(key: ParseTreeKey, startToken: FStringStartToken, endToken: FStringEndToken | undefined, middleTokens: FStringMiddleToken[], fieldExprs: ExpressionNode[], formatExprs: ExpressionNode[]): FormatStringNode;
586
592
  }
587
593
  export interface StringListNode extends ParseNodeBase<ParseNodeType.StringList> {
588
594
  d: {
589
595
  strings: (StringNode | FormatStringNode)[];
590
- annotation: ExpressionNode | undefined;
591
596
  hasParens: boolean;
592
597
  };
593
598
  }
594
599
  export declare namespace StringListNode {
595
- function create(strings: (StringNode | FormatStringNode)[]): StringListNode;
600
+ function create(key: ParseTreeKey, strings: (StringNode | FormatStringNode)[]): StringListNode;
596
601
  }
597
602
  export interface DictionaryNode extends ParseNodeBase<ParseNodeType.Dictionary> {
598
603
  d: {
@@ -601,7 +606,7 @@ export interface DictionaryNode extends ParseNodeBase<ParseNodeType.Dictionary>
601
606
  };
602
607
  }
603
608
  export declare namespace DictionaryNode {
604
- function create(range: TextRange): DictionaryNode;
609
+ function create(key: ParseTreeKey, range: TextRange): DictionaryNode;
605
610
  }
606
611
  export interface DictionaryKeyEntryNode extends ParseNodeBase<ParseNodeType.DictionaryKeyEntry> {
607
612
  d: {
@@ -610,7 +615,7 @@ export interface DictionaryKeyEntryNode extends ParseNodeBase<ParseNodeType.Dict
610
615
  };
611
616
  }
612
617
  export declare namespace DictionaryKeyEntryNode {
613
- function create(keyExpr: ExpressionNode, valueExpr: ExpressionNode): DictionaryKeyEntryNode;
618
+ function create(key: ParseTreeKey, keyExpr: ExpressionNode, valueExpr: ExpressionNode): DictionaryKeyEntryNode;
614
619
  }
615
620
  export interface DictionaryExpandEntryNode extends ParseNodeBase<ParseNodeType.DictionaryExpandEntry> {
616
621
  d: {
@@ -618,7 +623,7 @@ export interface DictionaryExpandEntryNode extends ParseNodeBase<ParseNodeType.D
618
623
  };
619
624
  }
620
625
  export declare namespace DictionaryExpandEntryNode {
621
- function create(expr: ExpressionNode): DictionaryExpandEntryNode;
626
+ function create(key: ParseTreeKey, expr: ExpressionNode): DictionaryExpandEntryNode;
622
627
  }
623
628
  export type DictionaryEntryNode = DictionaryKeyEntryNode | DictionaryExpandEntryNode | ComprehensionNode;
624
629
  export interface SetNode extends ParseNodeBase<ParseNodeType.Set> {
@@ -627,7 +632,7 @@ export interface SetNode extends ParseNodeBase<ParseNodeType.Set> {
627
632
  };
628
633
  }
629
634
  export declare namespace SetNode {
630
- function create(range: TextRange): SetNode;
635
+ function create(key: ParseTreeKey, range: TextRange): SetNode;
631
636
  }
632
637
  export interface ListNode extends ParseNodeBase<ParseNodeType.List> {
633
638
  d: {
@@ -635,7 +640,7 @@ export interface ListNode extends ParseNodeBase<ParseNodeType.List> {
635
640
  };
636
641
  }
637
642
  export declare namespace ListNode {
638
- function create(range: TextRange): ListNode;
643
+ function create(key: ParseTreeKey, range: TextRange): ListNode;
639
644
  }
640
645
  export declare const enum ArgCategory {
641
646
  Simple = 0,
@@ -650,7 +655,7 @@ export interface ArgumentNode extends ParseNodeBase<ParseNodeType.Argument> {
650
655
  };
651
656
  }
652
657
  export declare namespace ArgumentNode {
653
- function create(startToken: Token | undefined, valueExpr: ExpressionNode, argCategory: ArgCategory): ArgumentNode;
658
+ function create(key: ParseTreeKey, startToken: Token | undefined, valueExpr: ExpressionNode, argCategory: ArgCategory): ArgumentNode;
654
659
  }
655
660
  export interface DelNode extends ParseNodeBase<ParseNodeType.Del> {
656
661
  d: {
@@ -658,12 +663,12 @@ export interface DelNode extends ParseNodeBase<ParseNodeType.Del> {
658
663
  };
659
664
  }
660
665
  export declare namespace DelNode {
661
- function create(delToken: Token): DelNode;
666
+ function create(key: ParseTreeKey, delToken: Token): DelNode;
662
667
  }
663
668
  export interface PassNode extends ParseNodeBase<ParseNodeType.Pass> {
664
669
  }
665
670
  export declare namespace PassNode {
666
- function create(passToken: TextRange): PassNode;
671
+ function create(key: ParseTreeKey, passToken: TextRange): PassNode;
667
672
  }
668
673
  export interface ImportNode extends ParseNodeBase<ParseNodeType.Import> {
669
674
  d: {
@@ -673,7 +678,7 @@ export interface ImportNode extends ParseNodeBase<ParseNodeType.Import> {
673
678
  };
674
679
  }
675
680
  export declare namespace ImportNode {
676
- function create(importToken: TextRange): ImportNode;
681
+ function create(key: ParseTreeKey, importToken: TextRange): ImportNode;
677
682
  }
678
683
  export interface ModuleNameNode extends ParseNodeBase<ParseNodeType.ModuleName> {
679
684
  d: {
@@ -683,7 +688,7 @@ export interface ModuleNameNode extends ParseNodeBase<ParseNodeType.ModuleName>
683
688
  };
684
689
  }
685
690
  export declare namespace ModuleNameNode {
686
- function create(range: TextRange): ModuleNameNode;
691
+ function create(key: ParseTreeKey, range: TextRange): ModuleNameNode;
687
692
  }
688
693
  export interface ImportAsNode extends ParseNodeBase<ParseNodeType.ImportAs> {
689
694
  d: {
@@ -692,7 +697,7 @@ export interface ImportAsNode extends ParseNodeBase<ParseNodeType.ImportAs> {
692
697
  };
693
698
  }
694
699
  export declare namespace ImportAsNode {
695
- function create(module: ModuleNameNode): ImportAsNode;
700
+ function create(key: ParseTreeKey, module: ModuleNameNode): ImportAsNode;
696
701
  }
697
702
  export interface ImportFromNode extends ParseNodeBase<ParseNodeType.ImportFrom> {
698
703
  d: {
@@ -707,7 +712,7 @@ export interface ImportFromNode extends ParseNodeBase<ParseNodeType.ImportFrom>
707
712
  };
708
713
  }
709
714
  export declare namespace ImportFromNode {
710
- function create(fromToken: Token, module: ModuleNameNode): ImportFromNode;
715
+ function create(key: ParseTreeKey, fromToken: Token, module: ModuleNameNode): ImportFromNode;
711
716
  }
712
717
  export interface ImportFromAsNode extends ParseNodeBase<ParseNodeType.ImportFromAs> {
713
718
  d: {
@@ -716,7 +721,7 @@ export interface ImportFromAsNode extends ParseNodeBase<ParseNodeType.ImportFrom
716
721
  };
717
722
  }
718
723
  export declare namespace ImportFromAsNode {
719
- function create(name: NameNode): ImportFromAsNode;
724
+ function create(key: ParseTreeKey, name: NameNode): ImportFromAsNode;
720
725
  }
721
726
  export interface GlobalNode extends ParseNodeBase<ParseNodeType.Global> {
722
727
  d: {
@@ -724,7 +729,7 @@ export interface GlobalNode extends ParseNodeBase<ParseNodeType.Global> {
724
729
  };
725
730
  }
726
731
  export declare namespace GlobalNode {
727
- function create(range: TextRange): GlobalNode;
732
+ function create(key: ParseTreeKey, range: TextRange): GlobalNode;
728
733
  }
729
734
  export interface NonlocalNode extends ParseNodeBase<ParseNodeType.Nonlocal> {
730
735
  d: {
@@ -732,7 +737,7 @@ export interface NonlocalNode extends ParseNodeBase<ParseNodeType.Nonlocal> {
732
737
  };
733
738
  }
734
739
  export declare namespace NonlocalNode {
735
- function create(range: TextRange): NonlocalNode;
740
+ function create(key: ParseTreeKey, range: TextRange): NonlocalNode;
736
741
  }
737
742
  export interface AssertNode extends ParseNodeBase<ParseNodeType.Assert> {
738
743
  d: {
@@ -741,17 +746,17 @@ export interface AssertNode extends ParseNodeBase<ParseNodeType.Assert> {
741
746
  };
742
747
  }
743
748
  export declare namespace AssertNode {
744
- function create(assertToken: Token, testExpr: ExpressionNode): AssertNode;
749
+ function create(key: ParseTreeKey, assertToken: Token, testExpr: ExpressionNode): AssertNode;
745
750
  }
746
751
  export interface BreakNode extends ParseNodeBase<ParseNodeType.Break> {
747
752
  }
748
753
  export declare namespace BreakNode {
749
- function create(range: TextRange): BreakNode;
754
+ function create(key: ParseTreeKey, range: TextRange): BreakNode;
750
755
  }
751
756
  export interface ContinueNode extends ParseNodeBase<ParseNodeType.Continue> {
752
757
  }
753
758
  export declare namespace ContinueNode {
754
- function create(range: TextRange): ContinueNode;
759
+ function create(key: ParseTreeKey, range: TextRange): ContinueNode;
755
760
  }
756
761
  export interface ReturnNode extends ParseNodeBase<ParseNodeType.Return> {
757
762
  d: {
@@ -759,7 +764,7 @@ export interface ReturnNode extends ParseNodeBase<ParseNodeType.Return> {
759
764
  };
760
765
  }
761
766
  export declare namespace ReturnNode {
762
- function create(range: TextRange): ReturnNode;
767
+ function create(key: ParseTreeKey, range: TextRange): ReturnNode;
763
768
  }
764
769
  export interface RaiseNode extends ParseNodeBase<ParseNodeType.Raise> {
765
770
  d: {
@@ -768,7 +773,7 @@ export interface RaiseNode extends ParseNodeBase<ParseNodeType.Raise> {
768
773
  };
769
774
  }
770
775
  export declare namespace RaiseNode {
771
- function create(range: TextRange): RaiseNode;
776
+ function create(key: ParseTreeKey, range: TextRange): RaiseNode;
772
777
  }
773
778
  export interface MatchNode extends ParseNodeBase<ParseNodeType.Match> {
774
779
  d: {
@@ -778,7 +783,7 @@ export interface MatchNode extends ParseNodeBase<ParseNodeType.Match> {
778
783
  };
779
784
  }
780
785
  export declare namespace MatchNode {
781
- function create(matchToken: Token, expr: ExpressionNode): MatchNode;
786
+ function create(key: ParseTreeKey, matchToken: Token, expr: ExpressionNode): MatchNode;
782
787
  }
783
788
  export interface CaseNode extends ParseNodeBase<ParseNodeType.Case> {
784
789
  d: {
@@ -789,7 +794,7 @@ export interface CaseNode extends ParseNodeBase<ParseNodeType.Case> {
789
794
  };
790
795
  }
791
796
  export declare namespace CaseNode {
792
- function create(caseToken: TextRange, pattern: PatternAtomNode, isIrrefutable: boolean, guardExpr: ExpressionNode | undefined, suite: SuiteNode): CaseNode;
797
+ function create(key: ParseTreeKey, caseToken: TextRange, pattern: PatternAtomNode, isIrrefutable: boolean, guardExpr: ExpressionNode | undefined, suite: SuiteNode): CaseNode;
793
798
  }
794
799
  export interface PatternSequenceNode extends ParseNodeBase<ParseNodeType.PatternSequence> {
795
800
  d: {
@@ -798,7 +803,7 @@ export interface PatternSequenceNode extends ParseNodeBase<ParseNodeType.Pattern
798
803
  };
799
804
  }
800
805
  export declare namespace PatternSequenceNode {
801
- function create(firstToken: TextRange, entries: PatternAsNode[]): PatternSequenceNode;
806
+ function create(key: ParseTreeKey, firstToken: TextRange, entries: PatternAsNode[]): PatternSequenceNode;
802
807
  }
803
808
  export interface PatternAsNode extends ParseNodeBase<ParseNodeType.PatternAs> {
804
809
  d: {
@@ -807,7 +812,7 @@ export interface PatternAsNode extends ParseNodeBase<ParseNodeType.PatternAs> {
807
812
  };
808
813
  }
809
814
  export declare namespace PatternAsNode {
810
- function create(orPatterns: PatternAtomNode[], target?: NameNode): PatternAsNode;
815
+ function create(key: ParseTreeKey, orPatterns: PatternAtomNode[], target?: NameNode): PatternAsNode;
811
816
  }
812
817
  export interface PatternLiteralNode extends ParseNodeBase<ParseNodeType.PatternLiteral> {
813
818
  d: {
@@ -815,7 +820,7 @@ export interface PatternLiteralNode extends ParseNodeBase<ParseNodeType.PatternL
815
820
  };
816
821
  }
817
822
  export declare namespace PatternLiteralNode {
818
- function create(expr: ExpressionNode): PatternLiteralNode;
823
+ function create(key: ParseTreeKey, expr: ExpressionNode): PatternLiteralNode;
819
824
  }
820
825
  export interface PatternClassNode extends ParseNodeBase<ParseNodeType.PatternClass> {
821
826
  d: {
@@ -824,7 +829,7 @@ export interface PatternClassNode extends ParseNodeBase<ParseNodeType.PatternCla
824
829
  };
825
830
  }
826
831
  export declare namespace PatternClassNode {
827
- function create(className: NameNode | MemberAccessNode, args: PatternClassArgumentNode[]): PatternClassNode;
832
+ function create(key: ParseTreeKey, className: NameNode | MemberAccessNode, args: PatternClassArgumentNode[]): PatternClassNode;
828
833
  }
829
834
  export interface PatternClassArgumentNode extends ParseNodeBase<ParseNodeType.PatternClassArgument> {
830
835
  d: {
@@ -833,7 +838,7 @@ export interface PatternClassArgumentNode extends ParseNodeBase<ParseNodeType.Pa
833
838
  };
834
839
  }
835
840
  export declare namespace PatternClassArgumentNode {
836
- function create(pattern: PatternAsNode, name?: NameNode): PatternClassArgumentNode;
841
+ function create(key: ParseTreeKey, pattern: PatternAsNode, name?: NameNode): PatternClassArgumentNode;
837
842
  }
838
843
  export interface PatternCaptureNode extends ParseNodeBase<ParseNodeType.PatternCapture> {
839
844
  d: {
@@ -843,7 +848,7 @@ export interface PatternCaptureNode extends ParseNodeBase<ParseNodeType.PatternC
843
848
  };
844
849
  }
845
850
  export declare namespace PatternCaptureNode {
846
- function create(target: NameNode, starToken?: TextRange): PatternCaptureNode;
851
+ function create(key: ParseTreeKey, target: NameNode, starToken?: TextRange): PatternCaptureNode;
847
852
  }
848
853
  export interface PatternMappingNode extends ParseNodeBase<ParseNodeType.PatternMapping> {
849
854
  d: {
@@ -851,7 +856,7 @@ export interface PatternMappingNode extends ParseNodeBase<ParseNodeType.PatternM
851
856
  };
852
857
  }
853
858
  export declare namespace PatternMappingNode {
854
- function create(startToken: TextRange, entries: PatternMappingEntryNode[]): PatternMappingNode;
859
+ function create(key: ParseTreeKey, startToken: TextRange, entries: PatternMappingEntryNode[]): PatternMappingNode;
855
860
  }
856
861
  export type PatternMappingEntryNode = PatternMappingKeyEntryNode | PatternMappingExpandEntryNode;
857
862
  export interface PatternMappingKeyEntryNode extends ParseNodeBase<ParseNodeType.PatternMappingKeyEntry> {
@@ -861,7 +866,7 @@ export interface PatternMappingKeyEntryNode extends ParseNodeBase<ParseNodeType.
861
866
  };
862
867
  }
863
868
  export declare namespace PatternMappingKeyEntryNode {
864
- function create(keyPattern: PatternLiteralNode | PatternValueNode | ErrorNode, valuePattern: PatternAsNode | ErrorNode): PatternMappingKeyEntryNode;
869
+ function create(key: ParseTreeKey, keyPattern: PatternLiteralNode | PatternValueNode | ErrorNode, valuePattern: PatternAsNode | ErrorNode): PatternMappingKeyEntryNode;
865
870
  }
866
871
  export interface PatternMappingExpandEntryNode extends ParseNodeBase<ParseNodeType.PatternMappingExpandEntry> {
867
872
  d: {
@@ -869,7 +874,7 @@ export interface PatternMappingExpandEntryNode extends ParseNodeBase<ParseNodeTy
869
874
  };
870
875
  }
871
876
  export declare namespace PatternMappingExpandEntryNode {
872
- function create(starStarToken: TextRange, target: NameNode): PatternMappingExpandEntryNode;
877
+ function create(key: ParseTreeKey, starStarToken: TextRange, target: NameNode): PatternMappingExpandEntryNode;
873
878
  }
874
879
  export interface PatternValueNode extends ParseNodeBase<ParseNodeType.PatternValue> {
875
880
  d: {
@@ -877,7 +882,7 @@ export interface PatternValueNode extends ParseNodeBase<ParseNodeType.PatternVal
877
882
  };
878
883
  }
879
884
  export declare namespace PatternValueNode {
880
- function create(expr: MemberAccessNode): PatternValueNode;
885
+ function create(key: ParseTreeKey, expr: MemberAccessNode): PatternValueNode;
881
886
  }
882
887
  export type PatternAtomNode = PatternSequenceNode | PatternLiteralNode | PatternClassNode | PatternAsNode | PatternCaptureNode | PatternMappingNode | PatternValueNode | ErrorNode;
883
888
  export type ParseNode = ErrorNode | ArgumentNode | AssertNode | AssignmentExpressionNode | AssignmentNode | AugmentedAssignmentNode | AwaitNode | BinaryOperationNode | BreakNode | CallNode | CaseNode | ClassNode | ComprehensionNode | ComprehensionForNode | ComprehensionIfNode | ConstantNode | ContinueNode | DecoratorNode | DelNode | DictionaryNode | DictionaryExpandEntryNode | DictionaryKeyEntryNode | EllipsisNode | IfNode | ImportNode | ImportAsNode | ImportFromNode | ImportFromAsNode | IndexNode | ExceptNode | ForNode | FormatStringNode | FunctionNode | FunctionAnnotationNode | GlobalNode | LambdaNode | ListNode | MatchNode | MemberAccessNode | ModuleNameNode | ModuleNode | NameNode | NonlocalNode | NumberNode | ParameterNode | PassNode | PatternAsNode | PatternClassNode | PatternClassArgumentNode | PatternCaptureNode | PatternLiteralNode | PatternMappingExpandEntryNode | PatternMappingKeyEntryNode | PatternMappingNode | PatternSequenceNode | PatternValueNode | RaiseNode | ReturnNode | SetNode | SliceNode | StatementListNode | StringListNode | StringNode | SuiteNode | TernaryNode | TupleNode | TryNode | TypeAliasNode | TypeAnnotationNode | TypeParameterNode | TypeParameterListNode | UnaryOperationNode | UnpackNode | WhileNode | WithNode | WithItemNode | YieldNode | YieldFromNode;