@zzzen/pyright-internal 1.2.0-dev.20240630 → 1.2.0-dev.20240714

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