@zzzen/pyright-internal 1.2.0-dev.20231119 → 1.2.0-dev.20231126

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 (386) hide show
  1. package/dist/analyzer/analysis.d.ts +1 -1
  2. package/dist/analyzer/analysis.js +5 -1
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/analyzerFileInfo.d.ts +1 -1
  5. package/dist/analyzer/analyzerNodeInfo.d.ts +1 -1
  6. package/dist/analyzer/analyzerNodeInfo.js +1 -1
  7. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  8. package/dist/analyzer/backgroundAnalysisProgram.d.ts +1 -1
  9. package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
  10. package/dist/analyzer/backgroundAnalysisProgram.js.map +1 -1
  11. package/dist/analyzer/binder.js +198 -194
  12. package/dist/analyzer/binder.js.map +1 -1
  13. package/dist/analyzer/cacheManager.js +1 -1
  14. package/dist/analyzer/cacheManager.js.map +1 -1
  15. package/dist/analyzer/checker.js +257 -239
  16. package/dist/analyzer/checker.js.map +1 -1
  17. package/dist/analyzer/codeFlowEngine.d.ts +1 -1
  18. package/dist/analyzer/codeFlowEngine.js +26 -26
  19. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  20. package/dist/analyzer/codeFlowTypes.d.ts +1 -1
  21. package/dist/analyzer/codeFlowTypes.js +23 -23
  22. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  23. package/dist/analyzer/codeFlowUtils.js +39 -37
  24. package/dist/analyzer/codeFlowUtils.js.map +1 -1
  25. package/dist/analyzer/constraintSolver.js +40 -47
  26. package/dist/analyzer/constraintSolver.js.map +1 -1
  27. package/dist/analyzer/constructorTransform.js +8 -8
  28. package/dist/analyzer/constructorTransform.js.map +1 -1
  29. package/dist/analyzer/constructors.js +23 -25
  30. package/dist/analyzer/constructors.js.map +1 -1
  31. package/dist/analyzer/dataClasses.js +67 -63
  32. package/dist/analyzer/dataClasses.js.map +1 -1
  33. package/dist/analyzer/declaration.d.ts +2 -2
  34. package/dist/analyzer/declaration.js +10 -10
  35. package/dist/analyzer/declaration.js.map +1 -1
  36. package/dist/analyzer/declarationUtils.js +41 -41
  37. package/dist/analyzer/declarationUtils.js.map +1 -1
  38. package/dist/analyzer/decorators.js +51 -51
  39. package/dist/analyzer/decorators.js.map +1 -1
  40. package/dist/analyzer/enums.js +27 -27
  41. package/dist/analyzer/enums.js.map +1 -1
  42. package/dist/analyzer/functionTransform.js +4 -4
  43. package/dist/analyzer/functionTransform.js.map +1 -1
  44. package/dist/analyzer/importResolver.d.ts +1 -1
  45. package/dist/analyzer/importResolver.js +21 -17
  46. package/dist/analyzer/importResolver.js.map +1 -1
  47. package/dist/analyzer/importResult.js +1 -1
  48. package/dist/analyzer/importResult.js.map +1 -1
  49. package/dist/analyzer/importStatementUtils.js +31 -27
  50. package/dist/analyzer/importStatementUtils.js.map +1 -1
  51. package/dist/analyzer/namedTuples.js +36 -32
  52. package/dist/analyzer/namedTuples.js.map +1 -1
  53. package/dist/analyzer/operations.js +78 -78
  54. package/dist/analyzer/operations.js.map +1 -1
  55. package/dist/analyzer/packageTypeReport.d.ts +1 -1
  56. package/dist/analyzer/packageTypeReport.js +2 -2
  57. package/dist/analyzer/packageTypeReport.js.map +1 -1
  58. package/dist/analyzer/packageTypeVerifier.js +90 -90
  59. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  60. package/dist/analyzer/parameterUtils.js +14 -14
  61. package/dist/analyzer/parameterUtils.js.map +1 -1
  62. package/dist/analyzer/parentDirectoryCache.d.ts +2 -2
  63. package/dist/analyzer/parseTreeCleaner.js +5 -1
  64. package/dist/analyzer/parseTreeCleaner.js.map +1 -1
  65. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  66. package/dist/analyzer/parseTreeUtils.js +383 -379
  67. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  68. package/dist/analyzer/parseTreeWalker.js +161 -157
  69. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  70. package/dist/analyzer/patternMatching.d.ts +1 -1
  71. package/dist/analyzer/patternMatching.js +52 -50
  72. package/dist/analyzer/patternMatching.js.map +1 -1
  73. package/dist/analyzer/program.d.ts +1 -1
  74. package/dist/analyzer/program.js +18 -14
  75. package/dist/analyzer/program.js.map +1 -1
  76. package/dist/analyzer/properties.js +53 -44
  77. package/dist/analyzer/properties.js.map +1 -1
  78. package/dist/analyzer/protocols.js +14 -14
  79. package/dist/analyzer/protocols.js.map +1 -1
  80. package/dist/analyzer/pythonPathUtils.js +5 -1
  81. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  82. package/dist/analyzer/regions.js +3 -3
  83. package/dist/analyzer/regions.js.map +1 -1
  84. package/dist/analyzer/scope.js +8 -8
  85. package/dist/analyzer/scope.js.map +1 -1
  86. package/dist/analyzer/scopeUtils.js +1 -1
  87. package/dist/analyzer/scopeUtils.js.map +1 -1
  88. package/dist/analyzer/service.js +5 -1
  89. package/dist/analyzer/service.js.map +1 -1
  90. package/dist/analyzer/sourceFile.js +25 -21
  91. package/dist/analyzer/sourceFile.js.map +1 -1
  92. package/dist/analyzer/sourceMapper.d.ts +2 -2
  93. package/dist/analyzer/sourceMapper.js +12 -8
  94. package/dist/analyzer/sourceMapper.js.map +1 -1
  95. package/dist/analyzer/staticExpressions.js +40 -40
  96. package/dist/analyzer/staticExpressions.js.map +1 -1
  97. package/dist/analyzer/symbol.d.ts +1 -1
  98. package/dist/analyzer/symbol.js +26 -26
  99. package/dist/analyzer/symbol.js.map +1 -1
  100. package/dist/analyzer/symbolUtils.js +1 -1
  101. package/dist/analyzer/symbolUtils.js.map +1 -1
  102. package/dist/analyzer/testWalker.js +5 -5
  103. package/dist/analyzer/testWalker.js.map +1 -1
  104. package/dist/analyzer/tracePrinter.d.ts +1 -1
  105. package/dist/analyzer/tracePrinter.js +35 -31
  106. package/dist/analyzer/tracePrinter.js.map +1 -1
  107. package/dist/analyzer/typeCacheUtils.js +5 -1
  108. package/dist/analyzer/typeCacheUtils.js.map +1 -1
  109. package/dist/analyzer/typeDocStringUtils.js +13 -9
  110. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  111. package/dist/analyzer/typeEvaluator.js +1233 -1153
  112. package/dist/analyzer/typeEvaluator.js.map +1 -1
  113. package/dist/analyzer/typeEvaluatorTypes.d.ts +3 -1
  114. package/dist/analyzer/typeEvaluatorTypes.js +3 -1
  115. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  116. package/dist/analyzer/typeGuards.d.ts +1 -1
  117. package/dist/analyzer/typeGuards.js +79 -65
  118. package/dist/analyzer/typeGuards.js.map +1 -1
  119. package/dist/analyzer/typePrinter.d.ts +1 -1
  120. package/dist/analyzer/typePrinter.js +80 -76
  121. package/dist/analyzer/typePrinter.js.map +1 -1
  122. package/dist/analyzer/typeStubWriter.js +26 -22
  123. package/dist/analyzer/typeStubWriter.js.map +1 -1
  124. package/dist/analyzer/typeUtils.js +123 -123
  125. package/dist/analyzer/typeUtils.js.map +1 -1
  126. package/dist/analyzer/typeVarContext.js +9 -9
  127. package/dist/analyzer/typeVarContext.js.map +1 -1
  128. package/dist/analyzer/typeWalker.js +10 -10
  129. package/dist/analyzer/typedDicts.js +74 -70
  130. package/dist/analyzer/typedDicts.js.map +1 -1
  131. package/dist/analyzer/types.d.ts +16 -11
  132. package/dist/analyzer/types.js +179 -177
  133. package/dist/analyzer/types.js.map +1 -1
  134. package/dist/backgroundAnalysisBase.d.ts +2 -2
  135. package/dist/backgroundAnalysisBase.js +5 -1
  136. package/dist/backgroundAnalysisBase.js.map +1 -1
  137. package/dist/backgroundThreadBase.js +5 -1
  138. package/dist/backgroundThreadBase.js.map +1 -1
  139. package/dist/commands/commandController.js +7 -7
  140. package/dist/commands/commandController.js.map +1 -1
  141. package/dist/commands/commandResult.js +1 -1
  142. package/dist/commands/commandResult.js.map +1 -1
  143. package/dist/commands/commands.js +1 -1
  144. package/dist/commands/commands.js.map +1 -1
  145. package/dist/commands/dumpFileDebugInfoCommand.js +196 -196
  146. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  147. package/dist/commands/quickActionCommand.js +1 -1
  148. package/dist/commands/quickActionCommand.js.map +1 -1
  149. package/dist/common/charCodes.js +1 -1
  150. package/dist/common/charCodes.js.map +1 -1
  151. package/dist/common/chokidarFileWatcherProvider.js +5 -1
  152. package/dist/common/chokidarFileWatcherProvider.js.map +1 -1
  153. package/dist/common/collectionUtils.d.ts +3 -3
  154. package/dist/common/collectionUtils.js +3 -3
  155. package/dist/common/collectionUtils.js.map +1 -1
  156. package/dist/common/commandLineOptions.d.ts +1 -1
  157. package/dist/common/commandLineOptions.js +5 -5
  158. package/dist/common/commandLineOptions.js.map +1 -1
  159. package/dist/common/configOptions.d.ts +1 -1
  160. package/dist/common/configOptions.js +11 -7
  161. package/dist/common/configOptions.js.map +1 -1
  162. package/dist/common/console.js +7 -3
  163. package/dist/common/console.js.map +1 -1
  164. package/dist/common/core.d.ts +2 -2
  165. package/dist/common/core.js +6 -6
  166. package/dist/common/core.js.map +1 -1
  167. package/dist/common/diagnostic.js +6 -6
  168. package/dist/common/diagnostic.js.map +1 -1
  169. package/dist/common/diagnosticRules.js +1 -1
  170. package/dist/common/diagnosticRules.js.map +1 -1
  171. package/dist/common/diagnosticSink.js +12 -12
  172. package/dist/common/diagnosticSink.js.map +1 -1
  173. package/dist/common/editAction.d.ts +1 -1
  174. package/dist/common/editAction.js +2 -2
  175. package/dist/common/editAction.js.map +1 -1
  176. package/dist/common/envVarUtils.js +5 -1
  177. package/dist/common/envVarUtils.js.map +1 -1
  178. package/dist/common/extensibility.js +1 -1
  179. package/dist/common/extensibility.js.map +1 -1
  180. package/dist/common/fileBasedCancellationUtils.js +5 -1
  181. package/dist/common/fileBasedCancellationUtils.js.map +1 -1
  182. package/dist/common/fileSystem.d.ts +1 -0
  183. package/dist/common/fileSystem.js +2 -2
  184. package/dist/common/fileSystem.js.map +1 -1
  185. package/dist/common/fileWatcher.d.ts +2 -2
  186. package/dist/common/fullAccessHost.js +10 -6
  187. package/dist/common/fullAccessHost.js.map +1 -1
  188. package/dist/common/host.d.ts +1 -1
  189. package/dist/common/host.js +2 -2
  190. package/dist/common/host.js.map +1 -1
  191. package/dist/common/lspUtils.js +7 -7
  192. package/dist/common/lspUtils.js.map +1 -1
  193. package/dist/common/memUtils.d.ts +1 -1
  194. package/dist/common/pathUtils.js +12 -8
  195. package/dist/common/pathUtils.js.map +1 -1
  196. package/dist/common/pythonVersion.js +1 -1
  197. package/dist/common/pythonVersion.js.map +1 -1
  198. package/dist/common/realFileSystem.js +5 -1
  199. package/dist/common/realFileSystem.js.map +1 -1
  200. package/dist/common/serviceProvider.d.ts +1 -1
  201. package/dist/common/serviceProvider.js +5 -1
  202. package/dist/common/serviceProvider.js.map +1 -1
  203. package/dist/common/serviceProviderExtensions.js +1 -1
  204. package/dist/common/serviceProviderExtensions.js.map +1 -1
  205. package/dist/common/stringUtils.js +5 -5
  206. package/dist/common/stringUtils.js.map +1 -1
  207. package/dist/common/textEditTracker.js +11 -7
  208. package/dist/common/textEditTracker.js.map +1 -1
  209. package/dist/common/textRange.js +3 -3
  210. package/dist/common/textRange.js.map +1 -1
  211. package/dist/languageServerBase.js +13 -13
  212. package/dist/languageServerBase.js.map +1 -1
  213. package/dist/languageService/autoImporter.d.ts +3 -3
  214. package/dist/languageService/autoImporter.js +12 -8
  215. package/dist/languageService/autoImporter.js.map +1 -1
  216. package/dist/languageService/callHierarchyProvider.js +27 -23
  217. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  218. package/dist/languageService/codeActionProvider.js +8 -8
  219. package/dist/languageService/codeActionProvider.js.map +1 -1
  220. package/dist/languageService/completionProvider.js +166 -162
  221. package/dist/languageService/completionProvider.js.map +1 -1
  222. package/dist/languageService/completionProviderUtils.js +9 -9
  223. package/dist/languageService/completionProviderUtils.js.map +1 -1
  224. package/dist/languageService/definitionProvider.js +14 -10
  225. package/dist/languageService/definitionProvider.js.map +1 -1
  226. package/dist/languageService/documentHighlightProvider.js +7 -3
  227. package/dist/languageService/documentHighlightProvider.js.map +1 -1
  228. package/dist/languageService/documentSymbolCollector.d.ts +1 -1
  229. package/dist/languageService/documentSymbolCollector.js +21 -17
  230. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  231. package/dist/languageService/hoverProvider.js +30 -26
  232. package/dist/languageService/hoverProvider.js.map +1 -1
  233. package/dist/languageService/importSorter.js +1 -1
  234. package/dist/languageService/importSorter.js.map +1 -1
  235. package/dist/languageService/quickActions.js +10 -6
  236. package/dist/languageService/quickActions.js.map +1 -1
  237. package/dist/languageService/referencesProvider.d.ts +1 -1
  238. package/dist/languageService/referencesProvider.js +24 -20
  239. package/dist/languageService/referencesProvider.js.map +1 -1
  240. package/dist/languageService/signatureHelpProvider.js +8 -4
  241. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  242. package/dist/languageService/symbolIndexer.js +8 -4
  243. package/dist/languageService/symbolIndexer.js.map +1 -1
  244. package/dist/languageService/tooltipUtils.js +20 -16
  245. package/dist/languageService/tooltipUtils.js.map +1 -1
  246. package/dist/languageService/workspaceSymbolProvider.js +5 -1
  247. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  248. package/dist/localization/localize.d.ts +7 -9
  249. package/dist/localization/localize.js +5 -4
  250. package/dist/localization/localize.js.map +1 -1
  251. package/dist/localization/package.nls.cs.json +0 -3
  252. package/dist/localization/package.nls.de.json +0 -3
  253. package/dist/localization/package.nls.en-us.json +4 -3
  254. package/dist/localization/package.nls.es.json +0 -3
  255. package/dist/localization/package.nls.fr.json +0 -3
  256. package/dist/localization/package.nls.it.json +0 -3
  257. package/dist/localization/package.nls.ja.json +0 -3
  258. package/dist/localization/package.nls.ko.json +0 -3
  259. package/dist/localization/package.nls.pl.json +0 -3
  260. package/dist/localization/package.nls.pt-br.json +0 -3
  261. package/dist/localization/package.nls.qps-ploc.json +0 -3
  262. package/dist/localization/package.nls.ru.json +0 -3
  263. package/dist/localization/package.nls.tr.json +0 -3
  264. package/dist/localization/package.nls.zh-cn.json +0 -3
  265. package/dist/localization/package.nls.zh-tw.json +0 -3
  266. package/dist/parser/characterStream.js +3 -3
  267. package/dist/parser/characterStream.js.map +1 -1
  268. package/dist/parser/characters.js +13 -9
  269. package/dist/parser/characters.js.map +1 -1
  270. package/dist/parser/parseNodes.d.ts +12 -12
  271. package/dist/parser/parseNodes.js +193 -193
  272. package/dist/parser/parseNodes.js.map +1 -1
  273. package/dist/parser/parser.js +563 -559
  274. package/dist/parser/parser.js.map +1 -1
  275. package/dist/parser/stringTokenUtils.js +47 -47
  276. package/dist/parser/stringTokenUtils.js.map +1 -1
  277. package/dist/parser/tokenizer.js +288 -288
  278. package/dist/parser/tokenizer.js.map +1 -1
  279. package/dist/parser/tokenizerTypes.js +35 -35
  280. package/dist/parser/tokenizerTypes.js.map +1 -1
  281. package/dist/parser/unicode.d.ts +3 -3
  282. package/dist/pyright.js +21 -17
  283. package/dist/pyright.js.map +1 -1
  284. package/dist/pyrightFileSystem.d.ts +1 -0
  285. package/dist/pyrightFileSystem.js +1 -1
  286. package/dist/pyrightFileSystem.js.map +1 -1
  287. package/dist/readonlyAugmentedFileSystem.d.ts +1 -0
  288. package/dist/tests/chainedSourceFiles.test.js +5 -1
  289. package/dist/tests/chainedSourceFiles.test.js.map +1 -1
  290. package/dist/tests/checker.test.js +5 -1
  291. package/dist/tests/checker.test.js.map +1 -1
  292. package/dist/tests/collectionUtils.test.js +5 -1
  293. package/dist/tests/collectionUtils.test.js.map +1 -1
  294. package/dist/tests/common.test.js +5 -1
  295. package/dist/tests/common.test.js.map +1 -1
  296. package/dist/tests/debug.test.js +8 -4
  297. package/dist/tests/debug.test.js.map +1 -1
  298. package/dist/tests/deferred.test.js +5 -1
  299. package/dist/tests/deferred.test.js.map +1 -1
  300. package/dist/tests/diagnosticOverrides.test.js +5 -1
  301. package/dist/tests/diagnosticOverrides.test.js.map +1 -1
  302. package/dist/tests/docStringUtils.test.js +5 -1
  303. package/dist/tests/docStringUtils.test.js.map +1 -1
  304. package/dist/tests/filesystem.test.js +5 -1
  305. package/dist/tests/filesystem.test.js.map +1 -1
  306. package/dist/tests/fourSlashParser.test.js +5 -1
  307. package/dist/tests/fourSlashParser.test.js.map +1 -1
  308. package/dist/tests/fourSlashRunner.test.js +5 -1
  309. package/dist/tests/fourSlashRunner.test.js.map +1 -1
  310. package/dist/tests/harness/fourslash/fourSlashParser.js +13 -13
  311. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  312. package/dist/tests/harness/fourslash/fourSlashTypes.js +11 -7
  313. package/dist/tests/harness/fourslash/fourSlashTypes.js.map +1 -1
  314. package/dist/tests/harness/fourslash/runner.d.ts +1 -1
  315. package/dist/tests/harness/fourslash/runner.js +5 -1
  316. package/dist/tests/harness/fourslash/runner.js.map +1 -1
  317. package/dist/tests/harness/fourslash/testLanguageService.js +5 -1
  318. package/dist/tests/harness/fourslash/testLanguageService.js.map +1 -1
  319. package/dist/tests/harness/fourslash/testState.Consts.js +6 -2
  320. package/dist/tests/harness/fourslash/testState.Consts.js.map +1 -1
  321. package/dist/tests/harness/fourslash/testState.js +17 -13
  322. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  323. package/dist/tests/harness/fourslash/testStateUtils.js +9 -5
  324. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  325. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js +5 -1
  326. package/dist/tests/harness/fourslash/workspaceEditTestUtils.js.map +1 -1
  327. package/dist/tests/harness/testHost.js +5 -1
  328. package/dist/tests/harness/testHost.js.map +1 -1
  329. package/dist/tests/harness/utils.d.ts +13 -12
  330. package/dist/tests/harness/utils.js.map +1 -1
  331. package/dist/tests/harness/vfs/factory.js +6 -2
  332. package/dist/tests/harness/vfs/factory.js.map +1 -1
  333. package/dist/tests/harness/vfs/filesystem.d.ts +4 -3
  334. package/dist/tests/harness/vfs/filesystem.js +11 -7
  335. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  336. package/dist/tests/harness/vfs/pathValidation.js +30 -26
  337. package/dist/tests/harness/vfs/pathValidation.js.map +1 -1
  338. package/dist/tests/importStatementUtils.test.js +25 -25
  339. package/dist/tests/importStatementUtils.test.js.map +1 -1
  340. package/dist/tests/ipythonMode.test.js +6 -6
  341. package/dist/tests/ipythonMode.test.js.map +1 -1
  342. package/dist/tests/localizer.test.js +5 -1
  343. package/dist/tests/localizer.test.js.map +1 -1
  344. package/dist/tests/logger.test.js +5 -1
  345. package/dist/tests/logger.test.js.map +1 -1
  346. package/dist/tests/parseTreeUtils.test.js +10 -10
  347. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  348. package/dist/tests/parser.test.js +13 -9
  349. package/dist/tests/parser.test.js.map +1 -1
  350. package/dist/tests/pathUtils.test.js +5 -1
  351. package/dist/tests/pathUtils.test.js.map +1 -1
  352. package/dist/tests/sourceFile.test.js +5 -1
  353. package/dist/tests/sourceFile.test.js.map +1 -1
  354. package/dist/tests/sourceMapperUtils.test.js +5 -1
  355. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  356. package/dist/tests/stringUtils.test.js +10 -6
  357. package/dist/tests/stringUtils.test.js.map +1 -1
  358. package/dist/tests/symbolNameUtils.test.js +5 -1
  359. package/dist/tests/symbolNameUtils.test.js.map +1 -1
  360. package/dist/tests/testState.test.js +5 -1
  361. package/dist/tests/testState.test.js.map +1 -1
  362. package/dist/tests/testUtils.js +11 -7
  363. package/dist/tests/testUtils.js.map +1 -1
  364. package/dist/tests/textRange.test.js +5 -1
  365. package/dist/tests/textRange.test.js.map +1 -1
  366. package/dist/tests/tokenizer.test.js +463 -459
  367. package/dist/tests/tokenizer.test.js.map +1 -1
  368. package/dist/tests/typeEvaluator1.test.js +14 -2
  369. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  370. package/dist/tests/typeEvaluator2.test.js +11 -3
  371. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  372. package/dist/tests/typeEvaluator3.test.js +11 -3
  373. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  374. package/dist/tests/typeEvaluator4.test.js +10 -2
  375. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  376. package/dist/tests/typeEvaluator5.test.js +5 -1
  377. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  378. package/dist/tests/typePrinter.test.js +44 -40
  379. package/dist/tests/typePrinter.test.js.map +1 -1
  380. package/dist/tests/workspaceEditUtils.test.js +5 -1
  381. package/dist/tests/workspaceEditUtils.test.js.map +1 -1
  382. package/dist/tests/zipfs.test.js +5 -1
  383. package/dist/tests/zipfs.test.js.map +1 -1
  384. package/dist/workspaceFactory.js +2 -2
  385. package/dist/workspaceFactory.js.map +1 -1
  386. package/package.json +2 -2
@@ -9,7 +9,11 @@
9
9
  */
10
10
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
11
11
  if (k2 === undefined) k2 = k;
12
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
12
+ var desc = Object.getOwnPropertyDescriptor(m, k);
13
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
14
+ desc = { enumerable: true, get: function() { return m[k]; } };
15
+ }
16
+ Object.defineProperty(o, k2, desc);
13
17
  }) : (function(o, m, k, k2) {
14
18
  if (k2 === undefined) k2 = k;
15
19
  o[k2] = m[k];
@@ -46,7 +50,7 @@ var PrintExpressionFlags;
46
50
  // By default, strings are truncated. If this flag
47
51
  // is specified, the full original string is used.
48
52
  PrintExpressionFlags[PrintExpressionFlags["DoNotLimitStringLength"] = 2] = "DoNotLimitStringLength";
49
- })(PrintExpressionFlags = exports.PrintExpressionFlags || (exports.PrintExpressionFlags = {}));
53
+ })(PrintExpressionFlags || (exports.PrintExpressionFlags = PrintExpressionFlags = {}));
50
54
  // Returns the depth of the node as measured from the root
51
55
  // of the parse tree.
52
56
  function getNodeDepth(node) {
@@ -94,7 +98,7 @@ function findNodeByOffset(node, offset) {
94
98
  if (containingChild) {
95
99
  // For augmented assignments, prefer the dest expression, which is a clone
96
100
  // of the left expression but is used to hold the type of the operation result.
97
- if (node.nodeType === 5 /* AugmentedAssignment */ && containingChild === node.leftExpression) {
101
+ if (node.nodeType === 5 /* ParseNodeType.AugmentedAssignment */ && containingChild === node.leftExpression) {
98
102
  return node.destExpression;
99
103
  }
100
104
  return containingChild;
@@ -108,7 +112,7 @@ function isCompliantWithNodeRangeRules(node) {
108
112
  // 1. Children are all contained within the parent.
109
113
  // 2. Children have non-overlapping ranges.
110
114
  // 3. Children are listed in increasing order.
111
- return node.nodeType !== 3 /* Assignment */ && node.nodeType !== 48 /* StringList */;
115
+ return node.nodeType !== 3 /* ParseNodeType.Assignment */ && node.nodeType !== 48 /* ParseNodeType.StringList */;
112
116
  }
113
117
  exports.isCompliantWithNodeRangeRules = isCompliantWithNodeRangeRules;
114
118
  function getClassFullName(classNode, moduleName, className) {
@@ -135,10 +139,10 @@ function getTypeSourceId(node) {
135
139
  exports.getTypeSourceId = getTypeSourceId;
136
140
  function printArgument(node, flags) {
137
141
  let argStr = '';
138
- if (node.argumentCategory === 1 /* UnpackedList */) {
142
+ if (node.argumentCategory === 1 /* ArgumentCategory.UnpackedList */) {
139
143
  argStr = '*';
140
144
  }
141
- else if (node.argumentCategory === 2 /* UnpackedDictionary */) {
145
+ else if (node.argumentCategory === 2 /* ArgumentCategory.UnpackedDictionary */) {
142
146
  argStr = '**';
143
147
  }
144
148
  if (node.name) {
@@ -148,37 +152,37 @@ function printArgument(node, flags) {
148
152
  return argStr;
149
153
  }
150
154
  exports.printArgument = printArgument;
151
- function printExpression(node, flags = 0 /* None */) {
155
+ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
152
156
  switch (node.nodeType) {
153
- case 38 /* Name */: {
157
+ case 38 /* ParseNodeType.Name */: {
154
158
  return node.value;
155
159
  }
156
- case 35 /* MemberAccess */: {
160
+ case 35 /* ParseNodeType.MemberAccess */: {
157
161
  return printExpression(node.leftExpression, flags) + '.' + node.memberName.value;
158
162
  }
159
- case 9 /* Call */: {
163
+ case 9 /* ParseNodeType.Call */: {
160
164
  let lhs = printExpression(node.leftExpression, flags);
161
165
  // Some left-hand expressions must be parenthesized.
162
- if (node.leftExpression.nodeType !== 35 /* MemberAccess */ &&
163
- node.leftExpression.nodeType !== 38 /* Name */ &&
164
- node.leftExpression.nodeType !== 24 /* Index */ &&
165
- node.leftExpression.nodeType !== 9 /* Call */) {
166
+ if (node.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */ &&
167
+ node.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
168
+ node.leftExpression.nodeType !== 24 /* ParseNodeType.Index */ &&
169
+ node.leftExpression.nodeType !== 9 /* ParseNodeType.Call */) {
166
170
  lhs = `(${lhs})`;
167
171
  }
168
172
  return lhs + '(' + node.arguments.map((arg) => printArgument(arg, flags)).join(', ') + ')';
169
173
  }
170
- case 24 /* Index */: {
174
+ case 24 /* ParseNodeType.Index */: {
171
175
  return (printExpression(node.baseExpression, flags) +
172
176
  '[' +
173
177
  node.items.map((item) => printArgument(item, flags)).join(', ') +
174
178
  (node.trailingComma ? ',' : '') +
175
179
  ']');
176
180
  }
177
- case 55 /* UnaryOperation */: {
181
+ case 55 /* ParseNodeType.UnaryOperation */: {
178
182
  const exprStr = printOperator(node.operator) + printExpression(node.expression, flags);
179
183
  return node.parenthesized ? `(${exprStr})` : exprStr;
180
184
  }
181
- case 7 /* BinaryOperation */: {
185
+ case 7 /* ParseNodeType.BinaryOperation */: {
182
186
  const exprStr = printExpression(node.leftExpression, flags) +
183
187
  ' ' +
184
188
  printOperator(node.operator) +
@@ -186,7 +190,7 @@ function printExpression(node, flags = 0 /* None */) {
186
190
  printExpression(node.rightExpression, flags);
187
191
  return node.parenthesized ? `(${exprStr})` : exprStr;
188
192
  }
189
- case 40 /* Number */: {
193
+ case 40 /* ParseNodeType.Number */: {
190
194
  let value = node.value.toString();
191
195
  // If it's stored as a bigint, strip off the "n".
192
196
  if (value.endsWith('n')) {
@@ -197,8 +201,8 @@ function printExpression(node, flags = 0 /* None */) {
197
201
  }
198
202
  return value;
199
203
  }
200
- case 48 /* StringList */: {
201
- if (flags & 1 /* ForwardDeclarations */ && node.typeAnnotation) {
204
+ case 48 /* ParseNodeType.StringList */: {
205
+ if (flags & 1 /* PrintExpressionFlags.ForwardDeclarations */ && node.typeAnnotation) {
202
206
  return printExpression(node.typeAnnotation, flags);
203
207
  }
204
208
  else {
@@ -209,27 +213,27 @@ function printExpression(node, flags = 0 /* None */) {
209
213
  .join(' ');
210
214
  }
211
215
  }
212
- case 49 /* String */: {
216
+ case 49 /* ParseNodeType.String */: {
213
217
  let exprString = '';
214
- if (node.token.flags & 8 /* Raw */) {
218
+ if (node.token.flags & 8 /* StringTokenFlags.Raw */) {
215
219
  exprString += 'r';
216
220
  }
217
- if (node.token.flags & 16 /* Unicode */) {
221
+ if (node.token.flags & 16 /* StringTokenFlags.Unicode */) {
218
222
  exprString += 'u';
219
223
  }
220
- if (node.token.flags & 32 /* Bytes */) {
224
+ if (node.token.flags & 32 /* StringTokenFlags.Bytes */) {
221
225
  exprString += 'b';
222
226
  }
223
- if (node.token.flags & 64 /* Format */) {
227
+ if (node.token.flags & 64 /* StringTokenFlags.Format */) {
224
228
  exprString += 'f';
225
229
  }
226
230
  let escapedString = node.token.escapedValue;
227
- if ((flags & 2 /* DoNotLimitStringLength */) === 0) {
231
+ if ((flags & 2 /* PrintExpressionFlags.DoNotLimitStringLength */) === 0) {
228
232
  const maxStringLength = 32;
229
233
  escapedString = escapedString.substring(0, maxStringLength);
230
234
  }
231
- if (node.token.flags & 4 /* Triplicate */) {
232
- if (node.token.flags & 1 /* SingleQuote */) {
235
+ if (node.token.flags & 4 /* StringTokenFlags.Triplicate */) {
236
+ if (node.token.flags & 1 /* StringTokenFlags.SingleQuote */) {
233
237
  exprString += `'''${escapedString}'''`;
234
238
  }
235
239
  else {
@@ -237,7 +241,7 @@ function printExpression(node, flags = 0 /* None */) {
237
241
  }
238
242
  }
239
243
  else {
240
- if (node.token.flags & 1 /* SingleQuote */) {
244
+ if (node.token.flags & 1 /* StringTokenFlags.SingleQuote */) {
241
245
  exprString += `'${escapedString}'`;
242
246
  }
243
247
  else {
@@ -246,43 +250,43 @@ function printExpression(node, flags = 0 /* None */) {
246
250
  }
247
251
  return exprString;
248
252
  }
249
- case 3 /* Assignment */: {
253
+ case 3 /* ParseNodeType.Assignment */: {
250
254
  return printExpression(node.leftExpression, flags) + ' = ' + printExpression(node.rightExpression, flags);
251
255
  }
252
- case 4 /* AssignmentExpression */: {
256
+ case 4 /* ParseNodeType.AssignmentExpression */: {
253
257
  return printExpression(node.name, flags) + ' := ' + printExpression(node.rightExpression, flags);
254
258
  }
255
- case 54 /* TypeAnnotation */: {
259
+ case 54 /* ParseNodeType.TypeAnnotation */: {
256
260
  return printExpression(node.valueExpression, flags) + ': ' + printExpression(node.typeAnnotation, flags);
257
261
  }
258
- case 5 /* AugmentedAssignment */: {
262
+ case 5 /* ParseNodeType.AugmentedAssignment */: {
259
263
  return (printExpression(node.leftExpression, flags) +
260
264
  ' ' +
261
265
  printOperator(node.operator) +
262
266
  ' ' +
263
267
  printExpression(node.rightExpression, flags));
264
268
  }
265
- case 6 /* Await */: {
269
+ case 6 /* ParseNodeType.Await */: {
266
270
  const exprStr = 'await ' + printExpression(node.expression, flags);
267
271
  return node.parenthesized ? `(${exprStr})` : exprStr;
268
272
  }
269
- case 51 /* Ternary */: {
273
+ case 51 /* ParseNodeType.Ternary */: {
270
274
  return (printExpression(node.ifExpression, flags) +
271
275
  ' if ' +
272
276
  printExpression(node.testExpression, flags) +
273
277
  ' else ' +
274
278
  printExpression(node.elseExpression, flags));
275
279
  }
276
- case 31 /* List */: {
280
+ case 31 /* ParseNodeType.List */: {
277
281
  const expressions = node.entries.map((expr) => {
278
282
  return printExpression(expr, flags);
279
283
  });
280
284
  return `[${expressions.join(', ')}]`;
281
285
  }
282
- case 56 /* Unpack */: {
286
+ case 56 /* ParseNodeType.Unpack */: {
283
287
  return '*' + printExpression(node.expression, flags);
284
288
  }
285
- case 52 /* Tuple */: {
289
+ case 52 /* ParseNodeType.Tuple */: {
286
290
  const expressions = node.expressions.map((expr) => {
287
291
  return printExpression(expr, flags);
288
292
  });
@@ -291,7 +295,7 @@ function printExpression(node, flags = 0 /* None */) {
291
295
  }
292
296
  return `(${expressions.join(', ')})`;
293
297
  }
294
- case 60 /* Yield */: {
298
+ case 60 /* ParseNodeType.Yield */: {
295
299
  if (node.expression) {
296
300
  return 'yield ' + printExpression(node.expression, flags);
297
301
  }
@@ -299,18 +303,18 @@ function printExpression(node, flags = 0 /* None */) {
299
303
  return 'yield';
300
304
  }
301
305
  }
302
- case 61 /* YieldFrom */: {
306
+ case 61 /* ParseNodeType.YieldFrom */: {
303
307
  return 'yield from ' + printExpression(node.expression, flags);
304
308
  }
305
- case 18 /* Ellipsis */: {
309
+ case 18 /* ParseNodeType.Ellipsis */: {
306
310
  return '...';
307
311
  }
308
- case 32 /* ListComprehension */: {
312
+ case 32 /* ParseNodeType.ListComprehension */: {
309
313
  let listStr = '<ListExpression>';
310
314
  if ((0, parseNodes_1.isExpressionNode)(node.expression)) {
311
315
  listStr = printExpression(node.expression, flags);
312
316
  }
313
- else if (node.expression.nodeType === 17 /* DictionaryKeyEntry */) {
317
+ else if (node.expression.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
314
318
  const keyStr = printExpression(node.expression.keyExpression, flags);
315
319
  const valueStr = printExpression(node.expression.valueExpression, flags);
316
320
  listStr = `${keyStr}: ${valueStr}`;
@@ -320,7 +324,7 @@ function printExpression(node, flags = 0 /* None */) {
320
324
  ' ' +
321
325
  node.forIfNodes
322
326
  .map((expr) => {
323
- if (expr.nodeType === 33 /* ListComprehensionFor */) {
327
+ if (expr.nodeType === 33 /* ParseNodeType.ListComprehensionFor */) {
324
328
  return (`${expr.isAsync ? 'async ' : ''}for ` +
325
329
  printExpression(expr.targetExpression, flags) +
326
330
  ` in ${printExpression(expr.iterableExpression, flags)}`);
@@ -332,7 +336,7 @@ function printExpression(node, flags = 0 /* None */) {
332
336
  .join(' ');
333
337
  return node.isParenthesized ? `(${listStr}})` : listStr;
334
338
  }
335
- case 46 /* Slice */: {
339
+ case 46 /* ParseNodeType.Slice */: {
336
340
  let result = '';
337
341
  if (node.startValue || node.endValue || node.stepValue) {
338
342
  if (node.startValue) {
@@ -350,21 +354,21 @@ function printExpression(node, flags = 0 /* None */) {
350
354
  }
351
355
  return result;
352
356
  }
353
- case 30 /* Lambda */: {
357
+ case 30 /* ParseNodeType.Lambda */: {
354
358
  return ('lambda ' +
355
359
  node.parameters
356
360
  .map((param) => {
357
361
  let paramStr = '';
358
- if (param.category === 1 /* ArgsList */) {
362
+ if (param.category === 1 /* ParameterCategory.ArgsList */) {
359
363
  paramStr += '*';
360
364
  }
361
- else if (param.category === 2 /* KwargsDict */) {
365
+ else if (param.category === 2 /* ParameterCategory.KwargsDict */) {
362
366
  paramStr += '**';
363
367
  }
364
368
  if (param.name) {
365
369
  paramStr += param.name.value;
366
370
  }
367
- else if (param.category === 0 /* Simple */) {
371
+ else if (param.category === 0 /* ParameterCategory.Simple */) {
368
372
  paramStr += '/';
369
373
  }
370
374
  if (param.defaultValue) {
@@ -376,28 +380,28 @@ function printExpression(node, flags = 0 /* None */) {
376
380
  ': ' +
377
381
  printExpression(node.expression, flags));
378
382
  }
379
- case 11 /* Constant */: {
380
- if (node.constType === 33 /* True */) {
383
+ case 11 /* ParseNodeType.Constant */: {
384
+ if (node.constType === 33 /* KeywordType.True */) {
381
385
  return 'True';
382
386
  }
383
- else if (node.constType === 15 /* False */) {
387
+ else if (node.constType === 15 /* KeywordType.False */) {
384
388
  return 'False';
385
389
  }
386
- else if (node.constType === 9 /* Debug */) {
390
+ else if (node.constType === 9 /* KeywordType.Debug */) {
387
391
  return '__debug__';
388
392
  }
389
- else if (node.constType === 26 /* None */) {
393
+ else if (node.constType === 26 /* KeywordType.None */) {
390
394
  return 'None';
391
395
  }
392
396
  break;
393
397
  }
394
- case 15 /* Dictionary */: {
398
+ case 15 /* ParseNodeType.Dictionary */: {
395
399
  const dictContents = `${node.entries.map((entry) => {
396
- if (entry.nodeType === 17 /* DictionaryKeyEntry */) {
400
+ if (entry.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
397
401
  return (`${printExpression(entry.keyExpression, flags)}: ` +
398
402
  `${printExpression(entry.valueExpression, flags)}`);
399
403
  }
400
- else if (entry.nodeType === 16 /* DictionaryExpandEntry */) {
404
+ else if (entry.nodeType === 16 /* ParseNodeType.DictionaryExpandEntry */) {
401
405
  return `**${printExpression(entry.expandExpression, flags)}`;
402
406
  }
403
407
  else {
@@ -409,7 +413,7 @@ function printExpression(node, flags = 0 /* None */) {
409
413
  }
410
414
  return '{}';
411
415
  }
412
- case 45 /* Set */: {
416
+ case 45 /* ParseNodeType.Set */: {
413
417
  return node.entries.map((entry) => printExpression(entry, flags)).join(', ');
414
418
  }
415
419
  }
@@ -418,48 +422,48 @@ function printExpression(node, flags = 0 /* None */) {
418
422
  exports.printExpression = printExpression;
419
423
  function printOperator(operator) {
420
424
  const operatorMap = {
421
- [0 /* Add */]: '+',
422
- [1 /* AddEqual */]: '+=',
423
- [2 /* Assign */]: '=',
424
- [3 /* BitwiseAnd */]: '&',
425
- [4 /* BitwiseAndEqual */]: '&=',
426
- [5 /* BitwiseInvert */]: '~',
427
- [6 /* BitwiseOr */]: '|',
428
- [7 /* BitwiseOrEqual */]: '|=',
429
- [8 /* BitwiseXor */]: '^',
430
- [9 /* BitwiseXorEqual */]: '^=',
431
- [10 /* Divide */]: '/',
432
- [11 /* DivideEqual */]: '/=',
433
- [12 /* Equals */]: '==',
434
- [13 /* FloorDivide */]: '//',
435
- [14 /* FloorDivideEqual */]: '//=',
436
- [15 /* GreaterThan */]: '>',
437
- [16 /* GreaterThanOrEqual */]: '>=',
438
- [17 /* LeftShift */]: '<<',
439
- [18 /* LeftShiftEqual */]: '<<=',
440
- [19 /* LessOrGreaterThan */]: '<>',
441
- [20 /* LessThan */]: '<',
442
- [21 /* LessThanOrEqual */]: '<=',
443
- [22 /* MatrixMultiply */]: '@',
444
- [23 /* MatrixMultiplyEqual */]: '@=',
445
- [24 /* Mod */]: '%',
446
- [25 /* ModEqual */]: '%=',
447
- [26 /* Multiply */]: '*',
448
- [27 /* MultiplyEqual */]: '*=',
449
- [28 /* NotEquals */]: '!=',
450
- [29 /* Power */]: '**',
451
- [30 /* PowerEqual */]: '**=',
452
- [31 /* RightShift */]: '>>',
453
- [32 /* RightShiftEqual */]: '>>=',
454
- [33 /* Subtract */]: '-',
455
- [34 /* SubtractEqual */]: '-=',
456
- [36 /* And */]: 'and',
457
- [37 /* Or */]: 'or',
458
- [38 /* Not */]: 'not ',
459
- [39 /* Is */]: 'is',
460
- [40 /* IsNot */]: 'is not',
461
- [41 /* In */]: 'in',
462
- [42 /* NotIn */]: 'not in',
425
+ [0 /* OperatorType.Add */]: '+',
426
+ [1 /* OperatorType.AddEqual */]: '+=',
427
+ [2 /* OperatorType.Assign */]: '=',
428
+ [3 /* OperatorType.BitwiseAnd */]: '&',
429
+ [4 /* OperatorType.BitwiseAndEqual */]: '&=',
430
+ [5 /* OperatorType.BitwiseInvert */]: '~',
431
+ [6 /* OperatorType.BitwiseOr */]: '|',
432
+ [7 /* OperatorType.BitwiseOrEqual */]: '|=',
433
+ [8 /* OperatorType.BitwiseXor */]: '^',
434
+ [9 /* OperatorType.BitwiseXorEqual */]: '^=',
435
+ [10 /* OperatorType.Divide */]: '/',
436
+ [11 /* OperatorType.DivideEqual */]: '/=',
437
+ [12 /* OperatorType.Equals */]: '==',
438
+ [13 /* OperatorType.FloorDivide */]: '//',
439
+ [14 /* OperatorType.FloorDivideEqual */]: '//=',
440
+ [15 /* OperatorType.GreaterThan */]: '>',
441
+ [16 /* OperatorType.GreaterThanOrEqual */]: '>=',
442
+ [17 /* OperatorType.LeftShift */]: '<<',
443
+ [18 /* OperatorType.LeftShiftEqual */]: '<<=',
444
+ [19 /* OperatorType.LessOrGreaterThan */]: '<>',
445
+ [20 /* OperatorType.LessThan */]: '<',
446
+ [21 /* OperatorType.LessThanOrEqual */]: '<=',
447
+ [22 /* OperatorType.MatrixMultiply */]: '@',
448
+ [23 /* OperatorType.MatrixMultiplyEqual */]: '@=',
449
+ [24 /* OperatorType.Mod */]: '%',
450
+ [25 /* OperatorType.ModEqual */]: '%=',
451
+ [26 /* OperatorType.Multiply */]: '*',
452
+ [27 /* OperatorType.MultiplyEqual */]: '*=',
453
+ [28 /* OperatorType.NotEquals */]: '!=',
454
+ [29 /* OperatorType.Power */]: '**',
455
+ [30 /* OperatorType.PowerEqual */]: '**=',
456
+ [31 /* OperatorType.RightShift */]: '>>',
457
+ [32 /* OperatorType.RightShiftEqual */]: '>>=',
458
+ [33 /* OperatorType.Subtract */]: '-',
459
+ [34 /* OperatorType.SubtractEqual */]: '-=',
460
+ [36 /* OperatorType.And */]: 'and',
461
+ [37 /* OperatorType.Or */]: 'or',
462
+ [38 /* OperatorType.Not */]: 'not ',
463
+ [39 /* OperatorType.Is */]: 'is',
464
+ [40 /* OperatorType.IsNot */]: 'is not',
465
+ [41 /* OperatorType.In */]: 'in',
466
+ [42 /* OperatorType.NotIn */]: 'not in',
463
467
  };
464
468
  if (operatorMap[operator]) {
465
469
  return operatorMap[operator];
@@ -471,12 +475,12 @@ exports.printOperator = printOperator;
471
475
  // name in the LHS of a call expression, returns the call node.
472
476
  function getCallForName(node) {
473
477
  var _a, _b, _c;
474
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 9 /* Call */ && node.parent.leftExpression === node) {
478
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 9 /* ParseNodeType.Call */ && node.parent.leftExpression === node) {
475
479
  return node.parent;
476
480
  }
477
- if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* MemberAccess */ &&
481
+ if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
478
482
  node.parent.memberName === node &&
479
- ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 9 /* Call */ &&
483
+ ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 9 /* ParseNodeType.Call */ &&
480
484
  node.parent.parent.leftExpression === node.parent) {
481
485
  return node.parent.parent;
482
486
  }
@@ -485,12 +489,12 @@ function getCallForName(node) {
485
489
  exports.getCallForName = getCallForName;
486
490
  function getDecoratorForName(node) {
487
491
  var _a, _b, _c;
488
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 13 /* Decorator */ && node.parent.expression === node) {
492
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 13 /* ParseNodeType.Decorator */ && node.parent.expression === node) {
489
493
  return node.parent;
490
494
  }
491
- if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* MemberAccess */ &&
495
+ if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
492
496
  node.parent.memberName === node &&
493
- ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 13 /* Decorator */ &&
497
+ ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 13 /* ParseNodeType.Decorator */ &&
494
498
  node.parent.parent.expression === node.parent) {
495
499
  return node.parent.parent;
496
500
  }
@@ -500,7 +504,7 @@ exports.getDecoratorForName = getDecoratorForName;
500
504
  function getEnclosingSuite(node) {
501
505
  let curNode = node.parent;
502
506
  while (curNode) {
503
- if (curNode.nodeType === 50 /* Suite */) {
507
+ if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
504
508
  return curNode;
505
509
  }
506
510
  curNode = curNode.parent;
@@ -511,13 +515,13 @@ exports.getEnclosingSuite = getEnclosingSuite;
511
515
  function getEnclosingClass(node, stopAtFunction = false) {
512
516
  let curNode = node.parent;
513
517
  while (curNode) {
514
- if (curNode.nodeType === 10 /* Class */) {
518
+ if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
515
519
  return curNode;
516
520
  }
517
- if (curNode.nodeType === 36 /* Module */) {
521
+ if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
518
522
  return undefined;
519
523
  }
520
- if (curNode.nodeType === 28 /* Function */) {
524
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
521
525
  if (stopAtFunction) {
522
526
  return undefined;
523
527
  }
@@ -530,7 +534,7 @@ exports.getEnclosingClass = getEnclosingClass;
530
534
  function getEnclosingModule(node) {
531
535
  let curNode = node.parent;
532
536
  while (curNode) {
533
- if (curNode.nodeType === 36 /* Module */) {
537
+ if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
534
538
  return curNode;
535
539
  }
536
540
  curNode = curNode.parent;
@@ -542,13 +546,13 @@ exports.getEnclosingModule = getEnclosingModule;
542
546
  function getEnclosingClassOrModule(node, stopAtFunction = false) {
543
547
  let curNode = node.parent;
544
548
  while (curNode) {
545
- if (curNode.nodeType === 10 /* Class */) {
549
+ if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
546
550
  return curNode;
547
551
  }
548
- if (curNode.nodeType === 36 /* Module */) {
552
+ if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
549
553
  return curNode;
550
554
  }
551
- if (curNode.nodeType === 28 /* Function */) {
555
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
552
556
  if (stopAtFunction) {
553
557
  return undefined;
554
558
  }
@@ -562,13 +566,13 @@ function getEnclosingFunction(node) {
562
566
  let curNode = node.parent;
563
567
  let prevNode;
564
568
  while (curNode) {
565
- if (curNode.nodeType === 28 /* Function */) {
569
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
566
570
  // Don't treat a decorator as being "enclosed" in the function.
567
571
  if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
568
572
  return curNode;
569
573
  }
570
574
  }
571
- if (curNode.nodeType === 10 /* Class */) {
575
+ if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
572
576
  return undefined;
573
577
  }
574
578
  prevNode = curNode;
@@ -585,10 +589,10 @@ exports.getEnclosingFunction = getEnclosingFunction;
585
589
  function getEnclosingFunctionEvaluationScope(node) {
586
590
  let curNode = getEvaluationScopeNode(node);
587
591
  while (curNode) {
588
- if (curNode.nodeType === 28 /* Function */) {
592
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
589
593
  return curNode;
590
594
  }
591
- if (curNode.nodeType === 10 /* Class */ || !curNode.parent) {
595
+ if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
592
596
  return undefined;
593
597
  }
594
598
  curNode = getEvaluationScopeNode(curNode.parent);
@@ -599,10 +603,10 @@ exports.getEnclosingFunctionEvaluationScope = getEnclosingFunctionEvaluationScop
599
603
  function getEnclosingLambda(node) {
600
604
  let curNode = node.parent;
601
605
  while (curNode) {
602
- if (curNode.nodeType === 30 /* Lambda */) {
606
+ if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
603
607
  return curNode;
604
608
  }
605
- if (curNode.nodeType === 50 /* Suite */) {
609
+ if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
606
610
  return undefined;
607
611
  }
608
612
  curNode = curNode.parent;
@@ -613,10 +617,10 @@ exports.getEnclosingLambda = getEnclosingLambda;
613
617
  function getEnclosingClassOrFunction(node) {
614
618
  let curNode = node.parent;
615
619
  while (curNode) {
616
- if (curNode.nodeType === 28 /* Function */) {
620
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
617
621
  return curNode;
618
622
  }
619
- if (curNode.nodeType === 10 /* Class */) {
623
+ if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
620
624
  return curNode;
621
625
  }
622
626
  curNode = curNode.parent;
@@ -627,18 +631,18 @@ exports.getEnclosingClassOrFunction = getEnclosingClassOrFunction;
627
631
  function getEnclosingSuiteOrModule(node, stopAtFunction = false, stopAtLambda = true) {
628
632
  let curNode = node.parent;
629
633
  while (curNode) {
630
- if (curNode.nodeType === 50 /* Suite */) {
634
+ if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
631
635
  return curNode;
632
636
  }
633
- if (curNode.nodeType === 36 /* Module */) {
637
+ if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
634
638
  return curNode;
635
639
  }
636
- if (curNode.nodeType === 30 /* Lambda */) {
640
+ if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
637
641
  if (stopAtLambda) {
638
642
  return undefined;
639
643
  }
640
644
  }
641
- if (curNode.nodeType === 28 /* Function */) {
645
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
642
646
  if (stopAtFunction) {
643
647
  return undefined;
644
648
  }
@@ -656,13 +660,13 @@ function getEvaluationNodeForAssignmentExpression(node) {
656
660
  let curNode = getEvaluationScopeNode(node);
657
661
  while (curNode !== undefined) {
658
662
  switch (curNode.nodeType) {
659
- case 28 /* Function */:
660
- case 30 /* Lambda */:
661
- case 36 /* Module */:
663
+ case 28 /* ParseNodeType.Function */:
664
+ case 30 /* ParseNodeType.Lambda */:
665
+ case 36 /* ParseNodeType.Module */:
662
666
  return curNode;
663
- case 10 /* Class */:
667
+ case 10 /* ParseNodeType.Class */:
664
668
  return sawListComprehension ? undefined : curNode;
665
- case 32 /* ListComprehension */:
669
+ case 32 /* ParseNodeType.ListComprehension */:
666
670
  sawListComprehension = true;
667
671
  curNode = getEvaluationScopeNode(curNode.parent);
668
672
  break;
@@ -681,7 +685,7 @@ function getEvaluationScopeNode(node) {
681
685
  let curNode = node;
682
686
  let isParamNameNode = false;
683
687
  while (curNode) {
684
- if (curNode.nodeType === 41 /* Parameter */ && prevNode === curNode.name) {
688
+ if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.name) {
685
689
  // Note that we passed through a parameter name node.
686
690
  isParamNameNode = true;
687
691
  }
@@ -689,7 +693,7 @@ function getEvaluationScopeNode(node) {
689
693
  // we'll return this scope, but in a few cases we need to return
690
694
  // the enclosing scope instead.
691
695
  switch (curNode.nodeType) {
692
- case 28 /* Function */: {
696
+ case 28 /* ParseNodeType.Function */: {
693
697
  if (curNode.parameters.some((param) => param === prevNode)) {
694
698
  if (isParamNameNode) {
695
699
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
@@ -704,7 +708,7 @@ function getEvaluationScopeNode(node) {
704
708
  }
705
709
  break;
706
710
  }
707
- case 30 /* Lambda */: {
711
+ case 30 /* ParseNodeType.Lambda */: {
708
712
  if (curNode.parameters.some((param) => param === prevNode)) {
709
713
  if (isParamNameNode) {
710
714
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
@@ -719,7 +723,7 @@ function getEvaluationScopeNode(node) {
719
723
  }
720
724
  break;
721
725
  }
722
- case 10 /* Class */: {
726
+ case 10 /* ParseNodeType.Class */: {
723
727
  if (prevNode === curNode.suite) {
724
728
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
725
729
  return curNode;
@@ -727,12 +731,12 @@ function getEvaluationScopeNode(node) {
727
731
  }
728
732
  break;
729
733
  }
730
- case 32 /* ListComprehension */: {
734
+ case 32 /* ParseNodeType.ListComprehension */: {
731
735
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
732
736
  // The iterable expression of the first subnode of a list comprehension
733
737
  // is evaluated within the scope of its parent.
734
738
  const isFirstIterableExpr = prevNode === curNode.forIfNodes[0] &&
735
- curNode.forIfNodes[0].nodeType === 33 /* ListComprehensionFor */ &&
739
+ curNode.forIfNodes[0].nodeType === 33 /* ParseNodeType.ListComprehensionFor */ &&
736
740
  curNode.forIfNodes[0].iterableExpression === prevPrevNode;
737
741
  if (!isFirstIterableExpr) {
738
742
  return curNode;
@@ -740,7 +744,7 @@ function getEvaluationScopeNode(node) {
740
744
  }
741
745
  break;
742
746
  }
743
- case 36 /* Module */: {
747
+ case 36 /* ParseNodeType.Module */: {
744
748
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
745
749
  return curNode;
746
750
  }
@@ -762,19 +766,19 @@ function getTypeVarScopeNode(node) {
762
766
  let curNode = node;
763
767
  while (curNode) {
764
768
  switch (curNode.nodeType) {
765
- case 28 /* Function */: {
769
+ case 28 /* ParseNodeType.Function */: {
766
770
  if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
767
771
  return curNode;
768
772
  }
769
773
  break;
770
774
  }
771
- case 10 /* Class */: {
775
+ case 10 /* ParseNodeType.Class */: {
772
776
  if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
773
777
  return curNode;
774
778
  }
775
779
  break;
776
780
  }
777
- case 77 /* TypeAlias */: {
781
+ case 77 /* ParseNodeType.TypeAlias */: {
778
782
  return curNode;
779
783
  }
780
784
  }
@@ -791,8 +795,8 @@ function getExecutionScopeNode(node) {
791
795
  // Classes are not considered execution scope because they are executed
792
796
  // within the context of their containing module or function. Likewise, list
793
797
  // comprehensions are executed within their container.
794
- while (evaluationScope.nodeType === 10 /* Class */ ||
795
- evaluationScope.nodeType === 32 /* ListComprehension */) {
798
+ while (evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
799
+ evaluationScope.nodeType === 32 /* ParseNodeType.ListComprehension */) {
796
800
  evaluationScope = getEvaluationScopeNode(evaluationScope.parent);
797
801
  }
798
802
  return evaluationScope;
@@ -804,7 +808,7 @@ function getTypeAnnotationNode(node) {
804
808
  let prevNode = node;
805
809
  let curNode = node.parent;
806
810
  while (curNode) {
807
- if (curNode.nodeType === 54 /* TypeAnnotation */) {
811
+ if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */) {
808
812
  if (curNode.typeAnnotation === prevNode) {
809
813
  return curNode;
810
814
  }
@@ -820,8 +824,8 @@ exports.getTypeAnnotationNode = getTypeAnnotationNode;
820
824
  // left-to-right order. There is one exception, however, when an unpacked
821
825
  // iterable is used after a keyword argument.
822
826
  function getArgumentsByRuntimeOrder(node) {
823
- const positionalArgs = node.arguments.filter((arg) => !arg.name && arg.argumentCategory !== 2 /* UnpackedDictionary */);
824
- const keywordArgs = node.arguments.filter((arg) => !!arg.name || arg.argumentCategory === 2 /* UnpackedDictionary */);
827
+ const positionalArgs = node.arguments.filter((arg) => !arg.name && arg.argumentCategory !== 2 /* ArgumentCategory.UnpackedDictionary */);
828
+ const keywordArgs = node.arguments.filter((arg) => !!arg.name || arg.argumentCategory === 2 /* ArgumentCategory.UnpackedDictionary */);
825
829
  return positionalArgs.concat(keywordArgs);
826
830
  }
827
831
  exports.getArgumentsByRuntimeOrder = getArgumentsByRuntimeOrder;
@@ -830,13 +834,13 @@ exports.getArgumentsByRuntimeOrder = getArgumentsByRuntimeOrder;
830
834
  // whether Final is allowed for the specified node.
831
835
  function isFinalAllowedForAssignmentTarget(targetNode) {
832
836
  // Simple names always support Final.
833
- if (targetNode.nodeType === 38 /* Name */) {
837
+ if (targetNode.nodeType === 38 /* ParseNodeType.Name */) {
834
838
  return true;
835
839
  }
836
840
  // Member access expressions like "self.x" are permitted only
837
841
  // within __init__ methods.
838
- if (targetNode.nodeType === 35 /* MemberAccess */) {
839
- if (targetNode.leftExpression.nodeType !== 38 /* Name */) {
842
+ if (targetNode.nodeType === 35 /* ParseNodeType.MemberAccess */) {
843
+ if (targetNode.leftExpression.nodeType !== 38 /* ParseNodeType.Name */) {
840
844
  return false;
841
845
  }
842
846
  const classNode = getEnclosingClass(targetNode);
@@ -899,31 +903,31 @@ function getParentAnnotationNode(node) {
899
903
  let curNode = node;
900
904
  let prevNode;
901
905
  while (curNode) {
902
- if (curNode.nodeType === 28 /* Function */) {
906
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
903
907
  if (prevNode === curNode.returnTypeAnnotation) {
904
908
  return prevNode;
905
909
  }
906
910
  return undefined;
907
911
  }
908
- if (curNode.nodeType === 41 /* Parameter */) {
912
+ if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
909
913
  if (prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment) {
910
914
  return prevNode;
911
915
  }
912
916
  return undefined;
913
917
  }
914
- if (curNode.nodeType === 3 /* Assignment */) {
918
+ if (curNode.nodeType === 3 /* ParseNodeType.Assignment */) {
915
919
  if (prevNode === curNode.typeAnnotationComment) {
916
920
  return prevNode;
917
921
  }
918
922
  return undefined;
919
923
  }
920
- if (curNode.nodeType === 54 /* TypeAnnotation */) {
924
+ if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */) {
921
925
  if (prevNode === curNode.typeAnnotation) {
922
926
  return prevNode;
923
927
  }
924
928
  return undefined;
925
929
  }
926
- if (curNode.nodeType === 62 /* FunctionAnnotation */) {
930
+ if (curNode.nodeType === 62 /* ParseNodeType.FunctionAnnotation */) {
927
931
  if (prevNode === curNode.returnTypeAnnotation || curNode.paramTypeAnnotations.some((p) => p === prevNode)) {
928
932
  (0, debug_1.assert)(!prevNode || (0, parseNodes_1.isExpressionNode)(prevNode));
929
933
  return prevNode;
@@ -943,13 +947,13 @@ exports.isNodeContainedWithinNodeType = isNodeContainedWithinNodeType;
943
947
  function isSuiteEmpty(node) {
944
948
  let sawEllipsis = false;
945
949
  for (const statement of node.statements) {
946
- if (statement.nodeType === 47 /* StatementList */) {
950
+ if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
947
951
  for (const substatement of statement.statements) {
948
- if (substatement.nodeType === 18 /* Ellipsis */) {
952
+ if (substatement.nodeType === 18 /* ParseNodeType.Ellipsis */) {
949
953
  // Allow an ellipsis
950
954
  sawEllipsis = true;
951
955
  }
952
- else if (substatement.nodeType === 48 /* StringList */) {
956
+ else if (substatement.nodeType === 48 /* ParseNodeType.StringList */) {
953
957
  // Allow doc strings
954
958
  }
955
959
  else {
@@ -978,61 +982,61 @@ function containsAwaitNode(node) {
978
982
  }
979
983
  exports.containsAwaitNode = containsAwaitNode;
980
984
  function isMatchingExpression(reference, expression) {
981
- if (reference.nodeType === 38 /* Name */) {
982
- if (expression.nodeType === 38 /* Name */) {
985
+ if (reference.nodeType === 38 /* ParseNodeType.Name */) {
986
+ if (expression.nodeType === 38 /* ParseNodeType.Name */) {
983
987
  return reference.value === expression.value;
984
988
  }
985
- else if (expression.nodeType === 4 /* AssignmentExpression */) {
989
+ else if (expression.nodeType === 4 /* ParseNodeType.AssignmentExpression */) {
986
990
  return reference.value === expression.name.value;
987
991
  }
988
992
  return false;
989
993
  }
990
- else if (reference.nodeType === 35 /* MemberAccess */ &&
991
- expression.nodeType === 35 /* MemberAccess */) {
994
+ else if (reference.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
995
+ expression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
992
996
  return (isMatchingExpression(reference.leftExpression, expression.leftExpression) &&
993
997
  reference.memberName.value === expression.memberName.value);
994
998
  }
995
- else if (reference.nodeType === 24 /* Index */ && expression.nodeType === 24 /* Index */) {
999
+ else if (reference.nodeType === 24 /* ParseNodeType.Index */ && expression.nodeType === 24 /* ParseNodeType.Index */) {
996
1000
  if (!isMatchingExpression(reference.baseExpression, expression.baseExpression)) {
997
1001
  return false;
998
1002
  }
999
1003
  if (expression.items.length !== 1 ||
1000
1004
  expression.trailingComma ||
1001
1005
  expression.items[0].name ||
1002
- expression.items[0].argumentCategory !== 0 /* Simple */) {
1006
+ expression.items[0].argumentCategory !== 0 /* ArgumentCategory.Simple */) {
1003
1007
  return false;
1004
1008
  }
1005
1009
  const expr = reference.items[0].valueExpression;
1006
- if (expr.nodeType === 40 /* Number */) {
1010
+ if (expr.nodeType === 40 /* ParseNodeType.Number */) {
1007
1011
  const subscriptNode = expression.items[0].valueExpression;
1008
- if (subscriptNode.nodeType !== 40 /* Number */ ||
1012
+ if (subscriptNode.nodeType !== 40 /* ParseNodeType.Number */ ||
1009
1013
  subscriptNode.isImaginary ||
1010
1014
  !subscriptNode.isInteger) {
1011
1015
  return false;
1012
1016
  }
1013
1017
  return expr.value === subscriptNode.value;
1014
1018
  }
1015
- if (expr.nodeType === 55 /* UnaryOperation */ &&
1016
- expr.operator === 33 /* Subtract */ &&
1017
- expr.expression.nodeType === 40 /* Number */) {
1019
+ if (expr.nodeType === 55 /* ParseNodeType.UnaryOperation */ &&
1020
+ expr.operator === 33 /* OperatorType.Subtract */ &&
1021
+ expr.expression.nodeType === 40 /* ParseNodeType.Number */) {
1018
1022
  const subscriptNode = expression.items[0].valueExpression;
1019
- if (subscriptNode.nodeType !== 55 /* UnaryOperation */ ||
1020
- subscriptNode.operator !== 33 /* Subtract */ ||
1021
- subscriptNode.expression.nodeType !== 40 /* Number */ ||
1023
+ if (subscriptNode.nodeType !== 55 /* ParseNodeType.UnaryOperation */ ||
1024
+ subscriptNode.operator !== 33 /* OperatorType.Subtract */ ||
1025
+ subscriptNode.expression.nodeType !== 40 /* ParseNodeType.Number */ ||
1022
1026
  subscriptNode.expression.isImaginary ||
1023
1027
  !subscriptNode.expression.isInteger) {
1024
1028
  return false;
1025
1029
  }
1026
1030
  return expr.expression.value === subscriptNode.expression.value;
1027
1031
  }
1028
- if (expr.nodeType === 48 /* StringList */) {
1032
+ if (expr.nodeType === 48 /* ParseNodeType.StringList */) {
1029
1033
  const referenceStringListNode = expr;
1030
1034
  const subscriptNode = expression.items[0].valueExpression;
1031
1035
  if (referenceStringListNode.strings.length === 1 &&
1032
- referenceStringListNode.strings[0].nodeType === 49 /* String */ &&
1033
- subscriptNode.nodeType === 48 /* StringList */ &&
1036
+ referenceStringListNode.strings[0].nodeType === 49 /* ParseNodeType.String */ &&
1037
+ subscriptNode.nodeType === 48 /* ParseNodeType.StringList */ &&
1034
1038
  subscriptNode.strings.length === 1 &&
1035
- subscriptNode.strings[0].nodeType === 49 /* String */) {
1039
+ subscriptNode.strings[0].nodeType === 49 /* ParseNodeType.String */) {
1036
1040
  return referenceStringListNode.strings[0].value === subscriptNode.strings[0].value;
1037
1041
  }
1038
1042
  }
@@ -1042,11 +1046,11 @@ function isMatchingExpression(reference, expression) {
1042
1046
  }
1043
1047
  exports.isMatchingExpression = isMatchingExpression;
1044
1048
  function isPartialMatchingExpression(reference, expression) {
1045
- if (reference.nodeType === 35 /* MemberAccess */) {
1049
+ if (reference.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1046
1050
  return (isMatchingExpression(reference.leftExpression, expression) ||
1047
1051
  isPartialMatchingExpression(reference.leftExpression, expression));
1048
1052
  }
1049
- else if (reference.nodeType === 24 /* Index */) {
1053
+ else if (reference.nodeType === 24 /* ParseNodeType.Index */) {
1050
1054
  return (isMatchingExpression(reference.baseExpression, expression) ||
1051
1055
  isPartialMatchingExpression(reference.baseExpression, expression));
1052
1056
  }
@@ -1057,13 +1061,13 @@ function isWithinDefaultParamInitializer(node) {
1057
1061
  let curNode = node;
1058
1062
  let prevNode;
1059
1063
  while (curNode) {
1060
- if (curNode.nodeType === 41 /* Parameter */ && prevNode === curNode.defaultValue) {
1064
+ if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.defaultValue) {
1061
1065
  return true;
1062
1066
  }
1063
- if (curNode.nodeType === 30 /* Lambda */ ||
1064
- curNode.nodeType === 28 /* Function */ ||
1065
- curNode.nodeType === 10 /* Class */ ||
1066
- curNode.nodeType === 36 /* Module */) {
1067
+ if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1068
+ curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1069
+ curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1070
+ curNode.nodeType === 36 /* ParseNodeType.Module */) {
1067
1071
  return false;
1068
1072
  }
1069
1073
  prevNode = curNode;
@@ -1077,33 +1081,33 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
1077
1081
  let prevNode;
1078
1082
  let isQuoted = false;
1079
1083
  while (curNode) {
1080
- if (curNode.nodeType === 41 /* Parameter */ &&
1084
+ if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ &&
1081
1085
  (prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment)) {
1082
1086
  return isQuoted || !requireQuotedAnnotation;
1083
1087
  }
1084
- if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.returnTypeAnnotation) {
1088
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.returnTypeAnnotation) {
1085
1089
  return isQuoted || !requireQuotedAnnotation;
1086
1090
  }
1087
- if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.functionAnnotationComment) {
1091
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1088
1092
  // Type comments are always considered forward declarations even though
1089
1093
  // they're not "quoted".
1090
1094
  return true;
1091
1095
  }
1092
- if (curNode.nodeType === 54 /* TypeAnnotation */ && prevNode === curNode.typeAnnotation) {
1096
+ if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */ && prevNode === curNode.typeAnnotation) {
1093
1097
  return isQuoted || !requireQuotedAnnotation;
1094
1098
  }
1095
- if (curNode.nodeType === 3 /* Assignment */ && prevNode === curNode.typeAnnotationComment) {
1099
+ if (curNode.nodeType === 3 /* ParseNodeType.Assignment */ && prevNode === curNode.typeAnnotationComment) {
1096
1100
  // Type comments are always considered forward declarations even though
1097
1101
  // they're not "quoted".
1098
1102
  return true;
1099
1103
  }
1100
- if (curNode.nodeType === 48 /* StringList */ && prevNode === curNode.typeAnnotation) {
1104
+ if (curNode.nodeType === 48 /* ParseNodeType.StringList */ && prevNode === curNode.typeAnnotation) {
1101
1105
  isQuoted = true;
1102
1106
  }
1103
- if (curNode.nodeType === 30 /* Lambda */ ||
1104
- curNode.nodeType === 28 /* Function */ ||
1105
- curNode.nodeType === 10 /* Class */ ||
1106
- curNode.nodeType === 36 /* Module */) {
1107
+ if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1108
+ curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1109
+ curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1110
+ curNode.nodeType === 36 /* ParseNodeType.Module */) {
1107
1111
  return false;
1108
1112
  }
1109
1113
  prevNode = curNode;
@@ -1116,20 +1120,20 @@ function isWithinAnnotationComment(node) {
1116
1120
  let curNode = node;
1117
1121
  let prevNode;
1118
1122
  while (curNode) {
1119
- if (curNode.nodeType === 28 /* Function */ && prevNode === curNode.functionAnnotationComment) {
1123
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1120
1124
  // Type comments are always considered forward declarations even though
1121
1125
  // they're not "quoted".
1122
1126
  return true;
1123
1127
  }
1124
- if (curNode.nodeType === 3 /* Assignment */ && prevNode === curNode.typeAnnotationComment) {
1128
+ if (curNode.nodeType === 3 /* ParseNodeType.Assignment */ && prevNode === curNode.typeAnnotationComment) {
1125
1129
  // Type comments are always considered forward declarations even though
1126
1130
  // they're not "quoted".
1127
1131
  return true;
1128
1132
  }
1129
- if (curNode.nodeType === 30 /* Lambda */ ||
1130
- curNode.nodeType === 28 /* Function */ ||
1131
- curNode.nodeType === 10 /* Class */ ||
1132
- curNode.nodeType === 36 /* Module */) {
1133
+ if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1134
+ curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1135
+ curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1136
+ curNode.nodeType === 36 /* ParseNodeType.Module */) {
1133
1137
  return false;
1134
1138
  }
1135
1139
  prevNode = curNode;
@@ -1142,11 +1146,11 @@ function isWithinLoop(node) {
1142
1146
  let curNode = node;
1143
1147
  while (curNode) {
1144
1148
  switch (curNode.nodeType) {
1145
- case 26 /* For */:
1146
- case 57 /* While */: {
1149
+ case 26 /* ParseNodeType.For */:
1150
+ case 57 /* ParseNodeType.While */: {
1147
1151
  return true;
1148
1152
  }
1149
- case 36 /* Module */: {
1153
+ case 36 /* ParseNodeType.Module */: {
1150
1154
  break;
1151
1155
  }
1152
1156
  }
@@ -1160,18 +1164,18 @@ function isWithinTryBlock(node, treatWithAsTryBlock = false) {
1160
1164
  let prevNode;
1161
1165
  while (curNode) {
1162
1166
  switch (curNode.nodeType) {
1163
- case 53 /* Try */: {
1167
+ case 53 /* ParseNodeType.Try */: {
1164
1168
  return curNode.trySuite === prevNode;
1165
1169
  }
1166
- case 58 /* With */: {
1170
+ case 58 /* ParseNodeType.With */: {
1167
1171
  if (treatWithAsTryBlock && curNode.suite === prevNode) {
1168
1172
  return true;
1169
1173
  }
1170
1174
  break;
1171
1175
  }
1172
- case 28 /* Function */:
1173
- case 36 /* Module */:
1174
- case 10 /* Class */: {
1176
+ case 28 /* ParseNodeType.Function */:
1177
+ case 36 /* ParseNodeType.Module */:
1178
+ case 10 /* ParseNodeType.Class */: {
1175
1179
  return false;
1176
1180
  }
1177
1181
  }
@@ -1186,7 +1190,7 @@ function isWithinAssertExpression(node) {
1186
1190
  let prevNode;
1187
1191
  while (curNode) {
1188
1192
  switch (curNode.nodeType) {
1189
- case 2 /* Assert */: {
1193
+ case 2 /* ParseNodeType.Assert */: {
1190
1194
  return curNode.testExpression === prevNode;
1191
1195
  }
1192
1196
  }
@@ -1201,7 +1205,7 @@ function getDocString(statements) {
1201
1205
  if (statements.length === 0) {
1202
1206
  return undefined;
1203
1207
  }
1204
- if (statements[0].nodeType !== 47 /* StatementList */) {
1208
+ if (statements[0].nodeType !== 47 /* ParseNodeType.StatementList */) {
1205
1209
  return undefined;
1206
1210
  }
1207
1211
  if (!isDocString(statements[0])) {
@@ -1218,7 +1222,7 @@ exports.getDocString = getDocString;
1218
1222
  function isDocString(statementList) {
1219
1223
  // If the first statement in the suite isn't a StringNode,
1220
1224
  // assume there is no docString.
1221
- if (statementList.statements.length === 0 || statementList.statements[0].nodeType !== 48 /* StringList */) {
1225
+ if (statementList.statements.length === 0 || statementList.statements[0].nodeType !== 48 /* ParseNodeType.StringList */) {
1222
1226
  return false;
1223
1227
  }
1224
1228
  // A docstring can consist of multiple joined strings in a single expression.
@@ -1227,7 +1231,7 @@ function isDocString(statementList) {
1227
1231
  return false;
1228
1232
  }
1229
1233
  // Any f-strings invalidate the entire docstring.
1230
- if (strings.some((n) => n.nodeType === 27 /* FormatString */)) {
1234
+ if (strings.some((n) => n.nodeType === 27 /* ParseNodeType.FormatString */)) {
1231
1235
  return false;
1232
1236
  }
1233
1237
  // It's up to the user to convert normalize/convert this as needed.
@@ -1241,20 +1245,20 @@ exports.isDocString = isDocString;
1241
1245
  // not specified in the original list.
1242
1246
  function isAssignmentToDefaultsFollowingNamedTuple(callNode) {
1243
1247
  var _a, _b;
1244
- if (callNode.nodeType !== 9 /* Call */ ||
1248
+ if (callNode.nodeType !== 9 /* ParseNodeType.Call */ ||
1245
1249
  !callNode.parent ||
1246
- callNode.parent.nodeType !== 3 /* Assignment */ ||
1247
- callNode.parent.leftExpression.nodeType !== 38 /* Name */ ||
1250
+ callNode.parent.nodeType !== 3 /* ParseNodeType.Assignment */ ||
1251
+ callNode.parent.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ ||
1248
1252
  !callNode.parent.parent ||
1249
- callNode.parent.parent.nodeType !== 47 /* StatementList */) {
1253
+ callNode.parent.parent.nodeType !== 47 /* ParseNodeType.StatementList */) {
1250
1254
  return false;
1251
1255
  }
1252
1256
  const namedTupleAssignedName = callNode.parent.leftExpression.value;
1253
1257
  const statementList = callNode.parent.parent;
1254
1258
  if (statementList.statements[0] !== callNode.parent ||
1255
1259
  !statementList.parent ||
1256
- !(statementList.parent.nodeType === 36 /* Module */ ||
1257
- statementList.parent.nodeType === 50 /* Suite */)) {
1260
+ !(statementList.parent.nodeType === 36 /* ParseNodeType.Module */ ||
1261
+ statementList.parent.nodeType === 50 /* ParseNodeType.Suite */)) {
1258
1262
  return false;
1259
1263
  }
1260
1264
  const moduleOrSuite = statementList.parent;
@@ -1265,22 +1269,22 @@ function isAssignmentToDefaultsFollowingNamedTuple(callNode) {
1265
1269
  statementIndex++;
1266
1270
  while (statementIndex < moduleOrSuite.statements.length) {
1267
1271
  const nextStatement = moduleOrSuite.statements[statementIndex];
1268
- if (nextStatement.nodeType !== 47 /* StatementList */) {
1272
+ if (nextStatement.nodeType !== 47 /* ParseNodeType.StatementList */) {
1269
1273
  break;
1270
1274
  }
1271
- if (((_a = nextStatement.statements[0]) === null || _a === void 0 ? void 0 : _a.nodeType) === 48 /* StringList */) {
1275
+ if (((_a = nextStatement.statements[0]) === null || _a === void 0 ? void 0 : _a.nodeType) === 48 /* ParseNodeType.StringList */) {
1272
1276
  // Skip over comments
1273
1277
  statementIndex++;
1274
1278
  continue;
1275
1279
  }
1276
- if (((_b = nextStatement.statements[0]) === null || _b === void 0 ? void 0 : _b.nodeType) === 3 /* Assignment */) {
1280
+ if (((_b = nextStatement.statements[0]) === null || _b === void 0 ? void 0 : _b.nodeType) === 3 /* ParseNodeType.Assignment */) {
1277
1281
  const assignNode = nextStatement.statements[0];
1278
- if (assignNode.leftExpression.nodeType === 35 /* MemberAccess */ &&
1282
+ if (assignNode.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
1279
1283
  assignNode.leftExpression.memberName.value === '__defaults__') {
1280
1284
  const defaultTarget = assignNode.leftExpression.leftExpression;
1281
- if (defaultTarget.nodeType === 35 /* MemberAccess */ &&
1285
+ if (defaultTarget.nodeType === 35 /* ParseNodeType.MemberAccess */ &&
1282
1286
  defaultTarget.memberName.value === '__new__' &&
1283
- defaultTarget.leftExpression.nodeType === 38 /* Name */ &&
1287
+ defaultTarget.leftExpression.nodeType === 38 /* ParseNodeType.Name */ &&
1284
1288
  defaultTarget.leftExpression.value === namedTupleAssignedName) {
1285
1289
  return true;
1286
1290
  }
@@ -1331,10 +1335,10 @@ exports.CallNodeWalker = CallNodeWalker;
1331
1335
  function getEnclosingParameter(node) {
1332
1336
  let curNode = node;
1333
1337
  while (curNode) {
1334
- if (curNode.nodeType === 41 /* Parameter */) {
1338
+ if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
1335
1339
  return curNode;
1336
1340
  }
1337
- if (curNode.nodeType === 28 /* Function */) {
1341
+ if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
1338
1342
  return undefined;
1339
1343
  }
1340
1344
  curNode = curNode.parent;
@@ -1348,7 +1352,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1348
1352
  let callNode;
1349
1353
  while (curNode !== undefined) {
1350
1354
  // make sure we only look at callNodes when we are inside their arguments
1351
- if (curNode.nodeType === 9 /* Call */) {
1355
+ if (curNode.nodeType === 9 /* ParseNodeType.Call */) {
1352
1356
  if (isOffsetInsideCallArgs(tokens, curNode, insertionOffset)) {
1353
1357
  callNode = curNode;
1354
1358
  break;
@@ -1364,7 +1368,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1364
1368
  return undefined;
1365
1369
  }
1366
1370
  const tokenAtEnd = getTokenAt(tokens, endPosition - 1);
1367
- if (insertionOffset === endPosition && (tokenAtEnd === null || tokenAtEnd === void 0 ? void 0 : tokenAtEnd.type) === 14 /* CloseParenthesis */) {
1371
+ if (insertionOffset === endPosition && (tokenAtEnd === null || tokenAtEnd === void 0 ? void 0 : tokenAtEnd.type) === 14 /* TokenType.CloseParenthesis */) {
1368
1372
  return undefined;
1369
1373
  }
1370
1374
  let addedActive = false;
@@ -1388,8 +1392,8 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1388
1392
  for (let i = endTokenIndex; i < tokens.count; i++) {
1389
1393
  const tok = tokens.getItemAt(i);
1390
1394
  switch (tok.type) {
1391
- case 12 /* Comma */:
1392
- case 14 /* CloseParenthesis */:
1395
+ case 12 /* TokenType.Comma */:
1396
+ case 14 /* TokenType.CloseParenthesis */:
1393
1397
  break;
1394
1398
  default:
1395
1399
  continue;
@@ -1431,7 +1435,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1431
1435
  return true;
1432
1436
  }
1433
1437
  const nextToken = tokens.getItemAt(index + 1);
1434
- if (nextToken.type === 13 /* OpenParenthesis */ && offset < textRange_1.TextRange.getEnd(nextToken)) {
1438
+ if (nextToken.type === 13 /* TokenType.OpenParenthesis */ && offset < textRange_1.TextRange.getEnd(nextToken)) {
1435
1439
  // Position must be after '('.
1436
1440
  return false;
1437
1441
  }
@@ -1468,7 +1472,7 @@ function getTokenAtLeft(tokens, position, includeWhitespace = false, includeZero
1468
1472
  }
1469
1473
  exports.getTokenAtLeft = getTokenAtLeft;
1470
1474
  function isWhitespace(token) {
1471
- return token.type === 2 /* NewLine */ || token.type === 3 /* Indent */ || token.type === 4 /* Dedent */;
1475
+ return token.type === 2 /* TokenType.NewLine */ || token.type === 3 /* TokenType.Indent */ || token.type === 4 /* TokenType.Dedent */;
1472
1476
  }
1473
1477
  exports.isWhitespace = isWhitespace;
1474
1478
  function getTokenAtIndex(tokens, index) {
@@ -1508,161 +1512,161 @@ function findTokenAfter(parseResults, offset, predicate) {
1508
1512
  exports.findTokenAfter = findTokenAfter;
1509
1513
  function printParseNodeType(type) {
1510
1514
  switch (type) {
1511
- case 0 /* Error */:
1515
+ case 0 /* ParseNodeType.Error */:
1512
1516
  return 'Error';
1513
- case 1 /* Argument */:
1517
+ case 1 /* ParseNodeType.Argument */:
1514
1518
  return 'Argument';
1515
- case 2 /* Assert */:
1519
+ case 2 /* ParseNodeType.Assert */:
1516
1520
  return 'Assert';
1517
- case 3 /* Assignment */:
1521
+ case 3 /* ParseNodeType.Assignment */:
1518
1522
  return 'Assignment';
1519
- case 4 /* AssignmentExpression */:
1523
+ case 4 /* ParseNodeType.AssignmentExpression */:
1520
1524
  return 'AssignmentExpression';
1521
- case 5 /* AugmentedAssignment */:
1525
+ case 5 /* ParseNodeType.AugmentedAssignment */:
1522
1526
  return 'AugmentedAssignment';
1523
- case 6 /* Await */:
1527
+ case 6 /* ParseNodeType.Await */:
1524
1528
  return 'Await';
1525
- case 7 /* BinaryOperation */:
1529
+ case 7 /* ParseNodeType.BinaryOperation */:
1526
1530
  return 'BinaryOperation';
1527
- case 8 /* Break */:
1531
+ case 8 /* ParseNodeType.Break */:
1528
1532
  return 'Break';
1529
- case 9 /* Call */:
1533
+ case 9 /* ParseNodeType.Call */:
1530
1534
  return 'Call';
1531
- case 10 /* Class */:
1535
+ case 10 /* ParseNodeType.Class */:
1532
1536
  return 'Class';
1533
- case 11 /* Constant */:
1537
+ case 11 /* ParseNodeType.Constant */:
1534
1538
  return 'Constant';
1535
- case 12 /* Continue */:
1539
+ case 12 /* ParseNodeType.Continue */:
1536
1540
  return 'Continue';
1537
- case 13 /* Decorator */:
1541
+ case 13 /* ParseNodeType.Decorator */:
1538
1542
  return 'Decorator';
1539
- case 14 /* Del */:
1543
+ case 14 /* ParseNodeType.Del */:
1540
1544
  return 'Del';
1541
- case 15 /* Dictionary */:
1545
+ case 15 /* ParseNodeType.Dictionary */:
1542
1546
  return 'Dictionary';
1543
- case 16 /* DictionaryExpandEntry */:
1547
+ case 16 /* ParseNodeType.DictionaryExpandEntry */:
1544
1548
  return 'DictionaryExpandEntry';
1545
- case 17 /* DictionaryKeyEntry */:
1549
+ case 17 /* ParseNodeType.DictionaryKeyEntry */:
1546
1550
  return 'DictionaryKeyEntry';
1547
- case 18 /* Ellipsis */:
1551
+ case 18 /* ParseNodeType.Ellipsis */:
1548
1552
  return 'Ellipsis';
1549
- case 19 /* If */:
1553
+ case 19 /* ParseNodeType.If */:
1550
1554
  return 'If';
1551
- case 20 /* Import */:
1555
+ case 20 /* ParseNodeType.Import */:
1552
1556
  return 'Import';
1553
- case 21 /* ImportAs */:
1557
+ case 21 /* ParseNodeType.ImportAs */:
1554
1558
  return 'ImportAs';
1555
- case 22 /* ImportFrom */:
1559
+ case 22 /* ParseNodeType.ImportFrom */:
1556
1560
  return 'ImportFrom';
1557
- case 23 /* ImportFromAs */:
1561
+ case 23 /* ParseNodeType.ImportFromAs */:
1558
1562
  return 'ImportFromAs';
1559
- case 24 /* Index */:
1563
+ case 24 /* ParseNodeType.Index */:
1560
1564
  return 'Index';
1561
- case 25 /* Except */:
1565
+ case 25 /* ParseNodeType.Except */:
1562
1566
  return 'Except';
1563
- case 26 /* For */:
1567
+ case 26 /* ParseNodeType.For */:
1564
1568
  return 'For';
1565
- case 27 /* FormatString */:
1569
+ case 27 /* ParseNodeType.FormatString */:
1566
1570
  return 'FormatString';
1567
- case 28 /* Function */:
1571
+ case 28 /* ParseNodeType.Function */:
1568
1572
  return 'Function';
1569
- case 29 /* Global */:
1573
+ case 29 /* ParseNodeType.Global */:
1570
1574
  return 'Global';
1571
- case 30 /* Lambda */:
1575
+ case 30 /* ParseNodeType.Lambda */:
1572
1576
  return 'Lambda';
1573
- case 31 /* List */:
1577
+ case 31 /* ParseNodeType.List */:
1574
1578
  return 'List';
1575
- case 32 /* ListComprehension */:
1579
+ case 32 /* ParseNodeType.ListComprehension */:
1576
1580
  return 'ListComprehension';
1577
- case 33 /* ListComprehensionFor */:
1581
+ case 33 /* ParseNodeType.ListComprehensionFor */:
1578
1582
  return 'ListComprehensionFor';
1579
- case 34 /* ListComprehensionIf */:
1583
+ case 34 /* ParseNodeType.ListComprehensionIf */:
1580
1584
  return 'ListComprehensionIf';
1581
- case 35 /* MemberAccess */:
1585
+ case 35 /* ParseNodeType.MemberAccess */:
1582
1586
  return 'MemberAccess';
1583
- case 36 /* Module */:
1587
+ case 36 /* ParseNodeType.Module */:
1584
1588
  return 'Module';
1585
- case 37 /* ModuleName */:
1589
+ case 37 /* ParseNodeType.ModuleName */:
1586
1590
  return 'ModuleName';
1587
- case 38 /* Name */:
1591
+ case 38 /* ParseNodeType.Name */:
1588
1592
  return 'Name';
1589
- case 39 /* Nonlocal */:
1593
+ case 39 /* ParseNodeType.Nonlocal */:
1590
1594
  return 'Nonlocal';
1591
- case 40 /* Number */:
1595
+ case 40 /* ParseNodeType.Number */:
1592
1596
  return 'Number';
1593
- case 41 /* Parameter */:
1597
+ case 41 /* ParseNodeType.Parameter */:
1594
1598
  return 'Parameter';
1595
- case 42 /* Pass */:
1599
+ case 42 /* ParseNodeType.Pass */:
1596
1600
  return 'Pass';
1597
- case 43 /* Raise */:
1601
+ case 43 /* ParseNodeType.Raise */:
1598
1602
  return 'Raise';
1599
- case 44 /* Return */:
1603
+ case 44 /* ParseNodeType.Return */:
1600
1604
  return 'Return';
1601
- case 45 /* Set */:
1605
+ case 45 /* ParseNodeType.Set */:
1602
1606
  return 'Set';
1603
- case 46 /* Slice */:
1607
+ case 46 /* ParseNodeType.Slice */:
1604
1608
  return 'Slice';
1605
- case 47 /* StatementList */:
1609
+ case 47 /* ParseNodeType.StatementList */:
1606
1610
  return 'StatementList';
1607
- case 48 /* StringList */:
1611
+ case 48 /* ParseNodeType.StringList */:
1608
1612
  return 'StringList';
1609
- case 49 /* String */:
1613
+ case 49 /* ParseNodeType.String */:
1610
1614
  return 'String';
1611
- case 50 /* Suite */:
1615
+ case 50 /* ParseNodeType.Suite */:
1612
1616
  return 'Suite';
1613
- case 51 /* Ternary */:
1617
+ case 51 /* ParseNodeType.Ternary */:
1614
1618
  return 'Ternary';
1615
- case 52 /* Tuple */:
1619
+ case 52 /* ParseNodeType.Tuple */:
1616
1620
  return 'Tuple';
1617
- case 53 /* Try */:
1621
+ case 53 /* ParseNodeType.Try */:
1618
1622
  return 'Try';
1619
- case 54 /* TypeAnnotation */:
1623
+ case 54 /* ParseNodeType.TypeAnnotation */:
1620
1624
  return 'TypeAnnotation';
1621
- case 55 /* UnaryOperation */:
1625
+ case 55 /* ParseNodeType.UnaryOperation */:
1622
1626
  return 'UnaryOperation';
1623
- case 56 /* Unpack */:
1627
+ case 56 /* ParseNodeType.Unpack */:
1624
1628
  return 'Unpack';
1625
- case 57 /* While */:
1629
+ case 57 /* ParseNodeType.While */:
1626
1630
  return 'While';
1627
- case 58 /* With */:
1631
+ case 58 /* ParseNodeType.With */:
1628
1632
  return 'With';
1629
- case 59 /* WithItem */:
1633
+ case 59 /* ParseNodeType.WithItem */:
1630
1634
  return 'WithItem';
1631
- case 60 /* Yield */:
1635
+ case 60 /* ParseNodeType.Yield */:
1632
1636
  return 'Yield';
1633
- case 61 /* YieldFrom */:
1637
+ case 61 /* ParseNodeType.YieldFrom */:
1634
1638
  return 'YieldFrom';
1635
- case 62 /* FunctionAnnotation */:
1639
+ case 62 /* ParseNodeType.FunctionAnnotation */:
1636
1640
  return 'FunctionAnnotation';
1637
- case 63 /* Match */:
1641
+ case 63 /* ParseNodeType.Match */:
1638
1642
  return 'Match';
1639
- case 64 /* Case */:
1643
+ case 64 /* ParseNodeType.Case */:
1640
1644
  return 'Case';
1641
- case 65 /* PatternSequence */:
1645
+ case 65 /* ParseNodeType.PatternSequence */:
1642
1646
  return 'PatternSequence';
1643
- case 66 /* PatternAs */:
1647
+ case 66 /* ParseNodeType.PatternAs */:
1644
1648
  return 'PatternAs';
1645
- case 67 /* PatternLiteral */:
1649
+ case 67 /* ParseNodeType.PatternLiteral */:
1646
1650
  return 'PatternLiteral';
1647
- case 68 /* PatternClass */:
1651
+ case 68 /* ParseNodeType.PatternClass */:
1648
1652
  return 'PatternClass';
1649
- case 69 /* PatternCapture */:
1653
+ case 69 /* ParseNodeType.PatternCapture */:
1650
1654
  return 'PatternCapture';
1651
- case 70 /* PatternMapping */:
1655
+ case 70 /* ParseNodeType.PatternMapping */:
1652
1656
  return 'PatternMapping';
1653
- case 71 /* PatternMappingKeyEntry */:
1657
+ case 71 /* ParseNodeType.PatternMappingKeyEntry */:
1654
1658
  return 'PatternMappingKeyEntry';
1655
- case 72 /* PatternMappingExpandEntry */:
1659
+ case 72 /* ParseNodeType.PatternMappingExpandEntry */:
1656
1660
  return 'PatternMappingExpandEntry';
1657
- case 73 /* PatternValue */:
1661
+ case 73 /* ParseNodeType.PatternValue */:
1658
1662
  return 'PatternValue';
1659
- case 74 /* PatternClassArgument */:
1663
+ case 74 /* ParseNodeType.PatternClassArgument */:
1660
1664
  return 'PatternClassArgument';
1661
- case 75 /* TypeParameter */:
1665
+ case 75 /* ParseNodeType.TypeParameter */:
1662
1666
  return 'TypeParameter';
1663
- case 76 /* TypeParameterList */:
1667
+ case 76 /* ParseNodeType.TypeParameterList */:
1664
1668
  return 'TypeParameterList';
1665
- case 77 /* TypeAlias */:
1669
+ case 77 /* ParseNodeType.TypeAlias */:
1666
1670
  return 'TypeAlias';
1667
1671
  }
1668
1672
  (0, debug_1.assertNever)(type);
@@ -1673,52 +1677,52 @@ function isWriteAccess(node) {
1673
1677
  let curNode = prevNode.parent;
1674
1678
  while (curNode) {
1675
1679
  switch (curNode.nodeType) {
1676
- case 3 /* Assignment */: {
1680
+ case 3 /* ParseNodeType.Assignment */: {
1677
1681
  return prevNode === curNode.leftExpression;
1678
1682
  }
1679
- case 5 /* AugmentedAssignment */: {
1683
+ case 5 /* ParseNodeType.AugmentedAssignment */: {
1680
1684
  return prevNode === curNode.leftExpression;
1681
1685
  }
1682
- case 4 /* AssignmentExpression */: {
1686
+ case 4 /* ParseNodeType.AssignmentExpression */: {
1683
1687
  return prevNode === curNode.name;
1684
1688
  }
1685
- case 14 /* Del */: {
1689
+ case 14 /* ParseNodeType.Del */: {
1686
1690
  return true;
1687
1691
  }
1688
- case 26 /* For */: {
1692
+ case 26 /* ParseNodeType.For */: {
1689
1693
  return prevNode === curNode.targetExpression;
1690
1694
  }
1691
- case 21 /* ImportAs */: {
1695
+ case 21 /* ParseNodeType.ImportAs */: {
1692
1696
  return (prevNode === curNode.alias ||
1693
1697
  (curNode.module.nameParts.length > 0 && prevNode === curNode.module.nameParts[0]));
1694
1698
  }
1695
- case 23 /* ImportFromAs */: {
1699
+ case 23 /* ParseNodeType.ImportFromAs */: {
1696
1700
  return prevNode === curNode.alias || (!curNode.alias && prevNode === curNode.name);
1697
1701
  }
1698
- case 35 /* MemberAccess */: {
1702
+ case 35 /* ParseNodeType.MemberAccess */: {
1699
1703
  if (prevNode !== curNode.memberName) {
1700
1704
  return false;
1701
1705
  }
1702
1706
  break;
1703
1707
  }
1704
- case 25 /* Except */: {
1708
+ case 25 /* ParseNodeType.Except */: {
1705
1709
  return prevNode === curNode.name;
1706
1710
  }
1707
- case 58 /* With */: {
1711
+ case 58 /* ParseNodeType.With */: {
1708
1712
  return curNode.withItems.some((item) => item === prevNode);
1709
1713
  }
1710
- case 33 /* ListComprehensionFor */: {
1714
+ case 33 /* ParseNodeType.ListComprehensionFor */: {
1711
1715
  return prevNode === curNode.targetExpression;
1712
1716
  }
1713
- case 54 /* TypeAnnotation */: {
1717
+ case 54 /* ParseNodeType.TypeAnnotation */: {
1714
1718
  if (prevNode === curNode.typeAnnotation) {
1715
1719
  return false;
1716
1720
  }
1717
1721
  break;
1718
1722
  }
1719
- case 28 /* Function */:
1720
- case 10 /* Class */:
1721
- case 36 /* Module */: {
1723
+ case 28 /* ParseNodeType.Function */:
1724
+ case 10 /* ParseNodeType.Class */:
1725
+ case 36 /* ParseNodeType.Module */: {
1722
1726
  return false;
1723
1727
  }
1724
1728
  }
@@ -1730,7 +1734,7 @@ function isWriteAccess(node) {
1730
1734
  exports.isWriteAccess = isWriteAccess;
1731
1735
  function getModuleNode(node) {
1732
1736
  let current = node;
1733
- while (current && current.nodeType !== 36 /* Module */) {
1737
+ while (current && current.nodeType !== 36 /* ParseNodeType.Module */) {
1734
1738
  current = current.parent;
1735
1739
  }
1736
1740
  return current;
@@ -1744,15 +1748,15 @@ exports.getFileInfoFromNode = getFileInfoFromNode;
1744
1748
  function isFunctionSuiteEmpty(node) {
1745
1749
  let isEmpty = true;
1746
1750
  node.suite.statements.forEach((statement) => {
1747
- if (statement.nodeType === 0 /* Error */) {
1751
+ if (statement.nodeType === 0 /* ParseNodeType.Error */) {
1748
1752
  return;
1749
1753
  }
1750
- else if (statement.nodeType === 47 /* StatementList */) {
1754
+ else if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
1751
1755
  statement.statements.forEach((subStatement) => {
1752
1756
  // Allow docstrings, ellipsis, and pass statements.
1753
- if (subStatement.nodeType !== 18 /* Ellipsis */ &&
1754
- subStatement.nodeType !== 48 /* StringList */ &&
1755
- subStatement.nodeType !== 42 /* Pass */) {
1757
+ if (subStatement.nodeType !== 18 /* ParseNodeType.Ellipsis */ &&
1758
+ subStatement.nodeType !== 48 /* ParseNodeType.StringList */ &&
1759
+ subStatement.nodeType !== 42 /* ParseNodeType.Pass */) {
1756
1760
  isEmpty = false;
1757
1761
  }
1758
1762
  });
@@ -1792,32 +1796,32 @@ function getTypeAnnotationForParameter(node, paramIndex) {
1792
1796
  exports.getTypeAnnotationForParameter = getTypeAnnotationForParameter;
1793
1797
  function isImportModuleName(node) {
1794
1798
  var _a, _b;
1795
- return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 21 /* ImportAs */;
1799
+ return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 21 /* ParseNodeType.ImportAs */;
1796
1800
  }
1797
1801
  exports.isImportModuleName = isImportModuleName;
1798
1802
  function isImportAlias(node) {
1799
1803
  var _a;
1800
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 21 /* ImportAs */ && node.parent.alias === node;
1804
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 21 /* ParseNodeType.ImportAs */ && node.parent.alias === node;
1801
1805
  }
1802
1806
  exports.isImportAlias = isImportAlias;
1803
1807
  function isFromImportModuleName(node) {
1804
1808
  var _a, _b;
1805
- return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 22 /* ImportFrom */;
1809
+ return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 22 /* ParseNodeType.ImportFrom */;
1806
1810
  }
1807
1811
  exports.isFromImportModuleName = isFromImportModuleName;
1808
1812
  function isFromImportName(node) {
1809
1813
  var _a;
1810
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ImportFromAs */ && node.parent.name === node;
1814
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.name === node;
1811
1815
  }
1812
1816
  exports.isFromImportName = isFromImportName;
1813
1817
  function isFromImportAlias(node) {
1814
1818
  var _a;
1815
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ImportFromAs */ && node.parent.alias === node;
1819
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.alias === node;
1816
1820
  }
1817
1821
  exports.isFromImportAlias = isFromImportAlias;
1818
1822
  function isLastNameOfModuleName(node) {
1819
1823
  var _a;
1820
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 37 /* ModuleName */) {
1824
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 37 /* ParseNodeType.ModuleName */) {
1821
1825
  return false;
1822
1826
  }
1823
1827
  const module = node.parent;
@@ -1855,7 +1859,7 @@ function getDottedNameWithGivenNodeAsLastName(node) {
1855
1859
  // MemberAccess (ex, a.b.c)
1856
1860
  // MemberAccess Name
1857
1861
  // Name Name
1858
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
1862
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
1859
1863
  return node;
1860
1864
  }
1861
1865
  if (node.parent.leftExpression === node) {
@@ -1875,10 +1879,10 @@ exports.getDottedNameWithGivenNodeAsLastName = getDottedNameWithGivenNodeAsLastN
1875
1879
  function getDecoratorName(decorator) {
1876
1880
  function getExpressionName(node) {
1877
1881
  var _a;
1878
- if (node.nodeType === 38 /* Name */ || node.nodeType === 35 /* MemberAccess */) {
1882
+ if (node.nodeType === 38 /* ParseNodeType.Name */ || node.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1879
1883
  return (_a = getDottedName(node)) === null || _a === void 0 ? void 0 : _a.map((n) => n.value).join('.');
1880
1884
  }
1881
- if (node.nodeType === 9 /* Call */) {
1885
+ if (node.nodeType === 9 /* ParseNodeType.Call */) {
1882
1886
  return getExpressionName(node.leftExpression);
1883
1887
  }
1884
1888
  return undefined;
@@ -1889,7 +1893,7 @@ exports.getDecoratorName = getDecoratorName;
1889
1893
  function getDottedName(node) {
1890
1894
  // ex) [a] or [a].b
1891
1895
  // simple case, [a]
1892
- if (node.nodeType === 38 /* Name */) {
1896
+ if (node.nodeType === 38 /* ParseNodeType.Name */) {
1893
1897
  return [node];
1894
1898
  }
1895
1899
  // dotted name case.
@@ -1899,13 +1903,13 @@ function getDottedName(node) {
1899
1903
  }
1900
1904
  return undefined;
1901
1905
  function _getDottedName(node, names) {
1902
- if (node.nodeType === 38 /* Name */) {
1906
+ if (node.nodeType === 38 /* ParseNodeType.Name */) {
1903
1907
  names.push(node);
1904
1908
  return true;
1905
1909
  }
1906
1910
  names.push(node.memberName);
1907
- if (node.leftExpression.nodeType === 38 /* Name */ ||
1908
- node.leftExpression.nodeType === 35 /* MemberAccess */) {
1911
+ if (node.leftExpression.nodeType === 38 /* ParseNodeType.Name */ ||
1912
+ node.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1909
1913
  return _getDottedName(node.leftExpression, names);
1910
1914
  }
1911
1915
  return false;
@@ -1914,11 +1918,11 @@ function getDottedName(node) {
1914
1918
  exports.getDottedName = getDottedName;
1915
1919
  function getFirstNameOfDottedName(node) {
1916
1920
  // ex) [a] or [a].b
1917
- if (node.nodeType === 38 /* Name */) {
1921
+ if (node.nodeType === 38 /* ParseNodeType.Name */) {
1918
1922
  return node;
1919
1923
  }
1920
- if (node.leftExpression.nodeType === 38 /* Name */ ||
1921
- node.leftExpression.nodeType === 35 /* MemberAccess */) {
1924
+ if (node.leftExpression.nodeType === 38 /* ParseNodeType.Name */ ||
1925
+ node.leftExpression.nodeType === 35 /* ParseNodeType.MemberAccess */) {
1922
1926
  return getFirstNameOfDottedName(node.leftExpression);
1923
1927
  }
1924
1928
  return undefined;
@@ -1927,7 +1931,7 @@ exports.getFirstNameOfDottedName = getFirstNameOfDottedName;
1927
1931
  function isFirstNameOfDottedName(node) {
1928
1932
  var _a;
1929
1933
  // ex) [A] or [A].B.C.D
1930
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
1934
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
1931
1935
  return true;
1932
1936
  }
1933
1937
  if (node.parent.leftExpression === node) {
@@ -1939,17 +1943,17 @@ exports.isFirstNameOfDottedName = isFirstNameOfDottedName;
1939
1943
  function isLastNameOfDottedName(node) {
1940
1944
  var _a, _b;
1941
1945
  // ex) A or D.C.B.[A]
1942
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* MemberAccess */) {
1946
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) !== 35 /* ParseNodeType.MemberAccess */) {
1943
1947
  return true;
1944
1948
  }
1945
- if (node.parent.leftExpression.nodeType !== 38 /* Name */ &&
1946
- node.parent.leftExpression.nodeType !== 35 /* MemberAccess */) {
1949
+ if (node.parent.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
1950
+ node.parent.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */) {
1947
1951
  return false;
1948
1952
  }
1949
1953
  if (node.parent.leftExpression === node) {
1950
1954
  return false;
1951
1955
  }
1952
- return ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.nodeType) !== 35 /* MemberAccess */;
1956
+ return ((_b = node.parent.parent) === null || _b === void 0 ? void 0 : _b.nodeType) !== 35 /* ParseNodeType.MemberAccess */;
1953
1957
  }
1954
1958
  exports.isLastNameOfDottedName = isLastNameOfDottedName;
1955
1959
  function getStringNodeValueRange(node) {
@@ -1958,7 +1962,7 @@ function getStringNodeValueRange(node) {
1958
1962
  exports.getStringNodeValueRange = getStringNodeValueRange;
1959
1963
  function getStringValueRange(token) {
1960
1964
  const length = token.quoteMarkLength;
1961
- const hasEnding = !(token.flags & 65536 /* Unterminated */);
1965
+ const hasEnding = !(token.flags & 65536 /* StringTokenFlags.Unterminated */);
1962
1966
  return textRange_1.TextRange.create(token.start + length, token.length - length - (hasEnding ? length : 0));
1963
1967
  }
1964
1968
  exports.getStringValueRange = getStringValueRange;
@@ -2011,20 +2015,20 @@ function isValidLocationForFutureImport(node) {
2011
2015
  (0, debug_1.assert)(module);
2012
2016
  let sawDocString = false;
2013
2017
  for (const statement of module.statements) {
2014
- if (statement.nodeType !== 47 /* StatementList */) {
2018
+ if (statement.nodeType !== 47 /* ParseNodeType.StatementList */) {
2015
2019
  return false;
2016
2020
  }
2017
2021
  for (const simpleStatement of statement.statements) {
2018
2022
  if (simpleStatement === node) {
2019
2023
  return true;
2020
2024
  }
2021
- if (simpleStatement.nodeType === 48 /* StringList */) {
2025
+ if (simpleStatement.nodeType === 48 /* ParseNodeType.StringList */) {
2022
2026
  if (sawDocString) {
2023
2027
  return false;
2024
2028
  }
2025
2029
  sawDocString = true;
2026
2030
  }
2027
- else if (simpleStatement.nodeType === 22 /* ImportFrom */) {
2031
+ else if (simpleStatement.nodeType === 22 /* ParseNodeType.ImportFrom */) {
2028
2032
  if (simpleStatement.module.leadingDots !== 0 ||
2029
2033
  simpleStatement.module.nameParts.length !== 1 ||
2030
2034
  simpleStatement.module.nameParts[0].value !== '__future__') {
@@ -2044,16 +2048,16 @@ exports.isValidLocationForFutureImport = isValidLocationForFutureImport;
2044
2048
  // "a < b and b < c".
2045
2049
  function operatorSupportsChaining(op) {
2046
2050
  switch (op) {
2047
- case 12 /* Equals */:
2048
- case 28 /* NotEquals */:
2049
- case 20 /* LessThan */:
2050
- case 21 /* LessThanOrEqual */:
2051
- case 15 /* GreaterThan */:
2052
- case 16 /* GreaterThanOrEqual */:
2053
- case 39 /* Is */:
2054
- case 40 /* IsNot */:
2055
- case 41 /* In */:
2056
- case 42 /* NotIn */:
2051
+ case 12 /* OperatorType.Equals */:
2052
+ case 28 /* OperatorType.NotEquals */:
2053
+ case 20 /* OperatorType.LessThan */:
2054
+ case 21 /* OperatorType.LessThanOrEqual */:
2055
+ case 15 /* OperatorType.GreaterThan */:
2056
+ case 16 /* OperatorType.GreaterThanOrEqual */:
2057
+ case 39 /* OperatorType.Is */:
2058
+ case 40 /* OperatorType.IsNot */:
2059
+ case 41 /* OperatorType.In */:
2060
+ case 42 /* OperatorType.NotIn */:
2057
2061
  return true;
2058
2062
  }
2059
2063
  return false;
@@ -2081,11 +2085,11 @@ function _getStartPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition
2081
2085
  for (let index = tokenIndex - 1; index > currentIndex; index--) {
2082
2086
  const token = tokenizerOutput.tokens.getItemAt(index);
2083
2087
  // Eat up indentation
2084
- if (token.type === 3 /* Indent */ || token.type === 4 /* Dedent */) {
2088
+ if (token.type === 3 /* TokenType.Indent */ || token.type === 4 /* TokenType.Dedent */) {
2085
2089
  continue;
2086
2090
  }
2087
2091
  // If previous token is new line, use default.
2088
- if (token.type === 2 /* NewLine */) {
2092
+ if (token.type === 2 /* TokenType.NewLine */) {
2089
2093
  return undefined;
2090
2094
  }
2091
2095
  // Anything else (ex, semicolon), use statement start as it is.
@@ -2116,7 +2120,7 @@ function _getEndPositionIfMultipleStatementsAreOnSameLine(range, tokenPosition,
2116
2120
  for (let index = tokenIndex; index < currentIndex; index++) {
2117
2121
  const token = tokenizerOutput.tokens.getItemAt(index);
2118
2122
  // Eat up semicolon or new line.
2119
- if (token.type === 11 /* Semicolon */ || token.type === 2 /* NewLine */) {
2123
+ if (token.type === 11 /* TokenType.Semicolon */ || token.type === 2 /* TokenType.NewLine */) {
2120
2124
  foundStatementEnd = true;
2121
2125
  continue;
2122
2126
  }
@@ -2134,15 +2138,15 @@ function getVariableDocStringNode(node) {
2134
2138
  let curNode = node;
2135
2139
  let annotationNode;
2136
2140
  while (curNode) {
2137
- if (curNode.nodeType === 3 /* Assignment */) {
2141
+ if (curNode.nodeType === 3 /* ParseNodeType.Assignment */) {
2138
2142
  break;
2139
2143
  }
2140
- if (curNode.nodeType === 54 /* TypeAnnotation */ && !annotationNode) {
2144
+ if (curNode.nodeType === 54 /* ParseNodeType.TypeAnnotation */ && !annotationNode) {
2141
2145
  annotationNode = curNode;
2142
2146
  }
2143
2147
  curNode = curNode.parent;
2144
2148
  }
2145
- if ((curNode === null || curNode === void 0 ? void 0 : curNode.nodeType) !== 3 /* Assignment */) {
2149
+ if ((curNode === null || curNode === void 0 ? void 0 : curNode.nodeType) !== 3 /* ParseNodeType.Assignment */) {
2146
2150
  // Allow a simple annotation statement to have a docstring even
2147
2151
  // though PEP 258 doesn't mention this case. This PEP pre-dated
2148
2152
  // PEP 526, so it didn't contemplate this situation.
@@ -2154,12 +2158,12 @@ function getVariableDocStringNode(node) {
2154
2158
  }
2155
2159
  }
2156
2160
  const parentNode = curNode.parent;
2157
- if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) !== 47 /* StatementList */) {
2161
+ if ((parentNode === null || parentNode === void 0 ? void 0 : parentNode.nodeType) !== 47 /* ParseNodeType.StatementList */) {
2158
2162
  return undefined;
2159
2163
  }
2160
2164
  const suiteOrModule = parentNode.parent;
2161
2165
  if (!suiteOrModule ||
2162
- (suiteOrModule.nodeType !== 36 /* Module */ && suiteOrModule.nodeType !== 50 /* Suite */)) {
2166
+ (suiteOrModule.nodeType !== 36 /* ParseNodeType.Module */ && suiteOrModule.nodeType !== 50 /* ParseNodeType.Suite */)) {
2163
2167
  return undefined;
2164
2168
  }
2165
2169
  const assignmentIndex = suiteOrModule.statements.findIndex((node) => node === parentNode);
@@ -2167,17 +2171,17 @@ function getVariableDocStringNode(node) {
2167
2171
  return undefined;
2168
2172
  }
2169
2173
  const nextStatement = suiteOrModule.statements[assignmentIndex + 1];
2170
- if (nextStatement.nodeType !== 47 /* StatementList */ || !isDocString(nextStatement)) {
2174
+ if (nextStatement.nodeType !== 47 /* ParseNodeType.StatementList */ || !isDocString(nextStatement)) {
2171
2175
  return undefined;
2172
2176
  }
2173
2177
  // See if the assignment is within one of the contexts specified in PEP 258.
2174
2178
  let isValidContext = false;
2175
- if (((_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 36 /* Module */) {
2179
+ if (((_a = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 36 /* ParseNodeType.Module */) {
2176
2180
  // If we're at the top level of a module, the attribute docstring is valid.
2177
2181
  isValidContext = true;
2178
2182
  }
2179
- else if (((_b = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 50 /* Suite */ &&
2180
- ((_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 10 /* Class */) {
2183
+ else if (((_b = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 50 /* ParseNodeType.Suite */ &&
2184
+ ((_d = (_c = parentNode === null || parentNode === void 0 ? void 0 : parentNode.parent) === null || _c === void 0 ? void 0 : _c.parent) === null || _d === void 0 ? void 0 : _d.nodeType) === 10 /* ParseNodeType.Class */) {
2181
2185
  // If we're at the top level of a class, the attribute docstring is valid.
2182
2186
  isValidContext = true;
2183
2187
  }
@@ -2200,10 +2204,10 @@ exports.getVariableDocStringNode = getVariableDocStringNode;
2200
2204
  // file contents change).
2201
2205
  function getScopeIdForNode(node) {
2202
2206
  let name = '';
2203
- if (node.nodeType === 10 /* Class */) {
2207
+ if (node.nodeType === 10 /* ParseNodeType.Class */) {
2204
2208
  name = node.name.value;
2205
2209
  }
2206
- else if (node.nodeType === 28 /* Function */) {
2210
+ else if (node.nodeType === 28 /* ParseNodeType.Function */) {
2207
2211
  name = node.name.value;
2208
2212
  }
2209
2213
  const fileInfo = AnalyzerNodeInfo.getFileInfo(node);