@zzzen/pyright-internal 1.2.0-dev.20240519 → 1.2.0-dev.20240602

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 (188) hide show
  1. package/dist/analyzer/analysis.d.ts +5 -1
  2. package/dist/analyzer/analysis.js +3 -3
  3. package/dist/analyzer/analysis.js.map +1 -1
  4. package/dist/analyzer/analyzerNodeInfo.d.ts +2 -2
  5. package/dist/analyzer/backgroundAnalysisProgram.js +1 -1
  6. package/dist/analyzer/binder.d.ts +3 -3
  7. package/dist/analyzer/binder.js +38 -32
  8. package/dist/analyzer/binder.js.map +1 -1
  9. package/dist/analyzer/checker.d.ts +3 -3
  10. package/dist/analyzer/checker.js +45 -37
  11. package/dist/analyzer/checker.js.map +1 -1
  12. package/dist/analyzer/codeFlowEngine.js +9 -5
  13. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  14. package/dist/analyzer/codeFlowTypes.js +3 -3
  15. package/dist/analyzer/constraintSolver.js +2 -1
  16. package/dist/analyzer/constraintSolver.js.map +1 -1
  17. package/dist/analyzer/constructorTransform.d.ts +2 -1
  18. package/dist/analyzer/constructorTransform.js +7 -6
  19. package/dist/analyzer/constructorTransform.js.map +1 -1
  20. package/dist/analyzer/constructors.d.ts +2 -2
  21. package/dist/analyzer/constructors.js +35 -25
  22. package/dist/analyzer/constructors.js.map +1 -1
  23. package/dist/analyzer/declarationUtils.js +3 -3
  24. package/dist/analyzer/decorators.js +3 -1
  25. package/dist/analyzer/decorators.js.map +1 -1
  26. package/dist/analyzer/enums.js +9 -8
  27. package/dist/analyzer/enums.js.map +1 -1
  28. package/dist/analyzer/importResolver.d.ts +1 -0
  29. package/dist/analyzer/importResolver.js +17 -7
  30. package/dist/analyzer/importResolver.js.map +1 -1
  31. package/dist/analyzer/importStatementUtils.js +6 -6
  32. package/dist/analyzer/namedTuples.js +2 -2
  33. package/dist/analyzer/operations.js +2 -2
  34. package/dist/analyzer/parameterUtils.d.ts +5 -5
  35. package/dist/analyzer/parameterUtils.js +16 -16
  36. package/dist/analyzer/parameterUtils.js.map +1 -1
  37. package/dist/analyzer/parentDirectoryCache.js +1 -2
  38. package/dist/analyzer/parentDirectoryCache.js.map +1 -1
  39. package/dist/analyzer/parseTreeUtils.d.ts +1 -1
  40. package/dist/analyzer/parseTreeUtils.js +94 -94
  41. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  42. package/dist/analyzer/parseTreeWalker.d.ts +5 -5
  43. package/dist/analyzer/parseTreeWalker.js +64 -64
  44. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  45. package/dist/analyzer/patternMatching.js +1 -1
  46. package/dist/analyzer/program.d.ts +2 -1
  47. package/dist/analyzer/program.js +36 -35
  48. package/dist/analyzer/program.js.map +1 -1
  49. package/dist/analyzer/scope.d.ts +1 -1
  50. package/dist/analyzer/scope.js +2 -2
  51. package/dist/analyzer/scope.js.map +1 -1
  52. package/dist/analyzer/service.d.ts +4 -2
  53. package/dist/analyzer/service.js +67 -33
  54. package/dist/analyzer/service.js.map +1 -1
  55. package/dist/analyzer/sourceFile.d.ts +1 -1
  56. package/dist/analyzer/sourceFile.js +20 -6
  57. package/dist/analyzer/sourceFile.js.map +1 -1
  58. package/dist/analyzer/sourceMapper.js +4 -4
  59. package/dist/analyzer/staticExpressions.js +3 -3
  60. package/dist/analyzer/testWalker.js +1 -1
  61. package/dist/analyzer/tracePrinter.js +4 -4
  62. package/dist/analyzer/typeDocStringUtils.js +7 -4
  63. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  64. package/dist/analyzer/typeEvaluator.js +638 -559
  65. package/dist/analyzer/typeEvaluator.js.map +1 -1
  66. package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -4
  67. package/dist/analyzer/typeEvaluatorTypes.js +3 -0
  68. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  69. package/dist/analyzer/typeGuards.js +6 -6
  70. package/dist/analyzer/typePrinter.js +7 -1
  71. package/dist/analyzer/typePrinter.js.map +1 -1
  72. package/dist/analyzer/typeStubWriter.js +1 -1
  73. package/dist/analyzer/typeUtils.d.ts +4 -5
  74. package/dist/analyzer/typeUtils.js +18 -11
  75. package/dist/analyzer/typeUtils.js.map +1 -1
  76. package/dist/analyzer/typedDicts.d.ts +1 -2
  77. package/dist/analyzer/typedDicts.js +5 -17
  78. package/dist/analyzer/typedDicts.js.map +1 -1
  79. package/dist/backgroundAnalysisBase.js +4 -4
  80. package/dist/backgroundAnalysisBase.js.map +1 -1
  81. package/dist/backgroundThreadBase.d.ts +2 -0
  82. package/dist/backgroundThreadBase.js +7 -3
  83. package/dist/backgroundThreadBase.js.map +1 -1
  84. package/dist/commands/createTypeStub.d.ts +7 -1
  85. package/dist/commands/createTypeStub.js +45 -32
  86. package/dist/commands/createTypeStub.js.map +1 -1
  87. package/dist/commands/dumpFileDebugInfoCommand.d.ts +1 -1
  88. package/dist/commands/dumpFileDebugInfoCommand.js +14 -14
  89. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  90. package/dist/common/configOptions.d.ts +4 -3
  91. package/dist/common/configOptions.js +36 -31
  92. package/dist/common/configOptions.js.map +1 -1
  93. package/dist/common/console.d.ts +3 -0
  94. package/dist/common/console.js +4 -0
  95. package/dist/common/console.js.map +1 -1
  96. package/dist/common/languageServerInterface.d.ts +46 -0
  97. package/dist/common/languageServerInterface.js.map +1 -1
  98. package/dist/common/textEditTracker.js +5 -5
  99. package/dist/common/uri/fileUri.js +1 -0
  100. package/dist/common/uri/fileUri.js.map +1 -1
  101. package/dist/common/uri/uri.d.ts +3 -0
  102. package/dist/common/uri/uri.js +18 -0
  103. package/dist/common/uri/uri.js.map +1 -1
  104. package/dist/common/uri/uriUtils.d.ts +1 -1
  105. package/dist/common/uri/uriUtils.js +3 -3
  106. package/dist/common/uri/uriUtils.js.map +1 -1
  107. package/dist/common/workspaceEditUtils.js +8 -6
  108. package/dist/common/workspaceEditUtils.js.map +1 -1
  109. package/dist/languageServerBase.d.ts +4 -45
  110. package/dist/languageServerBase.js +36 -28
  111. package/dist/languageServerBase.js.map +1 -1
  112. package/dist/languageService/analyzerServiceExecutor.d.ts +2 -2
  113. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  114. package/dist/languageService/autoImporter.js +4 -4
  115. package/dist/languageService/callHierarchyProvider.js +6 -6
  116. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  117. package/dist/languageService/completionProvider.js +31 -31
  118. package/dist/languageService/completionProvider.js.map +1 -1
  119. package/dist/languageService/documentSymbolCollector.js +7 -7
  120. package/dist/languageService/documentSymbolProvider.js +1 -1
  121. package/dist/languageService/documentSymbolProvider.js.map +1 -1
  122. package/dist/languageService/fileWatcherDynamicFeature.d.ts +2 -2
  123. package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
  124. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  125. package/dist/languageService/hoverProvider.js +2 -2
  126. package/dist/languageService/importSorter.js +1 -1
  127. package/dist/languageService/navigationUtils.js +1 -1
  128. package/dist/languageService/navigationUtils.js.map +1 -1
  129. package/dist/languageService/referencesProvider.js +4 -4
  130. package/dist/languageService/referencesProvider.js.map +1 -1
  131. package/dist/languageService/symbolIndexer.js +3 -3
  132. package/dist/languageService/tooltipUtils.js +2 -2
  133. package/dist/languageService/workspaceSymbolProvider.js +1 -1
  134. package/dist/languageService/workspaceSymbolProvider.js.map +1 -1
  135. package/dist/localization/localize.d.ts +1 -1
  136. package/dist/localization/localize.js +1 -1
  137. package/dist/localization/localize.js.map +1 -1
  138. package/dist/localization/package.nls.cs.json +4 -2
  139. package/dist/localization/package.nls.de.json +5 -3
  140. package/dist/localization/package.nls.en-us.json +3 -3
  141. package/dist/localization/package.nls.es.json +5 -3
  142. package/dist/localization/package.nls.fr.json +5 -3
  143. package/dist/localization/package.nls.it.json +4 -2
  144. package/dist/localization/package.nls.ja.json +5 -3
  145. package/dist/localization/package.nls.ko.json +4 -2
  146. package/dist/localization/package.nls.pl.json +4 -2
  147. package/dist/localization/package.nls.pt-br.json +4 -2
  148. package/dist/localization/package.nls.qps-ploc.json +5 -3
  149. package/dist/localization/package.nls.ru.json +5 -3
  150. package/dist/localization/package.nls.tr.json +4 -2
  151. package/dist/localization/package.nls.zh-cn.json +5 -3
  152. package/dist/localization/package.nls.zh-tw.json +4 -2
  153. package/dist/parser/parseNodes.d.ts +42 -42
  154. package/dist/parser/parseNodes.js +69 -69
  155. package/dist/parser/parseNodes.js.map +1 -1
  156. package/dist/parser/parser.d.ts +1 -1
  157. package/dist/parser/parser.js +35 -35
  158. package/dist/parser/parser.js.map +1 -1
  159. package/dist/parser/tokenizer.js +2 -2
  160. package/dist/parser/tokenizer.js.map +1 -1
  161. package/dist/pyright.js +4 -4
  162. package/dist/pyright.js.map +1 -1
  163. package/dist/tests/classDeclaration.test.js +1 -1
  164. package/dist/tests/config.test.js +15 -3
  165. package/dist/tests/config.test.js.map +1 -1
  166. package/dist/tests/harness/fourslash/testState.js +2 -1
  167. package/dist/tests/harness/fourslash/testState.js.map +1 -1
  168. package/dist/tests/harness/fourslash/testStateUtils.js +1 -1
  169. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  170. package/dist/tests/hoverProvider.test.js +17 -0
  171. package/dist/tests/hoverProvider.test.js.map +1 -1
  172. package/dist/tests/importResolver.test.js +16 -0
  173. package/dist/tests/importResolver.test.js.map +1 -1
  174. package/dist/tests/parseTreeUtils.test.js +4 -4
  175. package/dist/tests/parser.test.js +3 -3
  176. package/dist/tests/typeEvaluator1.test.js +4 -0
  177. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  178. package/dist/tests/typeEvaluator2.test.js +8 -4
  179. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  180. package/dist/tests/typeEvaluator4.test.js +6 -2
  181. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  182. package/dist/tests/typeEvaluator7.test.js +5 -7
  183. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  184. package/dist/tests/uri.test.js +11 -3
  185. package/dist/tests/uri.test.js.map +1 -1
  186. package/dist/workspaceFactory.js +16 -14
  187. package/dist/workspaceFactory.js.map +1 -1
  188. package/package.json +1 -1
@@ -23,8 +23,7 @@ class ParentDirectoryCache {
23
23
  const result = (_a = this._cachedResults.get(importName)) === null || _a === void 0 ? void 0 : _a.get(path.key);
24
24
  if (result) {
25
25
  // We already checked for the importName at the path.
26
- // Return the result if succeeded otherwise, return regular import result given.
27
- return result !== null && result !== void 0 ? result : importResult;
26
+ return result;
28
27
  }
29
28
  const checked = (_b = this._importChecked.get(importName)) === null || _b === void 0 ? void 0 : _b.get(path.key);
30
29
  if (checked) {
@@ -1 +1 @@
1
- {"version":3,"file":"parentDirectoryCache.js","sourceRoot":"","sources":["../../../../../src/analyzer/parentDirectoryCache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+DAAqD;AASrD,MAAa,oBAAoB;IAM7B,YAAoB,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;QALjC,mBAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC5D,mBAAc,GAAG,IAAI,GAAG,EAAqC,CAAC;QAEvE,kBAAa,GAAsB,SAAS,CAAC;QAGjD,QAAQ;IACZ,CAAC;IAED,eAAe,CAAC,IAAS,EAAE,UAAkB,EAAE,YAA0B;;QACrE,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,MAAM,EAAE;YACR,qDAAqD;YACrD,gFAAgF;YAChF,OAAO,MAAM,aAAN,MAAM,cAAN,MAAM,GAAI,YAAY,CAAC;SACjC;QAED,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE;YACT,qDAAqD;YACrD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrB,OAAO,YAAY,CAAC;aACvB;YAED,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,mCAAI,YAAY,CAAC;SAC3F;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,EAAc,EAAE,aAAkB,EAAE,IAAS;;QACxD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACjC,+CAA+C;YAC/C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,aAAa;YACd,MAAA,IAAI,CAAC,aAAa,mCAClB,IAAI,CAAC,iBAAiB,EAAE;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7D,wDAAwD;YACxD,mBAAmB;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAS,EAAE,UAAkB,EAAE,UAAsB;QACzD,IAAA,0BAAQ,EAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7G,CAAC;IAED,GAAG,CAAC,MAAkB;QAClB,IAAA,0BAAQ,EAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAC,GAAG,CACvF,MAAM,CAAC,IAAI,CAAC,GAAG,EACf,MAAM,CAAC,YAAY,CACtB,CAAC;IACN,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACnC,CAAC;CACJ;AArED,oDAqEC"}
1
+ {"version":3,"file":"parentDirectoryCache.js","sourceRoot":"","sources":["../../../../../src/analyzer/parentDirectoryCache.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,+DAAqD;AASrD,MAAa,oBAAoB;IAM7B,YAAoB,iBAA8B;QAA9B,sBAAiB,GAAjB,iBAAiB,CAAa;QALjC,mBAAc,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC5D,mBAAc,GAAG,IAAI,GAAG,EAAqC,CAAC;QAEvE,kBAAa,GAAsB,SAAS,CAAC;QAGjD,QAAQ;IACZ,CAAC;IAED,eAAe,CAAC,IAAS,EAAE,UAAkB,EAAE,YAA0B;;QACrE,MAAM,MAAM,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QAClE,IAAI,MAAM,EAAE;YACR,qDAAqD;YACrD,OAAO,MAAM,CAAC;SACjB;QAED,MAAM,OAAO,GAAG,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACnE,IAAI,OAAO,EAAE;YACT,qDAAqD;YACrD,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE;gBACrB,OAAO,YAAY,CAAC;aACvB;YAED,OAAO,MAAA,MAAA,IAAI,CAAC,cAAc,CAAC,GAAG,CAAC,UAAU,CAAC,0CAAE,GAAG,CAAC,OAAO,CAAC,UAAU,CAAC,GAAG,CAAC,mCAAI,YAAY,CAAC;SAC3F;QAED,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,cAAc,CAAC,EAAc,EAAE,aAAkB,EAAE,IAAS;;QACxD,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;YACjC,+CAA+C;YAC/C,OAAO,KAAK,CAAC;SAChB;QAED,IAAI,CAAC,aAAa;YACd,MAAA,IAAI,CAAC,aAAa,mCAClB,IAAI,CAAC,iBAAiB,EAAE;iBACnB,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;iBAC9B,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,IAAI,CAAC;iBACzB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;QAE3C,IAAI,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,EAAE;YAC7D,wDAAwD;YACxD,mBAAmB;YACnB,OAAO,KAAK,CAAC;SAChB;QAED,OAAO,IAAI,CAAC;IAChB,CAAC;IAED,OAAO,CAAC,IAAS,EAAE,UAAkB,EAAE,UAAsB;QACzD,IAAA,0BAAQ,EAAC,IAAI,CAAC,cAAc,EAAE,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAsB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,UAAU,CAAC,CAAC;IAC7G,CAAC;IAED,GAAG,CAAC,MAAkB;QAClB,IAAA,0BAAQ,EAAC,IAAI,CAAC,cAAc,EAAE,MAAM,CAAC,UAAU,EAAE,GAAG,EAAE,CAAC,IAAI,GAAG,EAAwB,CAAC,CAAC,GAAG,CACvF,MAAM,CAAC,IAAI,CAAC,GAAG,EACf,MAAM,CAAC,YAAY,CACtB,CAAC;IACN,CAAC;IAED,KAAK;QACD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;QAC5B,IAAI,CAAC,aAAa,GAAG,SAAS,CAAC;IACnC,CAAC;CACJ;AApED,oDAoEC"}
@@ -88,7 +88,7 @@ export declare function getTokenOverlapping(tokens: TextRangeCollection<Token>,
88
88
  export declare function getIndexOfTokenOverlapping(tokens: TextRangeCollection<Token>, position: number): number;
89
89
  export declare function findTokenAfter(tokenizerOutput: TokenizerOutput, offset: number, predicate: (t: Token) => boolean): Token | undefined;
90
90
  export declare function getCommentsAtTokenIndex(tokens: TextRangeCollection<Token>, index: number): import("../parser/tokenizerTypes").Comment[] | undefined;
91
- export declare function printParseNodeType(type: ParseNodeType): "TypeAlias" | "Tuple" | "Unpack" | "List" | "Set" | "Match" | "Call" | "Error" | "Argument" | "Assert" | "Assignment" | "AssignmentExpression" | "AugmentedAssignment" | "Await" | "BinaryOperation" | "Break" | "Class" | "Constant" | "Continue" | "Decorator" | "Del" | "Dictionary" | "DictionaryExpandEntry" | "DictionaryKeyEntry" | "Ellipsis" | "If" | "Import" | "ImportAs" | "ImportFrom" | "ImportFromAs" | "Index" | "Except" | "For" | "FormatString" | "Function" | "Global" | "Lambda" | "ListComprehension" | "ListComprehensionFor" | "ListComprehensionIf" | "MemberAccess" | "Module" | "ModuleName" | "Name" | "Nonlocal" | "Number" | "Parameter" | "Pass" | "Raise" | "Return" | "Slice" | "StatementList" | "StringList" | "String" | "Suite" | "Ternary" | "Try" | "TypeAnnotation" | "UnaryOperation" | "While" | "With" | "WithItem" | "Yield" | "YieldFrom" | "FunctionAnnotation" | "Case" | "PatternSequence" | "PatternAs" | "PatternLiteral" | "PatternClass" | "PatternCapture" | "PatternMapping" | "PatternMappingKeyEntry" | "PatternMappingExpandEntry" | "PatternValue" | "PatternClassArgument" | "TypeParameter" | "TypeParameterList";
91
+ export declare function printParseNodeType(type: ParseNodeType): "TypeAlias" | "Tuple" | "Unpack" | "List" | "Set" | "Match" | "Call" | "Error" | "Argument" | "Assert" | "Assignment" | "AssignmentExpression" | "AugmentedAssignment" | "Await" | "BinaryOperation" | "Break" | "Class" | "Constant" | "Continue" | "Decorator" | "Del" | "Dictionary" | "DictionaryExpandEntry" | "DictionaryKeyEntry" | "Ellipsis" | "If" | "Import" | "ImportAs" | "ImportFrom" | "ImportFromAs" | "Index" | "Except" | "For" | "FormatString" | "Function" | "Global" | "Lambda" | "Comprehension" | "ComprehensionFor" | "ComprehensionIf" | "MemberAccess" | "Module" | "ModuleName" | "Name" | "Nonlocal" | "Number" | "Parameter" | "Pass" | "Raise" | "Return" | "Slice" | "StatementList" | "StringList" | "String" | "Suite" | "Ternary" | "Try" | "TypeAnnotation" | "UnaryOperation" | "While" | "With" | "WithItem" | "Yield" | "YieldFrom" | "FunctionAnnotation" | "Case" | "PatternSequence" | "PatternAs" | "PatternLiteral" | "PatternClass" | "PatternCapture" | "PatternMapping" | "PatternMappingKeyEntry" | "PatternMappingExpandEntry" | "PatternValue" | "PatternClassArgument" | "TypeParameter" | "TypeParameterList";
92
92
  export declare function isWriteAccess(node: NameNode): boolean;
93
93
  export declare function getModuleNode(node: ParseNode): ModuleNode | undefined;
94
94
  export declare function getFileInfoFromNode(node: ParseNode): import("./analyzerFileInfo").AnalyzerFileInfo | undefined;
@@ -165,13 +165,13 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
165
165
  // Some left-hand expressions must be parenthesized.
166
166
  if (node.leftExpression.nodeType !== 35 /* ParseNodeType.MemberAccess */ &&
167
167
  node.leftExpression.nodeType !== 38 /* ParseNodeType.Name */ &&
168
- node.leftExpression.nodeType !== 24 /* ParseNodeType.Index */ &&
168
+ node.leftExpression.nodeType !== 27 /* ParseNodeType.Index */ &&
169
169
  node.leftExpression.nodeType !== 9 /* ParseNodeType.Call */) {
170
170
  lhs = `(${lhs})`;
171
171
  }
172
172
  return lhs + '(' + node.arguments.map((arg) => printArgument(arg, flags)).join(', ') + ')';
173
173
  }
174
- case 24 /* ParseNodeType.Index */: {
174
+ case 27 /* ParseNodeType.Index */: {
175
175
  return (printExpression(node.baseExpression, flags) +
176
176
  '[' +
177
177
  node.items.map((item) => printArgument(item, flags)).join(', ') +
@@ -250,7 +250,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
250
250
  }
251
251
  return exprString;
252
252
  }
253
- case 27 /* ParseNodeType.FormatString */: {
253
+ case 30 /* ParseNodeType.FormatString */: {
254
254
  let exprString = 'f';
255
255
  let escapedString = '';
256
256
  const itemsToPrint = [...node.middleTokens, ...node.fieldExpressions].sort((a, b) => a.start - b.start);
@@ -308,7 +308,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
308
308
  ' else ' +
309
309
  printExpression(node.elseExpression, flags));
310
310
  }
311
- case 31 /* ParseNodeType.List */: {
311
+ case 34 /* ParseNodeType.List */: {
312
312
  const expressions = node.entries.map((expr) => {
313
313
  return printExpression(expr, flags);
314
314
  });
@@ -337,15 +337,15 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
337
337
  case 61 /* ParseNodeType.YieldFrom */: {
338
338
  return 'yield from ' + printExpression(node.expression, flags);
339
339
  }
340
- case 18 /* ParseNodeType.Ellipsis */: {
340
+ case 21 /* ParseNodeType.Ellipsis */: {
341
341
  return '...';
342
342
  }
343
- case 32 /* ParseNodeType.ListComprehension */: {
343
+ case 11 /* ParseNodeType.Comprehension */: {
344
344
  let listStr = '<ListExpression>';
345
345
  if ((0, parseNodes_1.isExpressionNode)(node.expression)) {
346
346
  listStr = printExpression(node.expression, flags);
347
347
  }
348
- else if (node.expression.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
348
+ else if (node.expression.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */) {
349
349
  const keyStr = printExpression(node.expression.keyExpression, flags);
350
350
  const valueStr = printExpression(node.expression.valueExpression, flags);
351
351
  listStr = `${keyStr}: ${valueStr}`;
@@ -355,7 +355,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
355
355
  ' ' +
356
356
  node.forIfNodes
357
357
  .map((expr) => {
358
- if (expr.nodeType === 33 /* ParseNodeType.ListComprehensionFor */) {
358
+ if (expr.nodeType === 12 /* ParseNodeType.ComprehensionFor */) {
359
359
  return (`${expr.isAsync ? 'async ' : ''}for ` +
360
360
  printExpression(expr.targetExpression, flags) +
361
361
  ` in ${printExpression(expr.iterableExpression, flags)}`);
@@ -385,7 +385,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
385
385
  }
386
386
  return result;
387
387
  }
388
- case 30 /* ParseNodeType.Lambda */: {
388
+ case 33 /* ParseNodeType.Lambda */: {
389
389
  return ('lambda ' +
390
390
  node.parameters
391
391
  .map((param) => {
@@ -411,7 +411,7 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
411
411
  ': ' +
412
412
  printExpression(node.expression, flags));
413
413
  }
414
- case 11 /* ParseNodeType.Constant */: {
414
+ case 14 /* ParseNodeType.Constant */: {
415
415
  if (node.constType === 33 /* KeywordType.True */) {
416
416
  return 'True';
417
417
  }
@@ -426,13 +426,13 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
426
426
  }
427
427
  break;
428
428
  }
429
- case 15 /* ParseNodeType.Dictionary */: {
429
+ case 18 /* ParseNodeType.Dictionary */: {
430
430
  const dictContents = `${node.entries.map((entry) => {
431
- if (entry.nodeType === 17 /* ParseNodeType.DictionaryKeyEntry */) {
431
+ if (entry.nodeType === 20 /* ParseNodeType.DictionaryKeyEntry */) {
432
432
  return (`${printExpression(entry.keyExpression, flags)}: ` +
433
433
  `${printExpression(entry.valueExpression, flags)}`);
434
434
  }
435
- else if (entry.nodeType === 16 /* ParseNodeType.DictionaryExpandEntry */) {
435
+ else if (entry.nodeType === 19 /* ParseNodeType.DictionaryExpandEntry */) {
436
436
  return `**${printExpression(entry.expandExpression, flags)}`;
437
437
  }
438
438
  else {
@@ -526,12 +526,12 @@ function getCallForName(node) {
526
526
  exports.getCallForName = getCallForName;
527
527
  function getDecoratorForName(node) {
528
528
  var _a, _b, _c;
529
- if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 13 /* ParseNodeType.Decorator */ && node.parent.expression === node) {
529
+ if (((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 16 /* ParseNodeType.Decorator */ && node.parent.expression === node) {
530
530
  return node.parent;
531
531
  }
532
532
  if (((_b = node.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 35 /* ParseNodeType.MemberAccess */ &&
533
533
  node.parent.memberName === node &&
534
- ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 13 /* ParseNodeType.Decorator */ &&
534
+ ((_c = node.parent.parent) === null || _c === void 0 ? void 0 : _c.nodeType) === 16 /* ParseNodeType.Decorator */ &&
535
535
  node.parent.parent.expression === node.parent) {
536
536
  return node.parent.parent;
537
537
  }
@@ -558,7 +558,7 @@ function getEnclosingClass(node, stopAtFunction = false) {
558
558
  if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
559
559
  return undefined;
560
560
  }
561
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
561
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
562
562
  if (stopAtFunction) {
563
563
  return undefined;
564
564
  }
@@ -589,7 +589,7 @@ function getEnclosingClassOrModule(node, stopAtFunction = false) {
589
589
  if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
590
590
  return curNode;
591
591
  }
592
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
592
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
593
593
  if (stopAtFunction) {
594
594
  return undefined;
595
595
  }
@@ -603,7 +603,7 @@ function getEnclosingFunction(node) {
603
603
  let curNode = node.parent;
604
604
  let prevNode;
605
605
  while (curNode) {
606
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
606
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
607
607
  // Don't treat a decorator as being "enclosed" in the function.
608
608
  if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
609
609
  return curNode;
@@ -626,7 +626,7 @@ exports.getEnclosingFunction = getEnclosingFunction;
626
626
  function getEnclosingFunctionEvaluationScope(node) {
627
627
  let curNode = getEvaluationScopeNode(node).node;
628
628
  while (curNode) {
629
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
629
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
630
630
  return curNode;
631
631
  }
632
632
  if (curNode.nodeType === 10 /* ParseNodeType.Class */ || !curNode.parent) {
@@ -640,7 +640,7 @@ exports.getEnclosingFunctionEvaluationScope = getEnclosingFunctionEvaluationScop
640
640
  function getEnclosingLambda(node) {
641
641
  let curNode = node.parent;
642
642
  while (curNode) {
643
- if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
643
+ if (curNode.nodeType === 33 /* ParseNodeType.Lambda */) {
644
644
  return curNode;
645
645
  }
646
646
  if (curNode.nodeType === 50 /* ParseNodeType.Suite */) {
@@ -654,7 +654,7 @@ exports.getEnclosingLambda = getEnclosingLambda;
654
654
  function getEnclosingClassOrFunction(node) {
655
655
  let curNode = node.parent;
656
656
  while (curNode) {
657
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
657
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
658
658
  return curNode;
659
659
  }
660
660
  if (curNode.nodeType === 10 /* ParseNodeType.Class */) {
@@ -674,12 +674,12 @@ function getEnclosingSuiteOrModule(node, stopAtFunction = false, stopAtLambda =
674
674
  if (curNode.nodeType === 36 /* ParseNodeType.Module */) {
675
675
  return curNode;
676
676
  }
677
- if (curNode.nodeType === 30 /* ParseNodeType.Lambda */) {
677
+ if (curNode.nodeType === 33 /* ParseNodeType.Lambda */) {
678
678
  if (stopAtLambda) {
679
679
  return undefined;
680
680
  }
681
681
  }
682
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
682
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
683
683
  if (stopAtFunction) {
684
684
  return undefined;
685
685
  }
@@ -693,18 +693,18 @@ function getEvaluationNodeForAssignmentExpression(node) {
693
693
  // PEP 572 indicates that the evaluation node for an assignment expression
694
694
  // target within a list comprehension is contained within a lambda,
695
695
  // function or module, but not a class.
696
- let sawListComprehension = false;
696
+ let sawComprehension = false;
697
697
  let curNode = getEvaluationScopeNode(node).node;
698
698
  while (curNode !== undefined) {
699
699
  switch (curNode.nodeType) {
700
- case 28 /* ParseNodeType.Function */:
701
- case 30 /* ParseNodeType.Lambda */:
700
+ case 31 /* ParseNodeType.Function */:
701
+ case 33 /* ParseNodeType.Lambda */:
702
702
  case 36 /* ParseNodeType.Module */:
703
703
  return curNode;
704
704
  case 10 /* ParseNodeType.Class */:
705
- return sawListComprehension ? undefined : curNode;
706
- case 32 /* ParseNodeType.ListComprehension */:
707
- sawListComprehension = true;
705
+ return sawComprehension ? undefined : curNode;
706
+ case 11 /* ParseNodeType.Comprehension */:
707
+ sawComprehension = true;
708
708
  curNode = getEvaluationScopeNode(curNode.parent).node;
709
709
  break;
710
710
  default:
@@ -740,7 +740,7 @@ function getEvaluationScopeNode(node) {
740
740
  case 76 /* ParseNodeType.TypeParameterList */: {
741
741
  return { node: curNode, useProxyScope: true };
742
742
  }
743
- case 28 /* ParseNodeType.Function */: {
743
+ case 31 /* ParseNodeType.Function */: {
744
744
  if (!prevNode) {
745
745
  break;
746
746
  }
@@ -775,7 +775,7 @@ function getEvaluationScopeNode(node) {
775
775
  }
776
776
  break;
777
777
  }
778
- case 30 /* ParseNodeType.Lambda */: {
778
+ case 33 /* ParseNodeType.Lambda */: {
779
779
  if (curNode.parameters.some((param) => param === prevNode)) {
780
780
  if (isParamNameNode) {
781
781
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
@@ -814,12 +814,12 @@ function getEvaluationScopeNode(node) {
814
814
  }
815
815
  break;
816
816
  }
817
- case 32 /* ParseNodeType.ListComprehension */: {
817
+ case 11 /* ParseNodeType.Comprehension */: {
818
818
  if ((0, analyzerNodeInfo_1.getScope)(curNode) !== undefined) {
819
819
  // The iterable expression of the first subnode of a list comprehension
820
820
  // is evaluated within the scope of its parent.
821
821
  const isFirstIterableExpr = prevNode === curNode.forIfNodes[0] &&
822
- curNode.forIfNodes[0].nodeType === 33 /* ParseNodeType.ListComprehensionFor */ &&
822
+ curNode.forIfNodes[0].nodeType === 12 /* ParseNodeType.ComprehensionFor */ &&
823
823
  curNode.forIfNodes[0].iterableExpression === prevPrevNode;
824
824
  if (!isFirstIterableExpr) {
825
825
  return { node: curNode };
@@ -858,7 +858,7 @@ function getTypeVarScopeNode(node) {
858
858
  let curNode = node;
859
859
  while (curNode) {
860
860
  switch (curNode.nodeType) {
861
- case 28 /* ParseNodeType.Function */: {
861
+ case 31 /* ParseNodeType.Function */: {
862
862
  if (!curNode.decorators.some((decorator) => decorator === prevNode)) {
863
863
  return curNode;
864
864
  }
@@ -888,7 +888,7 @@ function getExecutionScopeNode(node) {
888
888
  // within the context of their containing module or function. Likewise, list
889
889
  // comprehensions are executed within their container.
890
890
  while (evaluationScope.nodeType === 10 /* ParseNodeType.Class */ ||
891
- evaluationScope.nodeType === 32 /* ParseNodeType.ListComprehension */) {
891
+ evaluationScope.nodeType === 11 /* ParseNodeType.Comprehension */) {
892
892
  evaluationScope = getEvaluationScopeNode(evaluationScope.parent).node;
893
893
  }
894
894
  return evaluationScope;
@@ -995,7 +995,7 @@ function getParentAnnotationNode(node) {
995
995
  let curNode = node;
996
996
  let prevNode;
997
997
  while (curNode) {
998
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
998
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
999
999
  if (prevNode === curNode.returnTypeAnnotation) {
1000
1000
  return prevNode;
1001
1001
  }
@@ -1041,7 +1041,7 @@ function isSuiteEmpty(node) {
1041
1041
  for (const statement of node.statements) {
1042
1042
  if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
1043
1043
  for (const substatement of statement.statements) {
1044
- if (substatement.nodeType === 18 /* ParseNodeType.Ellipsis */) {
1044
+ if (substatement.nodeType === 21 /* ParseNodeType.Ellipsis */) {
1045
1045
  // Allow an ellipsis
1046
1046
  sawEllipsis = true;
1047
1047
  }
@@ -1088,7 +1088,7 @@ function isMatchingExpression(reference, expression) {
1088
1088
  return (isMatchingExpression(reference.leftExpression, expression.leftExpression) &&
1089
1089
  reference.memberName.value === expression.memberName.value);
1090
1090
  }
1091
- else if (reference.nodeType === 24 /* ParseNodeType.Index */ && expression.nodeType === 24 /* ParseNodeType.Index */) {
1091
+ else if (reference.nodeType === 27 /* ParseNodeType.Index */ && expression.nodeType === 27 /* ParseNodeType.Index */) {
1092
1092
  if (!isMatchingExpression(reference.baseExpression, expression.baseExpression)) {
1093
1093
  return false;
1094
1094
  }
@@ -1142,7 +1142,7 @@ function isPartialMatchingExpression(reference, expression) {
1142
1142
  return (isMatchingExpression(reference.leftExpression, expression) ||
1143
1143
  isPartialMatchingExpression(reference.leftExpression, expression));
1144
1144
  }
1145
- else if (reference.nodeType === 24 /* ParseNodeType.Index */) {
1145
+ else if (reference.nodeType === 27 /* ParseNodeType.Index */) {
1146
1146
  return (isMatchingExpression(reference.baseExpression, expression) ||
1147
1147
  isPartialMatchingExpression(reference.baseExpression, expression));
1148
1148
  }
@@ -1156,8 +1156,8 @@ function isWithinDefaultParamInitializer(node) {
1156
1156
  if (curNode.nodeType === 41 /* ParseNodeType.Parameter */ && prevNode === curNode.defaultValue) {
1157
1157
  return true;
1158
1158
  }
1159
- if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1160
- curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1159
+ if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
1160
+ curNode.nodeType === 31 /* ParseNodeType.Function */ ||
1161
1161
  curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1162
1162
  curNode.nodeType === 36 /* ParseNodeType.Module */) {
1163
1163
  return false;
@@ -1177,10 +1177,10 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
1177
1177
  (prevNode === curNode.typeAnnotation || prevNode === curNode.typeAnnotationComment)) {
1178
1178
  return isQuoted || !requireQuotedAnnotation;
1179
1179
  }
1180
- if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.returnTypeAnnotation) {
1180
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.returnTypeAnnotation) {
1181
1181
  return isQuoted || !requireQuotedAnnotation;
1182
1182
  }
1183
- if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1183
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1184
1184
  // Type comments are always considered forward declarations even though
1185
1185
  // they're not "quoted".
1186
1186
  return true;
@@ -1196,8 +1196,8 @@ function isWithinTypeAnnotation(node, requireQuotedAnnotation) {
1196
1196
  if (curNode.nodeType === 48 /* ParseNodeType.StringList */ && prevNode === curNode.typeAnnotation) {
1197
1197
  isQuoted = true;
1198
1198
  }
1199
- if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1200
- curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1199
+ if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
1200
+ curNode.nodeType === 31 /* ParseNodeType.Function */ ||
1201
1201
  curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1202
1202
  curNode.nodeType === 36 /* ParseNodeType.Module */) {
1203
1203
  return false;
@@ -1212,7 +1212,7 @@ function isWithinAnnotationComment(node) {
1212
1212
  let curNode = node;
1213
1213
  let prevNode;
1214
1214
  while (curNode) {
1215
- if (curNode.nodeType === 28 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1215
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */ && prevNode === curNode.functionAnnotationComment) {
1216
1216
  // Type comments are always considered forward declarations even though
1217
1217
  // they're not "quoted".
1218
1218
  return true;
@@ -1222,8 +1222,8 @@ function isWithinAnnotationComment(node) {
1222
1222
  // they're not "quoted".
1223
1223
  return true;
1224
1224
  }
1225
- if (curNode.nodeType === 30 /* ParseNodeType.Lambda */ ||
1226
- curNode.nodeType === 28 /* ParseNodeType.Function */ ||
1225
+ if (curNode.nodeType === 33 /* ParseNodeType.Lambda */ ||
1226
+ curNode.nodeType === 31 /* ParseNodeType.Function */ ||
1227
1227
  curNode.nodeType === 10 /* ParseNodeType.Class */ ||
1228
1228
  curNode.nodeType === 36 /* ParseNodeType.Module */) {
1229
1229
  return false;
@@ -1238,7 +1238,7 @@ function isWithinLoop(node) {
1238
1238
  let curNode = node;
1239
1239
  while (curNode) {
1240
1240
  switch (curNode.nodeType) {
1241
- case 26 /* ParseNodeType.For */:
1241
+ case 29 /* ParseNodeType.For */:
1242
1242
  case 57 /* ParseNodeType.While */: {
1243
1243
  return true;
1244
1244
  }
@@ -1297,7 +1297,7 @@ function isDocString(statementList) {
1297
1297
  return false;
1298
1298
  }
1299
1299
  // Any f-strings invalidate the entire docstring.
1300
- if (strings.some((n) => n.nodeType === 27 /* ParseNodeType.FormatString */)) {
1300
+ if (strings.some((n) => n.nodeType === 30 /* ParseNodeType.FormatString */)) {
1301
1301
  return false;
1302
1302
  }
1303
1303
  // It's up to the user to convert normalize/convert this as needed.
@@ -1404,7 +1404,7 @@ function getEnclosingParameter(node) {
1404
1404
  if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
1405
1405
  return curNode;
1406
1406
  }
1407
- if (curNode.nodeType === 28 /* ParseNodeType.Function */) {
1407
+ if (curNode.nodeType === 31 /* ParseNodeType.Function */) {
1408
1408
  return undefined;
1409
1409
  }
1410
1410
  curNode = curNode.parent;
@@ -1626,54 +1626,54 @@ function printParseNodeType(type) {
1626
1626
  return 'Call';
1627
1627
  case 10 /* ParseNodeType.Class */:
1628
1628
  return 'Class';
1629
- case 11 /* ParseNodeType.Constant */:
1629
+ case 14 /* ParseNodeType.Constant */:
1630
1630
  return 'Constant';
1631
- case 12 /* ParseNodeType.Continue */:
1631
+ case 15 /* ParseNodeType.Continue */:
1632
1632
  return 'Continue';
1633
- case 13 /* ParseNodeType.Decorator */:
1633
+ case 16 /* ParseNodeType.Decorator */:
1634
1634
  return 'Decorator';
1635
- case 14 /* ParseNodeType.Del */:
1635
+ case 17 /* ParseNodeType.Del */:
1636
1636
  return 'Del';
1637
- case 15 /* ParseNodeType.Dictionary */:
1637
+ case 18 /* ParseNodeType.Dictionary */:
1638
1638
  return 'Dictionary';
1639
- case 16 /* ParseNodeType.DictionaryExpandEntry */:
1639
+ case 19 /* ParseNodeType.DictionaryExpandEntry */:
1640
1640
  return 'DictionaryExpandEntry';
1641
- case 17 /* ParseNodeType.DictionaryKeyEntry */:
1641
+ case 20 /* ParseNodeType.DictionaryKeyEntry */:
1642
1642
  return 'DictionaryKeyEntry';
1643
- case 18 /* ParseNodeType.Ellipsis */:
1643
+ case 21 /* ParseNodeType.Ellipsis */:
1644
1644
  return 'Ellipsis';
1645
- case 19 /* ParseNodeType.If */:
1645
+ case 22 /* ParseNodeType.If */:
1646
1646
  return 'If';
1647
- case 20 /* ParseNodeType.Import */:
1647
+ case 23 /* ParseNodeType.Import */:
1648
1648
  return 'Import';
1649
- case 21 /* ParseNodeType.ImportAs */:
1649
+ case 24 /* ParseNodeType.ImportAs */:
1650
1650
  return 'ImportAs';
1651
- case 22 /* ParseNodeType.ImportFrom */:
1651
+ case 25 /* ParseNodeType.ImportFrom */:
1652
1652
  return 'ImportFrom';
1653
- case 23 /* ParseNodeType.ImportFromAs */:
1653
+ case 26 /* ParseNodeType.ImportFromAs */:
1654
1654
  return 'ImportFromAs';
1655
- case 24 /* ParseNodeType.Index */:
1655
+ case 27 /* ParseNodeType.Index */:
1656
1656
  return 'Index';
1657
- case 25 /* ParseNodeType.Except */:
1657
+ case 28 /* ParseNodeType.Except */:
1658
1658
  return 'Except';
1659
- case 26 /* ParseNodeType.For */:
1659
+ case 29 /* ParseNodeType.For */:
1660
1660
  return 'For';
1661
- case 27 /* ParseNodeType.FormatString */:
1661
+ case 30 /* ParseNodeType.FormatString */:
1662
1662
  return 'FormatString';
1663
- case 28 /* ParseNodeType.Function */:
1663
+ case 31 /* ParseNodeType.Function */:
1664
1664
  return 'Function';
1665
- case 29 /* ParseNodeType.Global */:
1665
+ case 32 /* ParseNodeType.Global */:
1666
1666
  return 'Global';
1667
- case 30 /* ParseNodeType.Lambda */:
1667
+ case 33 /* ParseNodeType.Lambda */:
1668
1668
  return 'Lambda';
1669
- case 31 /* ParseNodeType.List */:
1669
+ case 34 /* ParseNodeType.List */:
1670
1670
  return 'List';
1671
- case 32 /* ParseNodeType.ListComprehension */:
1672
- return 'ListComprehension';
1673
- case 33 /* ParseNodeType.ListComprehensionFor */:
1674
- return 'ListComprehensionFor';
1675
- case 34 /* ParseNodeType.ListComprehensionIf */:
1676
- return 'ListComprehensionIf';
1671
+ case 11 /* ParseNodeType.Comprehension */:
1672
+ return 'Comprehension';
1673
+ case 12 /* ParseNodeType.ComprehensionFor */:
1674
+ return 'ComprehensionFor';
1675
+ case 13 /* ParseNodeType.ComprehensionIf */:
1676
+ return 'ComprehensionIf';
1677
1677
  case 35 /* ParseNodeType.MemberAccess */:
1678
1678
  return 'MemberAccess';
1679
1679
  case 36 /* ParseNodeType.Module */:
@@ -1778,17 +1778,17 @@ function isWriteAccess(node) {
1778
1778
  case 4 /* ParseNodeType.AssignmentExpression */: {
1779
1779
  return prevNode === curNode.name;
1780
1780
  }
1781
- case 14 /* ParseNodeType.Del */: {
1781
+ case 17 /* ParseNodeType.Del */: {
1782
1782
  return true;
1783
1783
  }
1784
- case 26 /* ParseNodeType.For */: {
1784
+ case 29 /* ParseNodeType.For */: {
1785
1785
  return prevNode === curNode.targetExpression;
1786
1786
  }
1787
- case 21 /* ParseNodeType.ImportAs */: {
1787
+ case 24 /* ParseNodeType.ImportAs */: {
1788
1788
  return (prevNode === curNode.alias ||
1789
1789
  (curNode.module.nameParts.length > 0 && prevNode === curNode.module.nameParts[0]));
1790
1790
  }
1791
- case 23 /* ParseNodeType.ImportFromAs */: {
1791
+ case 26 /* ParseNodeType.ImportFromAs */: {
1792
1792
  return prevNode === curNode.alias || (!curNode.alias && prevNode === curNode.name);
1793
1793
  }
1794
1794
  case 35 /* ParseNodeType.MemberAccess */: {
@@ -1797,13 +1797,13 @@ function isWriteAccess(node) {
1797
1797
  }
1798
1798
  break;
1799
1799
  }
1800
- case 25 /* ParseNodeType.Except */: {
1800
+ case 28 /* ParseNodeType.Except */: {
1801
1801
  return prevNode === curNode.name;
1802
1802
  }
1803
1803
  case 58 /* ParseNodeType.With */: {
1804
1804
  return curNode.withItems.some((item) => item === prevNode);
1805
1805
  }
1806
- case 33 /* ParseNodeType.ListComprehensionFor */: {
1806
+ case 12 /* ParseNodeType.ComprehensionFor */: {
1807
1807
  return prevNode === curNode.targetExpression;
1808
1808
  }
1809
1809
  case 54 /* ParseNodeType.TypeAnnotation */: {
@@ -1812,7 +1812,7 @@ function isWriteAccess(node) {
1812
1812
  }
1813
1813
  break;
1814
1814
  }
1815
- case 28 /* ParseNodeType.Function */:
1815
+ case 31 /* ParseNodeType.Function */:
1816
1816
  case 10 /* ParseNodeType.Class */:
1817
1817
  case 36 /* ParseNodeType.Module */: {
1818
1818
  return false;
@@ -1846,7 +1846,7 @@ function isFunctionSuiteEmpty(node) {
1846
1846
  else if (statement.nodeType === 47 /* ParseNodeType.StatementList */) {
1847
1847
  statement.statements.forEach((subStatement) => {
1848
1848
  // Allow docstrings, ellipsis, and pass statements.
1849
- if (subStatement.nodeType !== 18 /* ParseNodeType.Ellipsis */ &&
1849
+ if (subStatement.nodeType !== 21 /* ParseNodeType.Ellipsis */ &&
1850
1850
  subStatement.nodeType !== 48 /* ParseNodeType.StringList */ &&
1851
1851
  subStatement.nodeType !== 42 /* ParseNodeType.Pass */) {
1852
1852
  isEmpty = false;
@@ -1888,27 +1888,27 @@ function getTypeAnnotationForParameter(node, paramIndex) {
1888
1888
  exports.getTypeAnnotationForParameter = getTypeAnnotationForParameter;
1889
1889
  function isImportModuleName(node) {
1890
1890
  var _a, _b;
1891
- 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 */;
1891
+ return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 24 /* ParseNodeType.ImportAs */;
1892
1892
  }
1893
1893
  exports.isImportModuleName = isImportModuleName;
1894
1894
  function isImportAlias(node) {
1895
1895
  var _a;
1896
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 21 /* ParseNodeType.ImportAs */ && node.parent.alias === node;
1896
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 24 /* ParseNodeType.ImportAs */ && node.parent.alias === node;
1897
1897
  }
1898
1898
  exports.isImportAlias = isImportAlias;
1899
1899
  function isFromImportModuleName(node) {
1900
1900
  var _a, _b;
1901
- 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 */;
1901
+ return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 25 /* ParseNodeType.ImportFrom */;
1902
1902
  }
1903
1903
  exports.isFromImportModuleName = isFromImportModuleName;
1904
1904
  function isFromImportName(node) {
1905
1905
  var _a;
1906
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.name === node;
1906
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 26 /* ParseNodeType.ImportFromAs */ && node.parent.name === node;
1907
1907
  }
1908
1908
  exports.isFromImportName = isFromImportName;
1909
1909
  function isFromImportAlias(node) {
1910
1910
  var _a;
1911
- return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 23 /* ParseNodeType.ImportFromAs */ && node.parent.alias === node;
1911
+ return ((_a = node.parent) === null || _a === void 0 ? void 0 : _a.nodeType) === 26 /* ParseNodeType.ImportFromAs */ && node.parent.alias === node;
1912
1912
  }
1913
1913
  exports.isFromImportAlias = isFromImportAlias;
1914
1914
  function isLastNameOfModuleName(node) {
@@ -2120,7 +2120,7 @@ function isValidLocationForFutureImport(node) {
2120
2120
  }
2121
2121
  sawDocString = true;
2122
2122
  }
2123
- else if (simpleStatement.nodeType === 22 /* ParseNodeType.ImportFrom */) {
2123
+ else if (simpleStatement.nodeType === 25 /* ParseNodeType.ImportFrom */) {
2124
2124
  if (simpleStatement.module.leadingDots !== 0 ||
2125
2125
  simpleStatement.module.nameParts.length !== 1 ||
2126
2126
  simpleStatement.module.nameParts[0].value !== '__future__') {
@@ -2302,7 +2302,7 @@ function getScopeIdForNode(node) {
2302
2302
  if (node.nodeType === 10 /* ParseNodeType.Class */) {
2303
2303
  name = node.name.value;
2304
2304
  }
2305
- else if (node.nodeType === 28 /* ParseNodeType.Function */) {
2305
+ else if (node.nodeType === 31 /* ParseNodeType.Function */) {
2306
2306
  name = node.name.value;
2307
2307
  }
2308
2308
  const fileInfo = AnalyzerNodeInfo.getFileInfo(node);
@@ -2332,7 +2332,7 @@ exports.checkDecorator = checkDecorator;
2332
2332
  function isSimpleDefault(node) {
2333
2333
  switch (node.nodeType) {
2334
2334
  case 40 /* ParseNodeType.Number */:
2335
- case 11 /* ParseNodeType.Constant */:
2335
+ case 14 /* ParseNodeType.Constant */:
2336
2336
  case 35 /* ParseNodeType.MemberAccess */:
2337
2337
  return true;
2338
2338
  case 49 /* ParseNodeType.String */: