@zzzen/pyright-internal 1.2.0-dev.20240707 → 1.2.0-dev.20240721

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 (184) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +74 -46
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +506 -512
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/checker.js +672 -655
  6. package/dist/analyzer/checker.js.map +1 -1
  7. package/dist/analyzer/codeFlowEngine.d.ts +5 -3
  8. package/dist/analyzer/codeFlowEngine.js +112 -103
  9. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  10. package/dist/analyzer/codeFlowTypes.js +30 -28
  11. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  12. package/dist/analyzer/constraintSolver.js +70 -66
  13. package/dist/analyzer/constraintSolver.js.map +1 -1
  14. package/dist/analyzer/constructorTransform.d.ts +1 -2
  15. package/dist/analyzer/constructorTransform.js +26 -27
  16. package/dist/analyzer/constructorTransform.js.map +1 -1
  17. package/dist/analyzer/constructors.d.ts +2 -2
  18. package/dist/analyzer/constructors.js +95 -190
  19. package/dist/analyzer/constructors.js.map +1 -1
  20. package/dist/analyzer/dataClasses.js +110 -179
  21. package/dist/analyzer/dataClasses.js.map +1 -1
  22. package/dist/analyzer/declarationUtils.js +14 -15
  23. package/dist/analyzer/declarationUtils.js.map +1 -1
  24. package/dist/analyzer/decorators.js +78 -79
  25. package/dist/analyzer/decorators.js.map +1 -1
  26. package/dist/analyzer/enums.js +70 -56
  27. package/dist/analyzer/enums.js.map +1 -1
  28. package/dist/analyzer/functionTransform.js +8 -18
  29. package/dist/analyzer/functionTransform.js.map +1 -1
  30. package/dist/analyzer/importResolver.d.ts +2 -1
  31. package/dist/analyzer/importResolver.js +40 -29
  32. package/dist/analyzer/importResolver.js.map +1 -1
  33. package/dist/analyzer/importStatementUtils.js +27 -27
  34. package/dist/analyzer/importStatementUtils.js.map +1 -1
  35. package/dist/analyzer/namedTuples.js +33 -59
  36. package/dist/analyzer/namedTuples.js.map +1 -1
  37. package/dist/analyzer/operations.js +194 -145
  38. package/dist/analyzer/operations.js.map +1 -1
  39. package/dist/analyzer/packageTypeVerifier.js +66 -62
  40. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  41. package/dist/analyzer/parameterUtils.d.ts +4 -4
  42. package/dist/analyzer/parameterUtils.js +30 -47
  43. package/dist/analyzer/parameterUtils.js.map +1 -1
  44. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  45. package/dist/analyzer/parseTreeUtils.js +294 -272
  46. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  47. package/dist/analyzer/parseTreeWalker.js +76 -76
  48. package/dist/analyzer/parseTreeWalker.js.map +1 -1
  49. package/dist/analyzer/patternMatching.js +178 -145
  50. package/dist/analyzer/patternMatching.js.map +1 -1
  51. package/dist/analyzer/program.js +1 -1
  52. package/dist/analyzer/program.js.map +1 -1
  53. package/dist/analyzer/properties.js +82 -147
  54. package/dist/analyzer/properties.js.map +1 -1
  55. package/dist/analyzer/protocols.js +29 -25
  56. package/dist/analyzer/protocols.js.map +1 -1
  57. package/dist/analyzer/sourceFile.js +3 -3
  58. package/dist/analyzer/sourceFile.js.map +1 -1
  59. package/dist/analyzer/sourceMapper.js +20 -19
  60. package/dist/analyzer/sourceMapper.js.map +1 -1
  61. package/dist/analyzer/staticExpressions.js +83 -84
  62. package/dist/analyzer/staticExpressions.js.map +1 -1
  63. package/dist/analyzer/testWalker.js +15 -3
  64. package/dist/analyzer/testWalker.js.map +1 -1
  65. package/dist/analyzer/tracePrinter.js +20 -20
  66. package/dist/analyzer/tracePrinter.js.map +1 -1
  67. package/dist/analyzer/typeDocStringUtils.js +25 -25
  68. package/dist/analyzer/typeDocStringUtils.js.map +1 -1
  69. package/dist/analyzer/typeEvaluator.js +2443 -2350
  70. package/dist/analyzer/typeEvaluator.js.map +1 -1
  71. package/dist/analyzer/typeEvaluatorTypes.d.ts +13 -9
  72. package/dist/analyzer/typeEvaluatorTypes.js +7 -1
  73. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  74. package/dist/analyzer/typeGuards.js +212 -215
  75. package/dist/analyzer/typeGuards.js.map +1 -1
  76. package/dist/analyzer/typePrinter.js +118 -115
  77. package/dist/analyzer/typePrinter.js.map +1 -1
  78. package/dist/analyzer/typeStubWriter.js +104 -103
  79. package/dist/analyzer/typeStubWriter.js.map +1 -1
  80. package/dist/analyzer/typeUtils.d.ts +30 -15
  81. package/dist/analyzer/typeUtils.js +534 -436
  82. package/dist/analyzer/typeUtils.js.map +1 -1
  83. package/dist/analyzer/typeVarContext.js +8 -8
  84. package/dist/analyzer/typeVarContext.js.map +1 -1
  85. package/dist/analyzer/typeWalker.js +13 -10
  86. package/dist/analyzer/typeWalker.js.map +1 -1
  87. package/dist/analyzer/typedDicts.js +97 -199
  88. package/dist/analyzer/typedDicts.js.map +1 -1
  89. package/dist/analyzer/types.d.ts +152 -106
  90. package/dist/analyzer/types.js +695 -496
  91. package/dist/analyzer/types.js.map +1 -1
  92. package/dist/commands/dumpFileDebugInfoCommand.js +34 -34
  93. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  94. package/dist/common/fileSystem.d.ts +1 -0
  95. package/dist/common/fileSystem.js.map +1 -1
  96. package/dist/common/fullAccessHost.js +6 -4
  97. package/dist/common/fullAccessHost.js.map +1 -1
  98. package/dist/common/realFileSystem.d.ts +1 -0
  99. package/dist/common/realFileSystem.js +4 -0
  100. package/dist/common/realFileSystem.js.map +1 -1
  101. package/dist/common/textEditTracker.js +14 -14
  102. package/dist/common/textEditTracker.js.map +1 -1
  103. package/dist/languageService/autoImporter.js +10 -10
  104. package/dist/languageService/autoImporter.js.map +1 -1
  105. package/dist/languageService/callHierarchyProvider.js +23 -23
  106. package/dist/languageService/callHierarchyProvider.js.map +1 -1
  107. package/dist/languageService/completionProvider.js +153 -151
  108. package/dist/languageService/completionProvider.js.map +1 -1
  109. package/dist/languageService/definitionProvider.d.ts +1 -1
  110. package/dist/languageService/definitionProvider.js +3 -1
  111. package/dist/languageService/definitionProvider.js.map +1 -1
  112. package/dist/languageService/documentSymbolCollector.js +19 -19
  113. package/dist/languageService/documentSymbolCollector.js.map +1 -1
  114. package/dist/languageService/hoverProvider.js +36 -27
  115. package/dist/languageService/hoverProvider.js.map +1 -1
  116. package/dist/languageService/importSorter.js +8 -8
  117. package/dist/languageService/importSorter.js.map +1 -1
  118. package/dist/languageService/referencesProvider.d.ts +10 -4
  119. package/dist/languageService/referencesProvider.js +30 -18
  120. package/dist/languageService/referencesProvider.js.map +1 -1
  121. package/dist/languageService/renameProvider.js +21 -4
  122. package/dist/languageService/renameProvider.js.map +1 -1
  123. package/dist/languageService/signatureHelpProvider.d.ts +1 -1
  124. package/dist/languageService/signatureHelpProvider.js +6 -6
  125. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  126. package/dist/languageService/symbolIndexer.js +3 -3
  127. package/dist/languageService/symbolIndexer.js.map +1 -1
  128. package/dist/languageService/tooltipUtils.js +13 -13
  129. package/dist/languageService/tooltipUtils.js.map +1 -1
  130. package/dist/localization/localize.d.ts +4 -3
  131. package/dist/localization/localize.js +2 -1
  132. package/dist/localization/localize.js.map +1 -1
  133. package/dist/localization/package.nls.cs.json +0 -1
  134. package/dist/localization/package.nls.de.json +0 -1
  135. package/dist/localization/package.nls.en-us.json +2 -1
  136. package/dist/localization/package.nls.es.json +0 -1
  137. package/dist/localization/package.nls.fr.json +0 -1
  138. package/dist/localization/package.nls.it.json +0 -1
  139. package/dist/localization/package.nls.ja.json +0 -1
  140. package/dist/localization/package.nls.ko.json +0 -1
  141. package/dist/localization/package.nls.pl.json +0 -1
  142. package/dist/localization/package.nls.pt-br.json +0 -1
  143. package/dist/localization/package.nls.qps-ploc.json +0 -1
  144. package/dist/localization/package.nls.ru.json +0 -1
  145. package/dist/localization/package.nls.tr.json +0 -1
  146. package/dist/localization/package.nls.zh-cn.json +0 -1
  147. package/dist/localization/package.nls.zh-tw.json +0 -1
  148. package/dist/parser/parseNodes.d.ts +471 -402
  149. package/dist/parser/parseNodes.js +629 -356
  150. package/dist/parser/parseNodes.js.map +1 -1
  151. package/dist/parser/parser.d.ts +1 -0
  152. package/dist/parser/parser.js +345 -300
  153. package/dist/parser/parser.js.map +1 -1
  154. package/dist/tests/classDeclaration.test.js +14 -14
  155. package/dist/tests/classDeclaration.test.js.map +1 -1
  156. package/dist/tests/fourslash/rename.args.fourslash.d.ts +1 -0
  157. package/dist/tests/fourslash/rename.args.fourslash.js +71 -0
  158. package/dist/tests/fourslash/rename.args.fourslash.js.map +1 -0
  159. package/dist/tests/harness/vfs/filesystem.d.ts +3 -2
  160. package/dist/tests/harness/vfs/filesystem.js +6 -2
  161. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  162. package/dist/tests/importResolver.test.js +4 -3
  163. package/dist/tests/importResolver.test.js.map +1 -1
  164. package/dist/tests/parseTreeUtils.test.js +5 -5
  165. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  166. package/dist/tests/parser.test.js +8 -8
  167. package/dist/tests/parser.test.js.map +1 -1
  168. package/dist/tests/sourceMapperUtils.test.js +7 -7
  169. package/dist/tests/sourceMapperUtils.test.js.map +1 -1
  170. package/dist/tests/typeEvaluator1.test.js +17 -0
  171. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  172. package/dist/tests/typeEvaluator2.test.js +4 -0
  173. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  174. package/dist/tests/typeEvaluator3.test.js +8 -3
  175. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  176. package/dist/tests/typeEvaluator4.test.js +10 -6
  177. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  178. package/dist/tests/typeEvaluator6.test.js +6 -2
  179. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  180. package/dist/tests/typeEvaluator7.test.js +7 -3
  181. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  182. package/dist/tests/typePrinter.test.js +14 -39
  183. package/dist/tests/typePrinter.test.js.map +1 -1
  184. package/package.json +1 -1
@@ -9,7 +9,7 @@
9
9
  * syntax tree (AST).
10
10
  */
11
11
  Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.NumberNode = exports.EllipsisNode = exports.ConstantNode = exports.NameNode = exports.LambdaNode = exports.MemberAccessNode = exports.YieldFromNode = exports.YieldNode = exports.SliceNode = exports.IndexNode = exports.ComprehensionNode = exports.CallNode = exports.TupleNode = exports.UnpackNode = exports.TernaryNode = exports.AwaitNode = exports.AugmentedAssignmentNode = exports.FunctionAnnotationNode = exports.TypeAnnotationNode = exports.TypeAliasNode = exports.TypeParameterListNode = exports.TypeParameterNode = exports.TypeParameterCategory = exports.AssignmentNode = exports.AssignmentExpressionNode = exports.BinaryOperationNode = exports.UnaryOperationNode = exports.ErrorNode = exports.isExpressionNode = exports.StatementListNode = exports.DecoratorNode = exports.WithItemNode = exports.WithNode = exports.ClassNode = exports.ParameterNode = exports.ParameterCategory = exports.FunctionNode = exports.ExceptNode = exports.TryNode = exports.ComprehensionIfNode = exports.ComprehensionForNode = exports.ForNode = exports.WhileNode = exports.IfNode = exports.SuiteNode = exports.ModuleNode = exports.extendRange = exports.getNextNodeId = exports.ErrorExpressionCategory = exports.ParseNodeType = void 0;
12
+ exports.NumberNode = exports.EllipsisNode = exports.ConstantNode = exports.NameNode = exports.LambdaNode = exports.MemberAccessNode = exports.YieldFromNode = exports.YieldNode = exports.SliceNode = exports.IndexNode = exports.ComprehensionNode = exports.CallNode = exports.TupleNode = exports.UnpackNode = exports.TernaryNode = exports.AwaitNode = exports.AugmentedAssignmentNode = exports.FunctionAnnotationNode = exports.TypeAnnotationNode = exports.TypeAliasNode = exports.TypeParameterListNode = exports.TypeParameterNode = exports.TypeParameterKind = exports.AssignmentNode = exports.AssignmentExpressionNode = exports.BinaryOperationNode = exports.UnaryOperationNode = exports.ErrorNode = exports.isExpressionNode = exports.StatementListNode = exports.DecoratorNode = exports.WithItemNode = exports.WithNode = exports.ClassNode = exports.ParameterNode = exports.ParameterCategory = exports.FunctionNode = exports.ExceptNode = exports.TryNode = exports.ComprehensionIfNode = exports.ComprehensionForNode = exports.ForNode = exports.WhileNode = exports.IfNode = exports.SuiteNode = exports.ModuleNode = exports.extendRange = exports.getNextNodeId = exports.ErrorExpressionCategory = exports.ParseNodeType = void 0;
13
13
  exports.PatternValueNode = exports.PatternMappingExpandEntryNode = exports.PatternMappingKeyEntryNode = exports.PatternMappingNode = exports.PatternCaptureNode = exports.PatternClassArgumentNode = exports.PatternClassNode = exports.PatternLiteralNode = exports.PatternAsNode = exports.PatternSequenceNode = exports.CaseNode = exports.MatchNode = exports.RaiseNode = exports.ReturnNode = exports.ContinueNode = exports.BreakNode = exports.AssertNode = exports.NonlocalNode = exports.GlobalNode = exports.ImportFromAsNode = exports.ImportFromNode = exports.ImportAsNode = exports.ModuleNameNode = exports.ImportNode = exports.PassNode = exports.DelNode = exports.ArgumentNode = exports.ArgumentCategory = exports.ListNode = exports.SetNode = exports.DictionaryExpandEntryNode = exports.DictionaryKeyEntryNode = exports.DictionaryNode = exports.StringListNode = exports.FormatStringNode = exports.StringNode = void 0;
14
14
  const textRange_1 = require("../common/textRange");
15
15
  var ParseNodeType;
@@ -109,7 +109,8 @@ var ErrorExpressionCategory;
109
109
  ErrorExpressionCategory[ErrorExpressionCategory["MissingPattern"] = 11] = "MissingPattern";
110
110
  ErrorExpressionCategory[ErrorExpressionCategory["MissingPatternSubject"] = 12] = "MissingPatternSubject";
111
111
  ErrorExpressionCategory[ErrorExpressionCategory["MissingDictValue"] = 13] = "MissingDictValue";
112
- ErrorExpressionCategory[ErrorExpressionCategory["MaxDepthExceeded"] = 14] = "MaxDepthExceeded";
112
+ ErrorExpressionCategory[ErrorExpressionCategory["MissingKeywordArgValue"] = 14] = "MissingKeywordArgValue";
113
+ ErrorExpressionCategory[ErrorExpressionCategory["MaxDepthExceeded"] = 15] = "MaxDepthExceeded";
113
114
  })(ErrorExpressionCategory || (exports.ErrorExpressionCategory = ErrorExpressionCategory = {}));
114
115
  let _nextNodeId = 1;
115
116
  function getNextNodeId() {
@@ -119,9 +120,8 @@ exports.getNextNodeId = getNextNodeId;
119
120
  function extendRange(node, newRange) {
120
121
  const extendedRange = textRange_1.TextRange.extend(node, newRange);
121
122
  // Temporarily allow writes to the range fields.
122
- const mutableNode = node;
123
- mutableNode.start = extendedRange.start;
124
- mutableNode.length = extendedRange.length;
123
+ node.start = extendedRange.start;
124
+ node.length = extendedRange.length;
125
125
  }
126
126
  exports.extendRange = extendRange;
127
127
  var ModuleNode;
@@ -132,7 +132,9 @@ var ModuleNode;
132
132
  length: range.length,
133
133
  nodeType: 36 /* ParseNodeType.Module */,
134
134
  id: _nextNodeId++,
135
- statements: [],
135
+ parent: undefined,
136
+ a: undefined,
137
+ d: { statements: [] },
136
138
  };
137
139
  return node;
138
140
  }
@@ -146,7 +148,12 @@ var SuiteNode;
146
148
  length: range.length,
147
149
  nodeType: 50 /* ParseNodeType.Suite */,
148
150
  id: _nextNodeId++,
149
- statements: [],
151
+ parent: undefined,
152
+ a: undefined,
153
+ d: {
154
+ statements: [],
155
+ typeComment: undefined,
156
+ },
150
157
  };
151
158
  return node;
152
159
  }
@@ -154,19 +161,23 @@ var SuiteNode;
154
161
  })(SuiteNode || (exports.SuiteNode = SuiteNode = {}));
155
162
  var IfNode;
156
163
  (function (IfNode) {
157
- function create(ifOrElifToken, testExpression, ifSuite, elseSuite) {
164
+ function create(ifOrElifToken, testExpr, ifSuite, elseSuite) {
158
165
  const node = {
159
166
  start: ifOrElifToken.start,
160
167
  length: ifOrElifToken.length,
161
168
  nodeType: 22 /* ParseNodeType.If */,
162
169
  id: _nextNodeId++,
163
- testExpression,
164
- ifSuite,
165
- elseSuite,
170
+ parent: undefined,
171
+ a: undefined,
172
+ d: {
173
+ testExpr,
174
+ ifSuite: ifSuite,
175
+ elseSuite: elseSuite,
176
+ },
166
177
  };
167
- testExpression.parent = node;
178
+ testExpr.parent = node;
168
179
  ifSuite.parent = node;
169
- extendRange(node, testExpression);
180
+ extendRange(node, testExpr);
170
181
  extendRange(node, ifSuite);
171
182
  if (elseSuite) {
172
183
  extendRange(node, elseSuite);
@@ -178,16 +189,20 @@ var IfNode;
178
189
  })(IfNode || (exports.IfNode = IfNode = {}));
179
190
  var WhileNode;
180
191
  (function (WhileNode) {
181
- function create(whileToken, testExpression, whileSuite) {
192
+ function create(whileToken, testExpr, whileSuite) {
182
193
  const node = {
183
194
  start: whileToken.start,
184
195
  length: whileToken.length,
185
196
  nodeType: 57 /* ParseNodeType.While */,
186
197
  id: _nextNodeId++,
187
- testExpression,
188
- whileSuite,
198
+ parent: undefined,
199
+ a: undefined,
200
+ d: {
201
+ testExpr,
202
+ whileSuite,
203
+ },
189
204
  };
190
- testExpression.parent = node;
205
+ testExpr.parent = node;
191
206
  whileSuite.parent = node;
192
207
  extendRange(node, whileSuite);
193
208
  return node;
@@ -196,18 +211,22 @@ var WhileNode;
196
211
  })(WhileNode || (exports.WhileNode = WhileNode = {}));
197
212
  var ForNode;
198
213
  (function (ForNode) {
199
- function create(forToken, targetExpression, iterableExpression, forSuite) {
214
+ function create(forToken, targetExpr, iterableExpr, forSuite) {
200
215
  const node = {
201
216
  start: forToken.start,
202
217
  length: forToken.length,
203
218
  nodeType: 29 /* ParseNodeType.For */,
204
219
  id: _nextNodeId++,
205
- targetExpression,
206
- iterableExpression,
207
- forSuite,
220
+ parent: undefined,
221
+ a: undefined,
222
+ d: {
223
+ targetExpr,
224
+ iterableExpr,
225
+ forSuite,
226
+ },
208
227
  };
209
- targetExpression.parent = node;
210
- iterableExpression.parent = node;
228
+ targetExpr.parent = node;
229
+ iterableExpr.parent = node;
211
230
  forSuite.parent = node;
212
231
  extendRange(node, forSuite);
213
232
  return node;
@@ -216,35 +235,41 @@ var ForNode;
216
235
  })(ForNode || (exports.ForNode = ForNode = {}));
217
236
  var ComprehensionForNode;
218
237
  (function (ComprehensionForNode) {
219
- function create(startToken, targetExpression, iterableExpression) {
238
+ function create(startToken, targetExpr, iterableExpr) {
220
239
  const node = {
221
240
  start: startToken.start,
222
241
  length: startToken.length,
223
242
  nodeType: 12 /* ParseNodeType.ComprehensionFor */,
224
243
  id: _nextNodeId++,
225
- targetExpression,
226
- iterableExpression,
244
+ parent: undefined,
245
+ a: undefined,
246
+ d: {
247
+ targetExpr,
248
+ iterableExpr,
249
+ },
227
250
  };
228
- targetExpression.parent = node;
229
- iterableExpression.parent = node;
230
- extendRange(node, targetExpression);
231
- extendRange(node, iterableExpression);
251
+ targetExpr.parent = node;
252
+ iterableExpr.parent = node;
253
+ extendRange(node, targetExpr);
254
+ extendRange(node, iterableExpr);
232
255
  return node;
233
256
  }
234
257
  ComprehensionForNode.create = create;
235
258
  })(ComprehensionForNode || (exports.ComprehensionForNode = ComprehensionForNode = {}));
236
259
  var ComprehensionIfNode;
237
260
  (function (ComprehensionIfNode) {
238
- function create(ifToken, testExpression) {
261
+ function create(ifToken, testExpr) {
239
262
  const node = {
240
263
  start: ifToken.start,
241
264
  length: ifToken.length,
242
265
  nodeType: 13 /* ParseNodeType.ComprehensionIf */,
243
266
  id: _nextNodeId++,
244
- testExpression,
267
+ parent: undefined,
268
+ a: undefined,
269
+ d: { testExpr },
245
270
  };
246
- testExpression.parent = node;
247
- extendRange(node, testExpression);
271
+ testExpr.parent = node;
272
+ extendRange(node, testExpr);
248
273
  return node;
249
274
  }
250
275
  ComprehensionIfNode.create = create;
@@ -257,8 +282,12 @@ var TryNode;
257
282
  length: tryToken.length,
258
283
  nodeType: 53 /* ParseNodeType.Try */,
259
284
  id: _nextNodeId++,
260
- trySuite,
261
- exceptClauses: [],
285
+ parent: undefined,
286
+ a: undefined,
287
+ d: {
288
+ trySuite: trySuite,
289
+ exceptClauses: [],
290
+ },
262
291
  };
263
292
  trySuite.parent = node;
264
293
  extendRange(node, trySuite);
@@ -274,8 +303,12 @@ var ExceptNode;
274
303
  length: exceptToken.length,
275
304
  nodeType: 28 /* ParseNodeType.Except */,
276
305
  id: _nextNodeId++,
277
- exceptSuite,
278
- isExceptGroup,
306
+ parent: undefined,
307
+ a: undefined,
308
+ d: {
309
+ exceptSuite: exceptSuite,
310
+ isExceptGroup: isExceptGroup,
311
+ },
279
312
  };
280
313
  exceptSuite.parent = node;
281
314
  extendRange(node, exceptSuite);
@@ -285,22 +318,29 @@ var ExceptNode;
285
318
  })(ExceptNode || (exports.ExceptNode = ExceptNode = {}));
286
319
  var FunctionNode;
287
320
  (function (FunctionNode) {
288
- function create(defToken, name, suite, typeParameters) {
321
+ function create(defToken, name, suite, typeParams) {
289
322
  const node = {
290
323
  start: defToken.start,
291
324
  length: defToken.length,
292
325
  nodeType: 31 /* ParseNodeType.Function */,
293
326
  id: _nextNodeId++,
294
- decorators: [],
295
- name,
296
- typeParameters,
297
- parameters: [],
298
- suite,
327
+ parent: undefined,
328
+ a: undefined,
329
+ d: {
330
+ decorators: [],
331
+ isAsync: false,
332
+ name: name,
333
+ typeParams,
334
+ params: [],
335
+ returnAnnotation: undefined,
336
+ funcAnnotationComment: undefined,
337
+ suite: suite,
338
+ },
299
339
  };
300
340
  name.parent = node;
301
341
  suite.parent = node;
302
- if (typeParameters) {
303
- typeParameters.parent = node;
342
+ if (typeParams) {
343
+ typeParams.parent = node;
304
344
  }
305
345
  extendRange(node, suite);
306
346
  return node;
@@ -321,7 +361,15 @@ var ParameterNode;
321
361
  length: startToken.length,
322
362
  nodeType: 41 /* ParseNodeType.Parameter */,
323
363
  id: _nextNodeId++,
324
- category: paramCategory,
364
+ parent: undefined,
365
+ a: undefined,
366
+ d: {
367
+ category: paramCategory,
368
+ name: undefined,
369
+ annotation: undefined,
370
+ annotationComment: undefined,
371
+ defaultValue: undefined,
372
+ },
325
373
  };
326
374
  return node;
327
375
  }
@@ -329,22 +377,26 @@ var ParameterNode;
329
377
  })(ParameterNode || (exports.ParameterNode = ParameterNode = {}));
330
378
  var ClassNode;
331
379
  (function (ClassNode) {
332
- function create(classToken, name, suite, typeParameters) {
380
+ function create(classToken, name, suite, typeParams) {
333
381
  const node = {
334
382
  start: classToken.start,
335
383
  length: classToken.length,
336
384
  nodeType: 10 /* ParseNodeType.Class */,
337
385
  id: _nextNodeId++,
338
- decorators: [],
339
- name,
340
- typeParameters,
341
- arguments: [],
342
- suite,
386
+ parent: undefined,
387
+ a: undefined,
388
+ d: {
389
+ decorators: [],
390
+ name: name,
391
+ typeParams,
392
+ arguments: [],
393
+ suite: suite,
394
+ },
343
395
  };
344
396
  name.parent = node;
345
397
  suite.parent = node;
346
- if (typeParameters) {
347
- typeParameters.parent = node;
398
+ if (typeParams) {
399
+ typeParams.parent = node;
348
400
  }
349
401
  extendRange(node, suite);
350
402
  return node;
@@ -359,36 +411,47 @@ var ClassNode;
359
411
  length: 0,
360
412
  nodeType: 10 /* ParseNodeType.Class */,
361
413
  id: _nextNodeId++,
362
- decorators,
363
- name: {
364
- start: decorators[0].start,
365
- length: 0,
366
- id: 0,
367
- nodeType: 38 /* ParseNodeType.Name */,
368
- token: {
369
- type: 7 /* TokenType.Identifier */,
370
- start: 0,
414
+ parent: undefined,
415
+ a: undefined,
416
+ d: {
417
+ decorators,
418
+ name: {
419
+ start: decorators[0].start,
371
420
  length: 0,
372
- comments: [],
373
- value: '',
421
+ nodeType: 38 /* ParseNodeType.Name */,
422
+ id: 0,
423
+ parent: undefined,
424
+ a: undefined,
425
+ d: {
426
+ token: {
427
+ type: 7 /* TokenType.Identifier */,
428
+ start: 0,
429
+ length: 0,
430
+ comments: [],
431
+ value: '',
432
+ },
433
+ value: '',
434
+ },
435
+ },
436
+ typeParams: undefined,
437
+ arguments: [],
438
+ suite: {
439
+ start: decorators[0].start,
440
+ length: 0,
441
+ nodeType: 50 /* ParseNodeType.Suite */,
442
+ id: 0,
443
+ parent: undefined,
444
+ a: undefined,
445
+ d: { statements: [], typeComment: undefined },
374
446
  },
375
- value: '',
376
- },
377
- arguments: [],
378
- suite: {
379
- start: decorators[0].start,
380
- length: 0,
381
- id: 0,
382
- nodeType: 50 /* ParseNodeType.Suite */,
383
- statements: [],
384
447
  },
385
448
  };
386
449
  decorators.forEach((decorator) => {
387
450
  decorator.parent = node;
388
451
  extendRange(node, decorator);
389
452
  });
390
- node.name.parent = node;
391
- node.suite.parent = node;
453
+ node.d.name.parent = node;
454
+ node.d.suite.parent = node;
392
455
  return node;
393
456
  }
394
457
  ClassNode.createDummyForDecorators = createDummyForDecorators;
@@ -401,8 +464,12 @@ var WithNode;
401
464
  length: withToken.length,
402
465
  nodeType: 58 /* ParseNodeType.With */,
403
466
  id: _nextNodeId++,
404
- withItems: [],
405
- suite,
467
+ parent: undefined,
468
+ a: undefined,
469
+ d: {
470
+ withItems: [],
471
+ suite: suite,
472
+ },
406
473
  };
407
474
  suite.parent = node;
408
475
  extendRange(node, suite);
@@ -412,31 +479,35 @@ var WithNode;
412
479
  })(WithNode || (exports.WithNode = WithNode = {}));
413
480
  var WithItemNode;
414
481
  (function (WithItemNode) {
415
- function create(expression) {
482
+ function create(expr) {
416
483
  const node = {
417
- start: expression.start,
418
- length: expression.length,
484
+ start: expr.start,
485
+ length: expr.length,
419
486
  nodeType: 59 /* ParseNodeType.WithItem */,
420
487
  id: _nextNodeId++,
421
- expression,
488
+ parent: undefined,
489
+ a: undefined,
490
+ d: { expr },
422
491
  };
423
- expression.parent = node;
492
+ expr.parent = node;
424
493
  return node;
425
494
  }
426
495
  WithItemNode.create = create;
427
496
  })(WithItemNode || (exports.WithItemNode = WithItemNode = {}));
428
497
  var DecoratorNode;
429
498
  (function (DecoratorNode) {
430
- function create(atToken, expression) {
499
+ function create(atToken, expr) {
431
500
  const node = {
432
501
  start: atToken.start,
433
502
  length: atToken.length,
434
503
  nodeType: 16 /* ParseNodeType.Decorator */,
435
504
  id: _nextNodeId++,
436
- expression,
505
+ parent: undefined,
506
+ a: undefined,
507
+ d: { expr },
437
508
  };
438
- expression.parent = node;
439
- extendRange(node, expression);
509
+ expr.parent = node;
510
+ extendRange(node, expr);
440
511
  return node;
441
512
  }
442
513
  DecoratorNode.create = create;
@@ -449,7 +520,9 @@ var StatementListNode;
449
520
  length: atToken.length,
450
521
  nodeType: 47 /* ParseNodeType.StatementList */,
451
522
  id: _nextNodeId++,
452
- statements: [],
523
+ parent: undefined,
524
+ a: undefined,
525
+ d: { statements: [] },
453
526
  };
454
527
  return node;
455
528
  }
@@ -498,9 +571,13 @@ var ErrorNode;
498
571
  length: initialRange.length,
499
572
  nodeType: 0 /* ParseNodeType.Error */,
500
573
  id: _nextNodeId++,
501
- category,
502
- child,
503
- decorators,
574
+ parent: undefined,
575
+ a: undefined,
576
+ d: {
577
+ category,
578
+ child,
579
+ decorators,
580
+ },
504
581
  };
505
582
  if (child) {
506
583
  child.parent = node;
@@ -520,111 +597,129 @@ var ErrorNode;
520
597
  })(ErrorNode || (exports.ErrorNode = ErrorNode = {}));
521
598
  var UnaryOperationNode;
522
599
  (function (UnaryOperationNode) {
523
- function create(operatorToken, expression, operator) {
524
- var _a;
600
+ function create(operatorToken, expr, operator) {
525
601
  const node = {
526
602
  start: operatorToken.start,
527
603
  length: operatorToken.length,
528
604
  nodeType: 55 /* ParseNodeType.UnaryOperation */,
529
605
  id: _nextNodeId++,
530
- operator,
531
- operatorToken,
532
- expression,
606
+ parent: undefined,
607
+ a: undefined,
608
+ d: {
609
+ operator,
610
+ operatorToken,
611
+ expr,
612
+ hasParens: false,
613
+ },
533
614
  };
534
- expression.parent = node;
535
- node.maxChildDepth = 1 + ((_a = expression.maxChildDepth) !== null && _a !== void 0 ? _a : 0);
536
- extendRange(node, expression);
615
+ expr.parent = node;
616
+ extendRange(node, expr);
537
617
  return node;
538
618
  }
539
619
  UnaryOperationNode.create = create;
540
620
  })(UnaryOperationNode || (exports.UnaryOperationNode = UnaryOperationNode = {}));
541
621
  var BinaryOperationNode;
542
622
  (function (BinaryOperationNode) {
543
- function create(leftExpression, rightExpression, operatorToken, operator) {
544
- var _a, _b;
623
+ function create(leftExpr, rightExpr, operatorToken, operator) {
545
624
  const node = {
546
- start: leftExpression.start,
547
- length: leftExpression.length,
625
+ start: leftExpr.start,
626
+ length: leftExpr.length,
548
627
  nodeType: 7 /* ParseNodeType.BinaryOperation */,
549
628
  id: _nextNodeId++,
550
- leftExpression,
551
- operatorToken,
552
- operator,
553
- rightExpression,
629
+ parent: undefined,
630
+ a: undefined,
631
+ d: {
632
+ leftExpr,
633
+ operatorToken,
634
+ operator,
635
+ rightExpr,
636
+ hasParens: false,
637
+ },
554
638
  };
555
- leftExpression.parent = node;
556
- rightExpression.parent = node;
557
- node.maxChildDepth = 1 + Math.max((_a = leftExpression.maxChildDepth) !== null && _a !== void 0 ? _a : 0, (_b = rightExpression.maxChildDepth) !== null && _b !== void 0 ? _b : 0);
558
- extendRange(node, rightExpression);
639
+ leftExpr.parent = node;
640
+ rightExpr.parent = node;
641
+ extendRange(node, rightExpr);
559
642
  return node;
560
643
  }
561
644
  BinaryOperationNode.create = create;
562
645
  })(BinaryOperationNode || (exports.BinaryOperationNode = BinaryOperationNode = {}));
563
646
  var AssignmentExpressionNode;
564
647
  (function (AssignmentExpressionNode) {
565
- function create(name, walrusToken, rightExpression) {
648
+ function create(name, walrusToken, rightExpr) {
566
649
  const node = {
567
650
  start: name.start,
568
651
  length: name.length,
569
652
  nodeType: 4 /* ParseNodeType.AssignmentExpression */,
570
653
  id: _nextNodeId++,
571
- name,
572
- walrusToken,
573
- rightExpression,
574
- isParenthesized: false,
654
+ parent: undefined,
655
+ a: undefined,
656
+ d: {
657
+ name,
658
+ walrusToken,
659
+ rightExpr,
660
+ hasParens: false,
661
+ },
575
662
  };
576
663
  name.parent = node;
577
- rightExpression.parent = node;
578
- extendRange(node, rightExpression);
664
+ rightExpr.parent = node;
665
+ extendRange(node, rightExpr);
579
666
  return node;
580
667
  }
581
668
  AssignmentExpressionNode.create = create;
582
669
  })(AssignmentExpressionNode || (exports.AssignmentExpressionNode = AssignmentExpressionNode = {}));
583
670
  var AssignmentNode;
584
671
  (function (AssignmentNode) {
585
- function create(leftExpression, rightExpression) {
672
+ function create(leftExpr, rightExpr) {
586
673
  const node = {
587
- start: leftExpression.start,
588
- length: leftExpression.length,
674
+ start: leftExpr.start,
675
+ length: leftExpr.length,
589
676
  nodeType: 3 /* ParseNodeType.Assignment */,
590
677
  id: _nextNodeId++,
591
- leftExpression,
592
- rightExpression,
678
+ parent: undefined,
679
+ a: undefined,
680
+ d: {
681
+ leftExpr,
682
+ rightExpr,
683
+ },
593
684
  };
594
- leftExpression.parent = node;
595
- rightExpression.parent = node;
596
- extendRange(node, rightExpression);
685
+ leftExpr.parent = node;
686
+ rightExpr.parent = node;
687
+ extendRange(node, rightExpr);
597
688
  return node;
598
689
  }
599
690
  AssignmentNode.create = create;
600
691
  })(AssignmentNode || (exports.AssignmentNode = AssignmentNode = {}));
601
- var TypeParameterCategory;
602
- (function (TypeParameterCategory) {
603
- TypeParameterCategory[TypeParameterCategory["TypeVar"] = 0] = "TypeVar";
604
- TypeParameterCategory[TypeParameterCategory["TypeVarTuple"] = 1] = "TypeVarTuple";
605
- TypeParameterCategory[TypeParameterCategory["ParamSpec"] = 2] = "ParamSpec";
606
- })(TypeParameterCategory || (exports.TypeParameterCategory = TypeParameterCategory = {}));
692
+ var TypeParameterKind;
693
+ (function (TypeParameterKind) {
694
+ TypeParameterKind[TypeParameterKind["TypeVar"] = 0] = "TypeVar";
695
+ TypeParameterKind[TypeParameterKind["TypeVarTuple"] = 1] = "TypeVarTuple";
696
+ TypeParameterKind[TypeParameterKind["ParamSpec"] = 2] = "ParamSpec";
697
+ })(TypeParameterKind || (exports.TypeParameterKind = TypeParameterKind = {}));
607
698
  var TypeParameterNode;
608
699
  (function (TypeParameterNode) {
609
- function create(name, typeParamCategory, boundExpression, defaultExpression) {
700
+ function create(name, typeParamKind, boundExpr, defaultExpr) {
610
701
  const node = {
611
702
  start: name.start,
612
703
  length: name.length,
613
704
  nodeType: 75 /* ParseNodeType.TypeParameter */,
614
705
  id: _nextNodeId++,
615
- name,
616
- typeParamCategory,
617
- boundExpression,
618
- defaultExpression,
706
+ parent: undefined,
707
+ a: undefined,
708
+ d: {
709
+ name,
710
+ typeParamKind,
711
+ boundExpr,
712
+ defaultExpr,
713
+ },
619
714
  };
620
715
  name.parent = node;
621
- if (boundExpression) {
622
- boundExpression.parent = node;
623
- extendRange(node, boundExpression);
716
+ if (boundExpr) {
717
+ boundExpr.parent = node;
718
+ extendRange(node, boundExpr);
624
719
  }
625
- if (defaultExpression) {
626
- defaultExpression.parent = node;
627
- extendRange(node, defaultExpression);
720
+ if (defaultExpr) {
721
+ defaultExpr.parent = node;
722
+ extendRange(node, defaultExpr);
628
723
  }
629
724
  return node;
630
725
  }
@@ -632,16 +727,18 @@ var TypeParameterNode;
632
727
  })(TypeParameterNode || (exports.TypeParameterNode = TypeParameterNode = {}));
633
728
  var TypeParameterListNode;
634
729
  (function (TypeParameterListNode) {
635
- function create(startToken, endToken, parameters) {
730
+ function create(startToken, endToken, params) {
636
731
  const node = {
637
732
  start: startToken.start,
638
733
  length: startToken.length,
639
734
  nodeType: 76 /* ParseNodeType.TypeParameterList */,
640
735
  id: _nextNodeId++,
641
- parameters,
736
+ parent: undefined,
737
+ a: undefined,
738
+ d: { params },
642
739
  };
643
740
  extendRange(node, endToken);
644
- parameters.forEach((param) => {
741
+ params.forEach((param) => {
645
742
  extendRange(node, param);
646
743
  param.parent = node;
647
744
  });
@@ -651,149 +748,179 @@ var TypeParameterListNode;
651
748
  })(TypeParameterListNode || (exports.TypeParameterListNode = TypeParameterListNode = {}));
652
749
  var TypeAliasNode;
653
750
  (function (TypeAliasNode) {
654
- function create(typeToken, name, expression, typeParameters) {
751
+ function create(typeToken, name, expr, typeParams) {
655
752
  const node = {
656
753
  start: typeToken.start,
657
754
  length: typeToken.length,
658
755
  nodeType: 77 /* ParseNodeType.TypeAlias */,
659
756
  id: _nextNodeId++,
660
- name,
661
- typeParameters,
662
- expression,
757
+ parent: undefined,
758
+ a: undefined,
759
+ d: {
760
+ name,
761
+ typeParams,
762
+ expr,
763
+ },
663
764
  };
664
765
  name.parent = node;
665
- expression.parent = node;
666
- if (typeParameters) {
667
- typeParameters.parent = node;
766
+ expr.parent = node;
767
+ if (typeParams) {
768
+ typeParams.parent = node;
668
769
  }
669
- extendRange(node, expression);
770
+ extendRange(node, expr);
670
771
  return node;
671
772
  }
672
773
  TypeAliasNode.create = create;
673
774
  })(TypeAliasNode || (exports.TypeAliasNode = TypeAliasNode = {}));
674
775
  var TypeAnnotationNode;
675
776
  (function (TypeAnnotationNode) {
676
- function create(valueExpression, typeAnnotation) {
777
+ function create(valueExpr, annotation) {
677
778
  const node = {
678
- start: valueExpression.start,
679
- length: valueExpression.length,
779
+ start: valueExpr.start,
780
+ length: valueExpr.length,
680
781
  nodeType: 54 /* ParseNodeType.TypeAnnotation */,
681
782
  id: _nextNodeId++,
682
- valueExpression,
683
- typeAnnotation,
783
+ parent: undefined,
784
+ a: undefined,
785
+ d: {
786
+ valueExpr,
787
+ annotation,
788
+ },
684
789
  };
685
- valueExpression.parent = node;
686
- typeAnnotation.parent = node;
687
- extendRange(node, typeAnnotation);
790
+ valueExpr.parent = node;
791
+ annotation.parent = node;
792
+ extendRange(node, annotation);
688
793
  return node;
689
794
  }
690
795
  TypeAnnotationNode.create = create;
691
796
  })(TypeAnnotationNode || (exports.TypeAnnotationNode = TypeAnnotationNode = {}));
692
797
  var FunctionAnnotationNode;
693
798
  (function (FunctionAnnotationNode) {
694
- function create(openParenToken, isParamListEllipsis, paramTypeAnnotations, returnTypeAnnotation) {
799
+ function create(openParenToken, isEllipsis, paramAnnotations, returnAnnotation) {
695
800
  const node = {
696
801
  start: openParenToken.start,
697
802
  length: openParenToken.length,
698
803
  nodeType: 62 /* ParseNodeType.FunctionAnnotation */,
699
804
  id: _nextNodeId++,
700
- isParamListEllipsis,
701
- paramTypeAnnotations,
702
- returnTypeAnnotation,
805
+ parent: undefined,
806
+ a: undefined,
807
+ d: {
808
+ isEllipsis,
809
+ paramAnnotations,
810
+ returnAnnotation,
811
+ },
703
812
  };
704
- paramTypeAnnotations.forEach((p) => {
813
+ paramAnnotations.forEach((p) => {
705
814
  p.parent = node;
706
815
  });
707
- returnTypeAnnotation.parent = node;
708
- extendRange(node, returnTypeAnnotation);
816
+ returnAnnotation.parent = node;
817
+ extendRange(node, returnAnnotation);
709
818
  return node;
710
819
  }
711
820
  FunctionAnnotationNode.create = create;
712
821
  })(FunctionAnnotationNode || (exports.FunctionAnnotationNode = FunctionAnnotationNode = {}));
713
822
  var AugmentedAssignmentNode;
714
823
  (function (AugmentedAssignmentNode) {
715
- function create(leftExpression, rightExpression, operator, destExpression) {
824
+ function create(leftExpr, rightExpr, operator, destExpr) {
716
825
  const node = {
717
- start: leftExpression.start,
718
- length: leftExpression.length,
826
+ start: leftExpr.start,
827
+ length: leftExpr.length,
719
828
  nodeType: 5 /* ParseNodeType.AugmentedAssignment */,
720
829
  id: _nextNodeId++,
721
- leftExpression,
722
- operator,
723
- rightExpression,
724
- destExpression,
830
+ parent: undefined,
831
+ a: undefined,
832
+ d: {
833
+ leftExpr,
834
+ operator,
835
+ rightExpr,
836
+ destExpr,
837
+ },
725
838
  };
726
- leftExpression.parent = node;
727
- rightExpression.parent = node;
728
- destExpression.parent = node;
729
- extendRange(node, rightExpression);
839
+ leftExpr.parent = node;
840
+ rightExpr.parent = node;
841
+ destExpr.parent = node;
842
+ extendRange(node, rightExpr);
730
843
  return node;
731
844
  }
732
845
  AugmentedAssignmentNode.create = create;
733
846
  })(AugmentedAssignmentNode || (exports.AugmentedAssignmentNode = AugmentedAssignmentNode = {}));
734
847
  var AwaitNode;
735
848
  (function (AwaitNode) {
736
- function create(awaitToken, expression) {
849
+ function create(awaitToken, expr) {
737
850
  const node = {
738
851
  start: awaitToken.start,
739
852
  length: awaitToken.length,
740
853
  nodeType: 6 /* ParseNodeType.Await */,
741
854
  id: _nextNodeId++,
742
- expression,
855
+ parent: undefined,
856
+ a: undefined,
857
+ d: { expr },
743
858
  };
744
- expression.parent = node;
745
- extendRange(node, expression);
859
+ expr.parent = node;
860
+ extendRange(node, expr);
746
861
  return node;
747
862
  }
748
863
  AwaitNode.create = create;
749
864
  })(AwaitNode || (exports.AwaitNode = AwaitNode = {}));
750
865
  var TernaryNode;
751
866
  (function (TernaryNode) {
752
- function create(ifExpression, testExpression, elseExpression) {
867
+ function create(ifExpr, testExpr, elseExpr) {
753
868
  const node = {
754
- start: ifExpression.start,
755
- length: ifExpression.length,
869
+ start: ifExpr.start,
870
+ length: ifExpr.length,
756
871
  nodeType: 51 /* ParseNodeType.Ternary */,
757
872
  id: _nextNodeId++,
758
- ifExpression,
759
- testExpression,
760
- elseExpression,
873
+ parent: undefined,
874
+ a: undefined,
875
+ d: {
876
+ ifExpr,
877
+ testExpr,
878
+ elseExpr,
879
+ },
761
880
  };
762
- ifExpression.parent = node;
763
- testExpression.parent = node;
764
- elseExpression.parent = node;
765
- extendRange(node, elseExpression);
881
+ ifExpr.parent = node;
882
+ testExpr.parent = node;
883
+ elseExpr.parent = node;
884
+ extendRange(node, elseExpr);
766
885
  return node;
767
886
  }
768
887
  TernaryNode.create = create;
769
888
  })(TernaryNode || (exports.TernaryNode = TernaryNode = {}));
770
889
  var UnpackNode;
771
890
  (function (UnpackNode) {
772
- function create(starToken, expression) {
891
+ function create(starToken, expr) {
773
892
  const node = {
774
- starToken,
775
893
  start: starToken.start,
776
894
  length: starToken.length,
777
895
  nodeType: 56 /* ParseNodeType.Unpack */,
778
896
  id: _nextNodeId++,
779
- expression,
897
+ parent: undefined,
898
+ a: undefined,
899
+ d: {
900
+ expr,
901
+ starToken,
902
+ },
780
903
  };
781
- expression.parent = node;
782
- extendRange(node, expression);
904
+ expr.parent = node;
905
+ extendRange(node, expr);
783
906
  return node;
784
907
  }
785
908
  UnpackNode.create = create;
786
909
  })(UnpackNode || (exports.UnpackNode = UnpackNode = {}));
787
910
  var TupleNode;
788
911
  (function (TupleNode) {
789
- function create(range, enclosedInParens) {
912
+ function create(range, hasParens) {
790
913
  const node = {
791
914
  start: range.start,
792
915
  length: range.length,
793
916
  nodeType: 52 /* ParseNodeType.Tuple */,
794
917
  id: _nextNodeId++,
795
- expressions: [],
796
- enclosedInParens,
918
+ parent: undefined,
919
+ a: undefined,
920
+ d: {
921
+ items: [],
922
+ hasParens,
923
+ },
797
924
  };
798
925
  return node;
799
926
  }
@@ -801,24 +928,26 @@ var TupleNode;
801
928
  })(TupleNode || (exports.TupleNode = TupleNode = {}));
802
929
  var CallNode;
803
930
  (function (CallNode) {
804
- function create(leftExpression, argList, trailingComma) {
805
- var _a;
931
+ function create(leftExpr, args, trailingComma) {
806
932
  const node = {
807
- start: leftExpression.start,
808
- length: leftExpression.length,
933
+ start: leftExpr.start,
934
+ length: leftExpr.length,
809
935
  nodeType: 9 /* ParseNodeType.Call */,
810
936
  id: _nextNodeId++,
811
- leftExpression,
812
- arguments: argList,
813
- trailingComma,
937
+ parent: undefined,
938
+ a: undefined,
939
+ d: {
940
+ leftExpr,
941
+ args,
942
+ trailingComma,
943
+ },
814
944
  };
815
- leftExpression.parent = node;
816
- node.maxChildDepth = 1 + ((_a = leftExpression.maxChildDepth) !== null && _a !== void 0 ? _a : 0);
817
- if (argList.length > 0) {
818
- argList.forEach((arg) => {
945
+ leftExpr.parent = node;
946
+ if (args.length > 0) {
947
+ args.forEach((arg) => {
819
948
  arg.parent = node;
820
949
  });
821
- extendRange(node, argList[argList.length - 1]);
950
+ extendRange(node, args[args.length - 1]);
822
951
  }
823
952
  return node;
824
953
  }
@@ -826,40 +955,46 @@ var CallNode;
826
955
  })(CallNode || (exports.CallNode = CallNode = {}));
827
956
  var ComprehensionNode;
828
957
  (function (ComprehensionNode) {
829
- function create(expression, isGenerator) {
958
+ function create(expr, isGenerator) {
830
959
  const node = {
831
- start: expression.start,
832
- length: expression.length,
960
+ start: expr.start,
961
+ length: expr.length,
833
962
  nodeType: 11 /* ParseNodeType.Comprehension */,
834
963
  id: _nextNodeId++,
835
- expression,
836
- forIfNodes: [],
837
- isGenerator,
964
+ parent: undefined,
965
+ a: undefined,
966
+ d: {
967
+ expr,
968
+ forIfNodes: [],
969
+ isGenerator,
970
+ },
838
971
  };
839
- expression.parent = node;
972
+ expr.parent = node;
840
973
  return node;
841
974
  }
842
975
  ComprehensionNode.create = create;
843
976
  })(ComprehensionNode || (exports.ComprehensionNode = ComprehensionNode = {}));
844
977
  var IndexNode;
845
978
  (function (IndexNode) {
846
- function create(baseExpression, items, trailingComma, closeBracketToken) {
847
- var _a;
979
+ function create(leftExpr, items, trailingComma, closeBracketToken) {
848
980
  const node = {
849
- start: baseExpression.start,
850
- length: baseExpression.length,
981
+ start: leftExpr.start,
982
+ length: leftExpr.length,
851
983
  nodeType: 27 /* ParseNodeType.Index */,
852
984
  id: _nextNodeId++,
853
- baseExpression,
854
- items,
855
- trailingComma,
985
+ parent: undefined,
986
+ a: undefined,
987
+ d: {
988
+ leftExpr,
989
+ items,
990
+ trailingComma,
991
+ },
856
992
  };
857
- baseExpression.parent = node;
993
+ leftExpr.parent = node;
858
994
  items.forEach((item) => {
859
995
  item.parent = node;
860
996
  });
861
997
  extendRange(node, closeBracketToken);
862
- node.maxChildDepth = 1 + ((_a = baseExpression.maxChildDepth) !== null && _a !== void 0 ? _a : 0);
863
998
  return node;
864
999
  }
865
1000
  IndexNode.create = create;
@@ -872,6 +1007,9 @@ var SliceNode;
872
1007
  length: range.length,
873
1008
  nodeType: 46 /* ParseNodeType.Slice */,
874
1009
  id: _nextNodeId++,
1010
+ parent: undefined,
1011
+ a: undefined,
1012
+ d: {},
875
1013
  };
876
1014
  return node;
877
1015
  }
@@ -879,17 +1017,19 @@ var SliceNode;
879
1017
  })(SliceNode || (exports.SliceNode = SliceNode = {}));
880
1018
  var YieldNode;
881
1019
  (function (YieldNode) {
882
- function create(yieldToken, expression) {
1020
+ function create(yieldToken, expr) {
883
1021
  const node = {
884
1022
  start: yieldToken.start,
885
1023
  length: yieldToken.length,
886
1024
  nodeType: 60 /* ParseNodeType.Yield */,
887
1025
  id: _nextNodeId++,
888
- expression,
1026
+ parent: undefined,
1027
+ a: undefined,
1028
+ d: { expr },
889
1029
  };
890
- if (expression) {
891
- expression.parent = node;
892
- extendRange(node, expression);
1030
+ if (expr) {
1031
+ expr.parent = node;
1032
+ extendRange(node, expr);
893
1033
  }
894
1034
  return node;
895
1035
  }
@@ -897,53 +1037,61 @@ var YieldNode;
897
1037
  })(YieldNode || (exports.YieldNode = YieldNode = {}));
898
1038
  var YieldFromNode;
899
1039
  (function (YieldFromNode) {
900
- function create(yieldToken, expression) {
1040
+ function create(yieldToken, expr) {
901
1041
  const node = {
902
1042
  start: yieldToken.start,
903
1043
  length: yieldToken.length,
904
1044
  nodeType: 61 /* ParseNodeType.YieldFrom */,
905
1045
  id: _nextNodeId++,
906
- expression,
1046
+ parent: undefined,
1047
+ a: undefined,
1048
+ d: { expr },
907
1049
  };
908
- expression.parent = node;
909
- extendRange(node, expression);
1050
+ expr.parent = node;
1051
+ extendRange(node, expr);
910
1052
  return node;
911
1053
  }
912
1054
  YieldFromNode.create = create;
913
1055
  })(YieldFromNode || (exports.YieldFromNode = YieldFromNode = {}));
914
1056
  var MemberAccessNode;
915
1057
  (function (MemberAccessNode) {
916
- function create(leftExpression, memberName) {
917
- var _a;
1058
+ function create(leftExpr, member) {
918
1059
  const node = {
919
- start: leftExpression.start,
920
- length: leftExpression.length,
1060
+ start: leftExpr.start,
1061
+ length: leftExpr.length,
921
1062
  nodeType: 35 /* ParseNodeType.MemberAccess */,
922
1063
  id: _nextNodeId++,
923
- leftExpression,
924
- memberName,
1064
+ parent: undefined,
1065
+ a: undefined,
1066
+ d: {
1067
+ leftExpr: leftExpr,
1068
+ member: member,
1069
+ },
925
1070
  };
926
- leftExpression.parent = node;
927
- memberName.parent = node;
928
- extendRange(node, memberName);
929
- node.maxChildDepth = 1 + ((_a = leftExpression.maxChildDepth) !== null && _a !== void 0 ? _a : 0);
1071
+ leftExpr.parent = node;
1072
+ member.parent = node;
1073
+ extendRange(node, member);
930
1074
  return node;
931
1075
  }
932
1076
  MemberAccessNode.create = create;
933
1077
  })(MemberAccessNode || (exports.MemberAccessNode = MemberAccessNode = {}));
934
1078
  var LambdaNode;
935
1079
  (function (LambdaNode) {
936
- function create(lambdaToken, expression) {
1080
+ function create(lambdaToken, expr) {
937
1081
  const node = {
938
1082
  start: lambdaToken.start,
939
1083
  length: lambdaToken.length,
940
1084
  nodeType: 33 /* ParseNodeType.Lambda */,
941
1085
  id: _nextNodeId++,
942
- parameters: [],
943
- expression,
1086
+ parent: undefined,
1087
+ a: undefined,
1088
+ d: {
1089
+ params: [],
1090
+ expr,
1091
+ },
944
1092
  };
945
- expression.parent = node;
946
- extendRange(node, expression);
1093
+ expr.parent = node;
1094
+ extendRange(node, expr);
947
1095
  return node;
948
1096
  }
949
1097
  LambdaNode.create = create;
@@ -956,8 +1104,12 @@ var NameNode;
956
1104
  length: nameToken.length,
957
1105
  nodeType: 38 /* ParseNodeType.Name */,
958
1106
  id: _nextNodeId++,
959
- token: nameToken,
960
- value: nameToken.value,
1107
+ parent: undefined,
1108
+ a: undefined,
1109
+ d: {
1110
+ token: nameToken,
1111
+ value: nameToken.value,
1112
+ },
961
1113
  };
962
1114
  return node;
963
1115
  }
@@ -971,7 +1123,9 @@ var ConstantNode;
971
1123
  length: token.length,
972
1124
  nodeType: 14 /* ParseNodeType.Constant */,
973
1125
  id: _nextNodeId++,
974
- constType: token.keywordType,
1126
+ parent: undefined,
1127
+ a: undefined,
1128
+ d: { constType: token.keywordType },
975
1129
  };
976
1130
  return node;
977
1131
  }
@@ -985,6 +1139,9 @@ var EllipsisNode;
985
1139
  length: range.length,
986
1140
  nodeType: 21 /* ParseNodeType.Ellipsis */,
987
1141
  id: _nextNodeId++,
1142
+ parent: undefined,
1143
+ a: undefined,
1144
+ d: {},
988
1145
  };
989
1146
  return node;
990
1147
  }
@@ -998,9 +1155,13 @@ var NumberNode;
998
1155
  length: token.length,
999
1156
  nodeType: 40 /* ParseNodeType.Number */,
1000
1157
  id: _nextNodeId++,
1001
- value: token.value,
1002
- isInteger: token.isInteger,
1003
- isImaginary: token.isImaginary,
1158
+ parent: undefined,
1159
+ a: undefined,
1160
+ d: {
1161
+ value: token.value,
1162
+ isInteger: token.isInteger,
1163
+ isImaginary: token.isImaginary,
1164
+ },
1004
1165
  };
1005
1166
  return node;
1006
1167
  }
@@ -1008,14 +1169,18 @@ var NumberNode;
1008
1169
  })(NumberNode || (exports.NumberNode = NumberNode = {}));
1009
1170
  var StringNode;
1010
1171
  (function (StringNode) {
1011
- function create(token, unescapedValue) {
1172
+ function create(token, value) {
1012
1173
  const node = {
1013
1174
  start: token.start,
1014
1175
  length: token.length,
1015
1176
  nodeType: 49 /* ParseNodeType.String */,
1016
1177
  id: _nextNodeId++,
1017
- token,
1018
- value: unescapedValue,
1178
+ parent: undefined,
1179
+ a: undefined,
1180
+ d: {
1181
+ token,
1182
+ value,
1183
+ },
1019
1184
  };
1020
1185
  return node;
1021
1186
  }
@@ -1023,24 +1188,28 @@ var StringNode;
1023
1188
  })(StringNode || (exports.StringNode = StringNode = {}));
1024
1189
  var FormatStringNode;
1025
1190
  (function (FormatStringNode) {
1026
- function create(startToken, endToken, middleTokens, fieldExpressions, formatExpressions) {
1191
+ function create(startToken, endToken, middleTokens, fieldExprs, formatExprs) {
1027
1192
  const node = {
1028
1193
  start: startToken.start,
1029
1194
  length: startToken.length,
1030
1195
  nodeType: 30 /* ParseNodeType.FormatString */,
1031
1196
  id: _nextNodeId++,
1032
- token: startToken,
1033
- middleTokens,
1034
- fieldExpressions,
1035
- formatExpressions,
1036
- value: '',
1197
+ parent: undefined,
1198
+ a: undefined,
1199
+ d: {
1200
+ token: startToken,
1201
+ middleTokens,
1202
+ fieldExprs,
1203
+ formatExprs,
1204
+ value: '',
1205
+ },
1037
1206
  };
1038
- fieldExpressions.forEach((expr) => {
1207
+ fieldExprs.forEach((expr) => {
1039
1208
  expr.parent = node;
1040
1209
  extendRange(node, expr);
1041
1210
  });
1042
- if (formatExpressions) {
1043
- formatExpressions.forEach((expr) => {
1211
+ if (formatExprs) {
1212
+ formatExprs.forEach((expr) => {
1044
1213
  expr.parent = node;
1045
1214
  extendRange(node, expr);
1046
1215
  });
@@ -1060,7 +1229,13 @@ var StringListNode;
1060
1229
  length: strings[0].length,
1061
1230
  nodeType: 48 /* ParseNodeType.StringList */,
1062
1231
  id: _nextNodeId++,
1063
- strings,
1232
+ parent: undefined,
1233
+ a: undefined,
1234
+ d: {
1235
+ strings,
1236
+ annotation: undefined,
1237
+ hasParens: false,
1238
+ },
1064
1239
  };
1065
1240
  if (strings.length > 0) {
1066
1241
  strings.forEach((str) => {
@@ -1080,7 +1255,12 @@ var DictionaryNode;
1080
1255
  length: range.length,
1081
1256
  nodeType: 18 /* ParseNodeType.Dictionary */,
1082
1257
  id: _nextNodeId++,
1083
- entries: [],
1258
+ parent: undefined,
1259
+ a: undefined,
1260
+ d: {
1261
+ items: [],
1262
+ trailingCommaToken: undefined,
1263
+ },
1084
1264
  };
1085
1265
  return node;
1086
1266
  }
@@ -1088,33 +1268,39 @@ var DictionaryNode;
1088
1268
  })(DictionaryNode || (exports.DictionaryNode = DictionaryNode = {}));
1089
1269
  var DictionaryKeyEntryNode;
1090
1270
  (function (DictionaryKeyEntryNode) {
1091
- function create(keyExpression, valueExpression) {
1271
+ function create(keyExpr, valueExpr) {
1092
1272
  const node = {
1093
- start: keyExpression.start,
1094
- length: keyExpression.length,
1273
+ start: keyExpr.start,
1274
+ length: keyExpr.length,
1095
1275
  nodeType: 20 /* ParseNodeType.DictionaryKeyEntry */,
1096
1276
  id: _nextNodeId++,
1097
- keyExpression,
1098
- valueExpression,
1277
+ parent: undefined,
1278
+ a: undefined,
1279
+ d: {
1280
+ keyExpr,
1281
+ valueExpr,
1282
+ },
1099
1283
  };
1100
- keyExpression.parent = node;
1101
- valueExpression.parent = node;
1102
- extendRange(node, valueExpression);
1284
+ keyExpr.parent = node;
1285
+ valueExpr.parent = node;
1286
+ extendRange(node, valueExpr);
1103
1287
  return node;
1104
1288
  }
1105
1289
  DictionaryKeyEntryNode.create = create;
1106
1290
  })(DictionaryKeyEntryNode || (exports.DictionaryKeyEntryNode = DictionaryKeyEntryNode = {}));
1107
1291
  var DictionaryExpandEntryNode;
1108
1292
  (function (DictionaryExpandEntryNode) {
1109
- function create(expandExpression) {
1293
+ function create(expr) {
1110
1294
  const node = {
1111
- start: expandExpression.start,
1112
- length: expandExpression.length,
1295
+ start: expr.start,
1296
+ length: expr.length,
1113
1297
  nodeType: 19 /* ParseNodeType.DictionaryExpandEntry */,
1114
1298
  id: _nextNodeId++,
1115
- expandExpression,
1299
+ parent: undefined,
1300
+ a: undefined,
1301
+ d: { expr },
1116
1302
  };
1117
- expandExpression.parent = node;
1303
+ expr.parent = node;
1118
1304
  return node;
1119
1305
  }
1120
1306
  DictionaryExpandEntryNode.create = create;
@@ -1127,7 +1313,9 @@ var SetNode;
1127
1313
  length: range.length,
1128
1314
  nodeType: 45 /* ParseNodeType.Set */,
1129
1315
  id: _nextNodeId++,
1130
- entries: [],
1316
+ parent: undefined,
1317
+ a: undefined,
1318
+ d: { items: [] },
1131
1319
  };
1132
1320
  return node;
1133
1321
  }
@@ -1141,7 +1329,9 @@ var ListNode;
1141
1329
  length: range.length,
1142
1330
  nodeType: 34 /* ParseNodeType.List */,
1143
1331
  id: _nextNodeId++,
1144
- entries: [],
1332
+ parent: undefined,
1333
+ a: undefined,
1334
+ d: { items: [] },
1145
1335
  };
1146
1336
  return node;
1147
1337
  }
@@ -1155,17 +1345,23 @@ var ArgumentCategory;
1155
1345
  })(ArgumentCategory || (exports.ArgumentCategory = ArgumentCategory = {}));
1156
1346
  var ArgumentNode;
1157
1347
  (function (ArgumentNode) {
1158
- function create(startToken, valueExpression, argCategory) {
1348
+ function create(startToken, valueExpr, argCategory) {
1159
1349
  const node = {
1160
- start: startToken ? startToken.start : valueExpression.start,
1161
- length: startToken ? startToken.length : valueExpression.length,
1350
+ start: startToken ? startToken.start : valueExpr.start,
1351
+ length: startToken ? startToken.length : valueExpr.length,
1162
1352
  nodeType: 1 /* ParseNodeType.Argument */,
1163
1353
  id: _nextNodeId++,
1164
- valueExpression,
1165
- argumentCategory: argCategory,
1354
+ parent: undefined,
1355
+ a: undefined,
1356
+ d: {
1357
+ argCategory,
1358
+ name: undefined,
1359
+ valueExpr,
1360
+ isNameSameAsValue: false,
1361
+ },
1166
1362
  };
1167
- valueExpression.parent = node;
1168
- extendRange(node, valueExpression);
1363
+ valueExpr.parent = node;
1364
+ extendRange(node, valueExpr);
1169
1365
  return node;
1170
1366
  }
1171
1367
  ArgumentNode.create = create;
@@ -1178,7 +1374,9 @@ var DelNode;
1178
1374
  length: delToken.length,
1179
1375
  nodeType: 17 /* ParseNodeType.Del */,
1180
1376
  id: _nextNodeId++,
1181
- expressions: [],
1377
+ parent: undefined,
1378
+ a: undefined,
1379
+ d: { targets: [] },
1182
1380
  };
1183
1381
  return node;
1184
1382
  }
@@ -1192,6 +1390,9 @@ var PassNode;
1192
1390
  length: passToken.length,
1193
1391
  nodeType: 42 /* ParseNodeType.Pass */,
1194
1392
  id: _nextNodeId++,
1393
+ parent: undefined,
1394
+ a: undefined,
1395
+ d: {},
1195
1396
  };
1196
1397
  return node;
1197
1398
  }
@@ -1199,13 +1400,15 @@ var PassNode;
1199
1400
  })(PassNode || (exports.PassNode = PassNode = {}));
1200
1401
  var ImportNode;
1201
1402
  (function (ImportNode) {
1202
- function create(passToken) {
1403
+ function create(importToken) {
1203
1404
  const node = {
1204
- start: passToken.start,
1205
- length: passToken.length,
1405
+ start: importToken.start,
1406
+ length: importToken.length,
1206
1407
  nodeType: 23 /* ParseNodeType.Import */,
1207
1408
  id: _nextNodeId++,
1208
- list: [],
1409
+ parent: undefined,
1410
+ a: undefined,
1411
+ d: { list: [] },
1209
1412
  };
1210
1413
  return node;
1211
1414
  }
@@ -1219,8 +1422,12 @@ var ModuleNameNode;
1219
1422
  length: range.length,
1220
1423
  nodeType: 37 /* ParseNodeType.ModuleName */,
1221
1424
  id: _nextNodeId++,
1222
- leadingDots: 0,
1223
- nameParts: [],
1425
+ parent: undefined,
1426
+ a: undefined,
1427
+ d: {
1428
+ leadingDots: 0,
1429
+ nameParts: [],
1430
+ },
1224
1431
  };
1225
1432
  return node;
1226
1433
  }
@@ -1234,7 +1441,9 @@ var ImportAsNode;
1234
1441
  length: module.length,
1235
1442
  nodeType: 24 /* ParseNodeType.ImportAs */,
1236
1443
  id: _nextNodeId++,
1237
- module,
1444
+ parent: undefined,
1445
+ a: undefined,
1446
+ d: { module: module },
1238
1447
  };
1239
1448
  module.parent = node;
1240
1449
  return node;
@@ -1249,10 +1458,14 @@ var ImportFromNode;
1249
1458
  length: fromToken.length,
1250
1459
  nodeType: 25 /* ParseNodeType.ImportFrom */,
1251
1460
  id: _nextNodeId++,
1252
- module,
1253
- imports: [],
1254
- isWildcardImport: false,
1255
- usesParens: false,
1461
+ parent: undefined,
1462
+ a: undefined,
1463
+ d: {
1464
+ module,
1465
+ imports: [],
1466
+ isWildcardImport: false,
1467
+ usesParens: false,
1468
+ },
1256
1469
  };
1257
1470
  module.parent = node;
1258
1471
  extendRange(node, module);
@@ -1268,7 +1481,9 @@ var ImportFromAsNode;
1268
1481
  length: name.length,
1269
1482
  nodeType: 26 /* ParseNodeType.ImportFromAs */,
1270
1483
  id: _nextNodeId++,
1271
- name,
1484
+ parent: undefined,
1485
+ a: undefined,
1486
+ d: { name: name },
1272
1487
  };
1273
1488
  name.parent = node;
1274
1489
  return node;
@@ -1283,7 +1498,9 @@ var GlobalNode;
1283
1498
  length: range.length,
1284
1499
  nodeType: 32 /* ParseNodeType.Global */,
1285
1500
  id: _nextNodeId++,
1286
- nameList: [],
1501
+ parent: undefined,
1502
+ a: undefined,
1503
+ d: { targets: [] },
1287
1504
  };
1288
1505
  return node;
1289
1506
  }
@@ -1297,7 +1514,9 @@ var NonlocalNode;
1297
1514
  length: range.length,
1298
1515
  nodeType: 39 /* ParseNodeType.Nonlocal */,
1299
1516
  id: _nextNodeId++,
1300
- nameList: [],
1517
+ parent: undefined,
1518
+ a: undefined,
1519
+ d: { targets: [] },
1301
1520
  };
1302
1521
  return node;
1303
1522
  }
@@ -1305,16 +1524,18 @@ var NonlocalNode;
1305
1524
  })(NonlocalNode || (exports.NonlocalNode = NonlocalNode = {}));
1306
1525
  var AssertNode;
1307
1526
  (function (AssertNode) {
1308
- function create(assertToken, testExpression) {
1527
+ function create(assertToken, testExpr) {
1309
1528
  const node = {
1310
1529
  start: assertToken.start,
1311
1530
  length: assertToken.length,
1312
1531
  nodeType: 2 /* ParseNodeType.Assert */,
1313
1532
  id: _nextNodeId++,
1314
- testExpression,
1533
+ parent: undefined,
1534
+ a: undefined,
1535
+ d: { testExpr },
1315
1536
  };
1316
- testExpression.parent = node;
1317
- extendRange(node, testExpression);
1537
+ testExpr.parent = node;
1538
+ extendRange(node, testExpr);
1318
1539
  return node;
1319
1540
  }
1320
1541
  AssertNode.create = create;
@@ -1327,6 +1548,9 @@ var BreakNode;
1327
1548
  length: range.length,
1328
1549
  nodeType: 8 /* ParseNodeType.Break */,
1329
1550
  id: _nextNodeId++,
1551
+ parent: undefined,
1552
+ a: undefined,
1553
+ d: {},
1330
1554
  };
1331
1555
  return node;
1332
1556
  }
@@ -1340,6 +1564,9 @@ var ContinueNode;
1340
1564
  length: range.length,
1341
1565
  nodeType: 15 /* ParseNodeType.Continue */,
1342
1566
  id: _nextNodeId++,
1567
+ parent: undefined,
1568
+ a: undefined,
1569
+ d: {},
1343
1570
  };
1344
1571
  return node;
1345
1572
  }
@@ -1353,6 +1580,9 @@ var ReturnNode;
1353
1580
  length: range.length,
1354
1581
  nodeType: 44 /* ParseNodeType.Return */,
1355
1582
  id: _nextNodeId++,
1583
+ parent: undefined,
1584
+ a: undefined,
1585
+ d: {},
1356
1586
  };
1357
1587
  return node;
1358
1588
  }
@@ -1366,6 +1596,9 @@ var RaiseNode;
1366
1596
  length: range.length,
1367
1597
  nodeType: 43 /* ParseNodeType.Raise */,
1368
1598
  id: _nextNodeId++,
1599
+ parent: undefined,
1600
+ a: undefined,
1601
+ d: {},
1369
1602
  };
1370
1603
  return node;
1371
1604
  }
@@ -1373,39 +1606,47 @@ var RaiseNode;
1373
1606
  })(RaiseNode || (exports.RaiseNode = RaiseNode = {}));
1374
1607
  var MatchNode;
1375
1608
  (function (MatchNode) {
1376
- function create(matchToken, subjectExpression) {
1609
+ function create(matchToken, expr) {
1377
1610
  const node = {
1378
1611
  start: matchToken.start,
1379
1612
  length: matchToken.length,
1380
1613
  nodeType: 63 /* ParseNodeType.Match */,
1381
1614
  id: _nextNodeId++,
1382
- subjectExpression,
1383
- cases: [],
1615
+ parent: undefined,
1616
+ a: undefined,
1617
+ d: {
1618
+ expr,
1619
+ cases: [],
1620
+ },
1384
1621
  };
1385
- subjectExpression.parent = node;
1386
- extendRange(node, subjectExpression);
1622
+ expr.parent = node;
1623
+ extendRange(node, expr);
1387
1624
  return node;
1388
1625
  }
1389
1626
  MatchNode.create = create;
1390
1627
  })(MatchNode || (exports.MatchNode = MatchNode = {}));
1391
1628
  var CaseNode;
1392
1629
  (function (CaseNode) {
1393
- function create(caseToken, pattern, isIrrefutable, guardExpression, suite) {
1630
+ function create(caseToken, pattern, isIrrefutable, guardExpr, suite) {
1394
1631
  const node = {
1395
1632
  start: caseToken.start,
1396
1633
  length: caseToken.length,
1397
1634
  nodeType: 64 /* ParseNodeType.Case */,
1398
1635
  id: _nextNodeId++,
1399
- pattern,
1400
- isIrrefutable,
1401
- guardExpression,
1402
- suite,
1636
+ parent: undefined,
1637
+ a: undefined,
1638
+ d: {
1639
+ pattern,
1640
+ isIrrefutable,
1641
+ guardExpr,
1642
+ suite,
1643
+ },
1403
1644
  };
1404
1645
  extendRange(node, suite);
1405
1646
  pattern.parent = node;
1406
1647
  suite.parent = node;
1407
- if (guardExpression) {
1408
- guardExpression.parent = node;
1648
+ if (guardExpr) {
1649
+ guardExpr.parent = node;
1409
1650
  }
1410
1651
  return node;
1411
1652
  }
@@ -1414,16 +1655,20 @@ var CaseNode;
1414
1655
  var PatternSequenceNode;
1415
1656
  (function (PatternSequenceNode) {
1416
1657
  function create(firstToken, entries) {
1417
- const starEntryIndex = entries.findIndex((entry) => entry.orPatterns.length === 1 &&
1418
- entry.orPatterns[0].nodeType === 69 /* ParseNodeType.PatternCapture */ &&
1419
- entry.orPatterns[0].isStar);
1658
+ const starEntryIndex = entries.findIndex((entry) => entry.d.orPatterns.length === 1 &&
1659
+ entry.d.orPatterns[0].nodeType === 69 /* ParseNodeType.PatternCapture */ &&
1660
+ entry.d.orPatterns[0].d.isStar);
1420
1661
  const node = {
1421
1662
  start: firstToken.start,
1422
1663
  length: firstToken.length,
1423
1664
  nodeType: 65 /* ParseNodeType.PatternSequence */,
1424
1665
  id: _nextNodeId++,
1425
- entries,
1426
- starEntryIndex: starEntryIndex >= 0 ? starEntryIndex : undefined,
1666
+ parent: undefined,
1667
+ a: undefined,
1668
+ d: {
1669
+ entries,
1670
+ starEntryIndex: starEntryIndex >= 0 ? starEntryIndex : undefined,
1671
+ },
1427
1672
  };
1428
1673
  if (entries.length > 0) {
1429
1674
  extendRange(node, entries[entries.length - 1]);
@@ -1443,8 +1688,12 @@ var PatternAsNode;
1443
1688
  length: orPatterns[0].length,
1444
1689
  nodeType: 66 /* ParseNodeType.PatternAs */,
1445
1690
  id: _nextNodeId++,
1446
- orPatterns,
1447
- target,
1691
+ parent: undefined,
1692
+ a: undefined,
1693
+ d: {
1694
+ orPatterns,
1695
+ target,
1696
+ },
1448
1697
  };
1449
1698
  if (orPatterns.length > 1) {
1450
1699
  extendRange(node, orPatterns[orPatterns.length - 1]);
@@ -1462,15 +1711,17 @@ var PatternAsNode;
1462
1711
  })(PatternAsNode || (exports.PatternAsNode = PatternAsNode = {}));
1463
1712
  var PatternLiteralNode;
1464
1713
  (function (PatternLiteralNode) {
1465
- function create(expression) {
1714
+ function create(expr) {
1466
1715
  const node = {
1467
- start: expression.start,
1468
- length: expression.length,
1716
+ start: expr.start,
1717
+ length: expr.length,
1469
1718
  nodeType: 67 /* ParseNodeType.PatternLiteral */,
1470
1719
  id: _nextNodeId++,
1471
- expression,
1720
+ parent: undefined,
1721
+ a: undefined,
1722
+ d: { expr },
1472
1723
  };
1473
- expression.parent = node;
1724
+ expr.parent = node;
1474
1725
  return node;
1475
1726
  }
1476
1727
  PatternLiteralNode.create = create;
@@ -1483,8 +1734,12 @@ var PatternClassNode;
1483
1734
  length: className.length,
1484
1735
  nodeType: 68 /* ParseNodeType.PatternClass */,
1485
1736
  id: _nextNodeId++,
1486
- className,
1487
- arguments: args,
1737
+ parent: undefined,
1738
+ a: undefined,
1739
+ d: {
1740
+ className,
1741
+ args,
1742
+ },
1488
1743
  };
1489
1744
  className.parent = node;
1490
1745
  args.forEach((arg) => {
@@ -1505,8 +1760,12 @@ var PatternClassArgumentNode;
1505
1760
  length: pattern.length,
1506
1761
  nodeType: 74 /* ParseNodeType.PatternClassArgument */,
1507
1762
  id: _nextNodeId++,
1508
- pattern,
1509
- name,
1763
+ parent: undefined,
1764
+ a: undefined,
1765
+ d: {
1766
+ pattern,
1767
+ name,
1768
+ },
1510
1769
  };
1511
1770
  pattern.parent = node;
1512
1771
  if (name) {
@@ -1525,9 +1784,13 @@ var PatternCaptureNode;
1525
1784
  length: target.length,
1526
1785
  nodeType: 69 /* ParseNodeType.PatternCapture */,
1527
1786
  id: _nextNodeId++,
1528
- target,
1529
- isStar: starToken !== undefined,
1530
- isWildcard: target.value === '_',
1787
+ parent: undefined,
1788
+ a: undefined,
1789
+ d: {
1790
+ target,
1791
+ isStar: starToken !== undefined,
1792
+ isWildcard: target.d.value === '_',
1793
+ },
1531
1794
  };
1532
1795
  target.parent = node;
1533
1796
  if (starToken) {
@@ -1545,7 +1808,9 @@ var PatternMappingNode;
1545
1808
  length: startToken.length,
1546
1809
  nodeType: 70 /* ParseNodeType.PatternMapping */,
1547
1810
  id: _nextNodeId++,
1548
- entries,
1811
+ parent: undefined,
1812
+ a: undefined,
1813
+ d: { entries },
1549
1814
  };
1550
1815
  if (entries.length > 0) {
1551
1816
  extendRange(node, entries[entries.length - 1]);
@@ -1565,8 +1830,12 @@ var PatternMappingKeyEntryNode;
1565
1830
  length: keyPattern.length,
1566
1831
  nodeType: 71 /* ParseNodeType.PatternMappingKeyEntry */,
1567
1832
  id: _nextNodeId++,
1568
- keyPattern,
1569
- valuePattern,
1833
+ parent: undefined,
1834
+ a: undefined,
1835
+ d: {
1836
+ keyPattern,
1837
+ valuePattern,
1838
+ },
1570
1839
  };
1571
1840
  keyPattern.parent = node;
1572
1841
  valuePattern.parent = node;
@@ -1583,7 +1852,9 @@ var PatternMappingExpandEntryNode;
1583
1852
  length: starStarToken.length,
1584
1853
  nodeType: 72 /* ParseNodeType.PatternMappingExpandEntry */,
1585
1854
  id: _nextNodeId++,
1586
- target,
1855
+ parent: undefined,
1856
+ a: undefined,
1857
+ d: { target },
1587
1858
  };
1588
1859
  target.parent = node;
1589
1860
  extendRange(node, target);
@@ -1593,15 +1864,17 @@ var PatternMappingExpandEntryNode;
1593
1864
  })(PatternMappingExpandEntryNode || (exports.PatternMappingExpandEntryNode = PatternMappingExpandEntryNode = {}));
1594
1865
  var PatternValueNode;
1595
1866
  (function (PatternValueNode) {
1596
- function create(expression) {
1867
+ function create(expr) {
1597
1868
  const node = {
1598
- start: expression.start,
1599
- length: expression.length,
1869
+ start: expr.start,
1870
+ length: expr.length,
1600
1871
  nodeType: 73 /* ParseNodeType.PatternValue */,
1601
1872
  id: _nextNodeId++,
1602
- expression,
1873
+ parent: undefined,
1874
+ a: undefined,
1875
+ d: { expr },
1603
1876
  };
1604
- expression.parent = node;
1877
+ expr.parent = node;
1605
1878
  return node;
1606
1879
  }
1607
1880
  PatternValueNode.create = create;