oxc-parser 0.90.0 → 0.91.0

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.
@@ -0,0 +1,2460 @@
1
+ // Auto-generated code, DO NOT EDIT DIRECTLY!
2
+ // To edit this generated file you have to edit `tasks/ast_tools/src/generators/estree_visit.rs`.
3
+
4
+ export { walkProgram };
5
+
6
+ const { isArray } = Array;
7
+
8
+ function walkNode(node, visitors) {
9
+ if (node == null) return;
10
+ if (isArray(node)) {
11
+ const len = node.length;
12
+ for (let i = 0; i < len; i++) {
13
+ walkNode(node[i], visitors);
14
+ }
15
+ } else {
16
+ switch (node.type) {
17
+ case 'DebuggerStatement':
18
+ walkDebuggerStatement(node, visitors);
19
+ break;
20
+ case 'EmptyStatement':
21
+ walkEmptyStatement(node, visitors);
22
+ break;
23
+ case 'Literal':
24
+ walkLiteral(node, visitors);
25
+ break;
26
+ case 'PrivateIdentifier':
27
+ walkPrivateIdentifier(node, visitors);
28
+ break;
29
+ case 'Super':
30
+ walkSuper(node, visitors);
31
+ break;
32
+ case 'TemplateElement':
33
+ walkTemplateElement(node, visitors);
34
+ break;
35
+ case 'ThisExpression':
36
+ walkThisExpression(node, visitors);
37
+ break;
38
+ case 'JSXClosingFragment':
39
+ walkJSXClosingFragment(node, visitors);
40
+ break;
41
+ case 'JSXEmptyExpression':
42
+ walkJSXEmptyExpression(node, visitors);
43
+ break;
44
+ case 'JSXIdentifier':
45
+ walkJSXIdentifier(node, visitors);
46
+ break;
47
+ case 'JSXOpeningFragment':
48
+ walkJSXOpeningFragment(node, visitors);
49
+ break;
50
+ case 'JSXText':
51
+ walkJSXText(node, visitors);
52
+ break;
53
+ case 'TSAnyKeyword':
54
+ walkTSAnyKeyword(node, visitors);
55
+ break;
56
+ case 'TSBigIntKeyword':
57
+ walkTSBigIntKeyword(node, visitors);
58
+ break;
59
+ case 'TSBooleanKeyword':
60
+ walkTSBooleanKeyword(node, visitors);
61
+ break;
62
+ case 'TSIntrinsicKeyword':
63
+ walkTSIntrinsicKeyword(node, visitors);
64
+ break;
65
+ case 'TSJSDocUnknownType':
66
+ walkTSJSDocUnknownType(node, visitors);
67
+ break;
68
+ case 'TSNeverKeyword':
69
+ walkTSNeverKeyword(node, visitors);
70
+ break;
71
+ case 'TSNullKeyword':
72
+ walkTSNullKeyword(node, visitors);
73
+ break;
74
+ case 'TSNumberKeyword':
75
+ walkTSNumberKeyword(node, visitors);
76
+ break;
77
+ case 'TSObjectKeyword':
78
+ walkTSObjectKeyword(node, visitors);
79
+ break;
80
+ case 'TSStringKeyword':
81
+ walkTSStringKeyword(node, visitors);
82
+ break;
83
+ case 'TSSymbolKeyword':
84
+ walkTSSymbolKeyword(node, visitors);
85
+ break;
86
+ case 'TSThisType':
87
+ walkTSThisType(node, visitors);
88
+ break;
89
+ case 'TSUndefinedKeyword':
90
+ walkTSUndefinedKeyword(node, visitors);
91
+ break;
92
+ case 'TSUnknownKeyword':
93
+ walkTSUnknownKeyword(node, visitors);
94
+ break;
95
+ case 'TSVoidKeyword':
96
+ walkTSVoidKeyword(node, visitors);
97
+ break;
98
+ case 'AccessorProperty':
99
+ walkAccessorProperty(node, visitors);
100
+ break;
101
+ case 'ArrayExpression':
102
+ walkArrayExpression(node, visitors);
103
+ break;
104
+ case 'ArrayPattern':
105
+ walkArrayPattern(node, visitors);
106
+ break;
107
+ case 'ArrowFunctionExpression':
108
+ walkArrowFunctionExpression(node, visitors);
109
+ break;
110
+ case 'AssignmentExpression':
111
+ walkAssignmentExpression(node, visitors);
112
+ break;
113
+ case 'AssignmentPattern':
114
+ walkAssignmentPattern(node, visitors);
115
+ break;
116
+ case 'AwaitExpression':
117
+ walkAwaitExpression(node, visitors);
118
+ break;
119
+ case 'BinaryExpression':
120
+ walkBinaryExpression(node, visitors);
121
+ break;
122
+ case 'BlockStatement':
123
+ walkBlockStatement(node, visitors);
124
+ break;
125
+ case 'BreakStatement':
126
+ walkBreakStatement(node, visitors);
127
+ break;
128
+ case 'CallExpression':
129
+ walkCallExpression(node, visitors);
130
+ break;
131
+ case 'CatchClause':
132
+ walkCatchClause(node, visitors);
133
+ break;
134
+ case 'ChainExpression':
135
+ walkChainExpression(node, visitors);
136
+ break;
137
+ case 'ClassBody':
138
+ walkClassBody(node, visitors);
139
+ break;
140
+ case 'ClassDeclaration':
141
+ walkClassDeclaration(node, visitors);
142
+ break;
143
+ case 'ClassExpression':
144
+ walkClassExpression(node, visitors);
145
+ break;
146
+ case 'ConditionalExpression':
147
+ walkConditionalExpression(node, visitors);
148
+ break;
149
+ case 'ContinueStatement':
150
+ walkContinueStatement(node, visitors);
151
+ break;
152
+ case 'Decorator':
153
+ walkDecorator(node, visitors);
154
+ break;
155
+ case 'DoWhileStatement':
156
+ walkDoWhileStatement(node, visitors);
157
+ break;
158
+ case 'ExportAllDeclaration':
159
+ walkExportAllDeclaration(node, visitors);
160
+ break;
161
+ case 'ExportDefaultDeclaration':
162
+ walkExportDefaultDeclaration(node, visitors);
163
+ break;
164
+ case 'ExportNamedDeclaration':
165
+ walkExportNamedDeclaration(node, visitors);
166
+ break;
167
+ case 'ExportSpecifier':
168
+ walkExportSpecifier(node, visitors);
169
+ break;
170
+ case 'ExpressionStatement':
171
+ walkExpressionStatement(node, visitors);
172
+ break;
173
+ case 'ForInStatement':
174
+ walkForInStatement(node, visitors);
175
+ break;
176
+ case 'ForOfStatement':
177
+ walkForOfStatement(node, visitors);
178
+ break;
179
+ case 'ForStatement':
180
+ walkForStatement(node, visitors);
181
+ break;
182
+ case 'FunctionDeclaration':
183
+ walkFunctionDeclaration(node, visitors);
184
+ break;
185
+ case 'FunctionExpression':
186
+ walkFunctionExpression(node, visitors);
187
+ break;
188
+ case 'Identifier':
189
+ walkIdentifier(node, visitors);
190
+ break;
191
+ case 'IfStatement':
192
+ walkIfStatement(node, visitors);
193
+ break;
194
+ case 'ImportAttribute':
195
+ walkImportAttribute(node, visitors);
196
+ break;
197
+ case 'ImportDeclaration':
198
+ walkImportDeclaration(node, visitors);
199
+ break;
200
+ case 'ImportDefaultSpecifier':
201
+ walkImportDefaultSpecifier(node, visitors);
202
+ break;
203
+ case 'ImportExpression':
204
+ walkImportExpression(node, visitors);
205
+ break;
206
+ case 'ImportNamespaceSpecifier':
207
+ walkImportNamespaceSpecifier(node, visitors);
208
+ break;
209
+ case 'ImportSpecifier':
210
+ walkImportSpecifier(node, visitors);
211
+ break;
212
+ case 'LabeledStatement':
213
+ walkLabeledStatement(node, visitors);
214
+ break;
215
+ case 'LogicalExpression':
216
+ walkLogicalExpression(node, visitors);
217
+ break;
218
+ case 'MemberExpression':
219
+ walkMemberExpression(node, visitors);
220
+ break;
221
+ case 'MetaProperty':
222
+ walkMetaProperty(node, visitors);
223
+ break;
224
+ case 'MethodDefinition':
225
+ walkMethodDefinition(node, visitors);
226
+ break;
227
+ case 'NewExpression':
228
+ walkNewExpression(node, visitors);
229
+ break;
230
+ case 'ObjectExpression':
231
+ walkObjectExpression(node, visitors);
232
+ break;
233
+ case 'ObjectPattern':
234
+ walkObjectPattern(node, visitors);
235
+ break;
236
+ case 'ParenthesizedExpression':
237
+ walkParenthesizedExpression(node, visitors);
238
+ break;
239
+ case 'Program':
240
+ walkProgram(node, visitors);
241
+ break;
242
+ case 'Property':
243
+ walkProperty(node, visitors);
244
+ break;
245
+ case 'PropertyDefinition':
246
+ walkPropertyDefinition(node, visitors);
247
+ break;
248
+ case 'RestElement':
249
+ walkRestElement(node, visitors);
250
+ break;
251
+ case 'ReturnStatement':
252
+ walkReturnStatement(node, visitors);
253
+ break;
254
+ case 'SequenceExpression':
255
+ walkSequenceExpression(node, visitors);
256
+ break;
257
+ case 'SpreadElement':
258
+ walkSpreadElement(node, visitors);
259
+ break;
260
+ case 'StaticBlock':
261
+ walkStaticBlock(node, visitors);
262
+ break;
263
+ case 'SwitchCase':
264
+ walkSwitchCase(node, visitors);
265
+ break;
266
+ case 'SwitchStatement':
267
+ walkSwitchStatement(node, visitors);
268
+ break;
269
+ case 'TaggedTemplateExpression':
270
+ walkTaggedTemplateExpression(node, visitors);
271
+ break;
272
+ case 'TemplateLiteral':
273
+ walkTemplateLiteral(node, visitors);
274
+ break;
275
+ case 'ThrowStatement':
276
+ walkThrowStatement(node, visitors);
277
+ break;
278
+ case 'TryStatement':
279
+ walkTryStatement(node, visitors);
280
+ break;
281
+ case 'UnaryExpression':
282
+ walkUnaryExpression(node, visitors);
283
+ break;
284
+ case 'UpdateExpression':
285
+ walkUpdateExpression(node, visitors);
286
+ break;
287
+ case 'V8IntrinsicExpression':
288
+ walkV8IntrinsicExpression(node, visitors);
289
+ break;
290
+ case 'VariableDeclaration':
291
+ walkVariableDeclaration(node, visitors);
292
+ break;
293
+ case 'VariableDeclarator':
294
+ walkVariableDeclarator(node, visitors);
295
+ break;
296
+ case 'WhileStatement':
297
+ walkWhileStatement(node, visitors);
298
+ break;
299
+ case 'WithStatement':
300
+ walkWithStatement(node, visitors);
301
+ break;
302
+ case 'YieldExpression':
303
+ walkYieldExpression(node, visitors);
304
+ break;
305
+ case 'JSXAttribute':
306
+ walkJSXAttribute(node, visitors);
307
+ break;
308
+ case 'JSXClosingElement':
309
+ walkJSXClosingElement(node, visitors);
310
+ break;
311
+ case 'JSXElement':
312
+ walkJSXElement(node, visitors);
313
+ break;
314
+ case 'JSXExpressionContainer':
315
+ walkJSXExpressionContainer(node, visitors);
316
+ break;
317
+ case 'JSXFragment':
318
+ walkJSXFragment(node, visitors);
319
+ break;
320
+ case 'JSXMemberExpression':
321
+ walkJSXMemberExpression(node, visitors);
322
+ break;
323
+ case 'JSXNamespacedName':
324
+ walkJSXNamespacedName(node, visitors);
325
+ break;
326
+ case 'JSXOpeningElement':
327
+ walkJSXOpeningElement(node, visitors);
328
+ break;
329
+ case 'JSXSpreadAttribute':
330
+ walkJSXSpreadAttribute(node, visitors);
331
+ break;
332
+ case 'JSXSpreadChild':
333
+ walkJSXSpreadChild(node, visitors);
334
+ break;
335
+ case 'TSAbstractAccessorProperty':
336
+ walkTSAbstractAccessorProperty(node, visitors);
337
+ break;
338
+ case 'TSAbstractMethodDefinition':
339
+ walkTSAbstractMethodDefinition(node, visitors);
340
+ break;
341
+ case 'TSAbstractPropertyDefinition':
342
+ walkTSAbstractPropertyDefinition(node, visitors);
343
+ break;
344
+ case 'TSArrayType':
345
+ walkTSArrayType(node, visitors);
346
+ break;
347
+ case 'TSAsExpression':
348
+ walkTSAsExpression(node, visitors);
349
+ break;
350
+ case 'TSCallSignatureDeclaration':
351
+ walkTSCallSignatureDeclaration(node, visitors);
352
+ break;
353
+ case 'TSClassImplements':
354
+ walkTSClassImplements(node, visitors);
355
+ break;
356
+ case 'TSConditionalType':
357
+ walkTSConditionalType(node, visitors);
358
+ break;
359
+ case 'TSConstructSignatureDeclaration':
360
+ walkTSConstructSignatureDeclaration(node, visitors);
361
+ break;
362
+ case 'TSConstructorType':
363
+ walkTSConstructorType(node, visitors);
364
+ break;
365
+ case 'TSDeclareFunction':
366
+ walkTSDeclareFunction(node, visitors);
367
+ break;
368
+ case 'TSEmptyBodyFunctionExpression':
369
+ walkTSEmptyBodyFunctionExpression(node, visitors);
370
+ break;
371
+ case 'TSEnumBody':
372
+ walkTSEnumBody(node, visitors);
373
+ break;
374
+ case 'TSEnumDeclaration':
375
+ walkTSEnumDeclaration(node, visitors);
376
+ break;
377
+ case 'TSEnumMember':
378
+ walkTSEnumMember(node, visitors);
379
+ break;
380
+ case 'TSExportAssignment':
381
+ walkTSExportAssignment(node, visitors);
382
+ break;
383
+ case 'TSExternalModuleReference':
384
+ walkTSExternalModuleReference(node, visitors);
385
+ break;
386
+ case 'TSFunctionType':
387
+ walkTSFunctionType(node, visitors);
388
+ break;
389
+ case 'TSImportEqualsDeclaration':
390
+ walkTSImportEqualsDeclaration(node, visitors);
391
+ break;
392
+ case 'TSImportType':
393
+ walkTSImportType(node, visitors);
394
+ break;
395
+ case 'TSIndexSignature':
396
+ walkTSIndexSignature(node, visitors);
397
+ break;
398
+ case 'TSIndexedAccessType':
399
+ walkTSIndexedAccessType(node, visitors);
400
+ break;
401
+ case 'TSInferType':
402
+ walkTSInferType(node, visitors);
403
+ break;
404
+ case 'TSInstantiationExpression':
405
+ walkTSInstantiationExpression(node, visitors);
406
+ break;
407
+ case 'TSInterfaceBody':
408
+ walkTSInterfaceBody(node, visitors);
409
+ break;
410
+ case 'TSInterfaceDeclaration':
411
+ walkTSInterfaceDeclaration(node, visitors);
412
+ break;
413
+ case 'TSInterfaceHeritage':
414
+ walkTSInterfaceHeritage(node, visitors);
415
+ break;
416
+ case 'TSIntersectionType':
417
+ walkTSIntersectionType(node, visitors);
418
+ break;
419
+ case 'TSJSDocNonNullableType':
420
+ walkTSJSDocNonNullableType(node, visitors);
421
+ break;
422
+ case 'TSJSDocNullableType':
423
+ walkTSJSDocNullableType(node, visitors);
424
+ break;
425
+ case 'TSLiteralType':
426
+ walkTSLiteralType(node, visitors);
427
+ break;
428
+ case 'TSMappedType':
429
+ walkTSMappedType(node, visitors);
430
+ break;
431
+ case 'TSMethodSignature':
432
+ walkTSMethodSignature(node, visitors);
433
+ break;
434
+ case 'TSModuleBlock':
435
+ walkTSModuleBlock(node, visitors);
436
+ break;
437
+ case 'TSModuleDeclaration':
438
+ walkTSModuleDeclaration(node, visitors);
439
+ break;
440
+ case 'TSNamedTupleMember':
441
+ walkTSNamedTupleMember(node, visitors);
442
+ break;
443
+ case 'TSNamespaceExportDeclaration':
444
+ walkTSNamespaceExportDeclaration(node, visitors);
445
+ break;
446
+ case 'TSNonNullExpression':
447
+ walkTSNonNullExpression(node, visitors);
448
+ break;
449
+ case 'TSOptionalType':
450
+ walkTSOptionalType(node, visitors);
451
+ break;
452
+ case 'TSParameterProperty':
453
+ walkTSParameterProperty(node, visitors);
454
+ break;
455
+ case 'TSParenthesizedType':
456
+ walkTSParenthesizedType(node, visitors);
457
+ break;
458
+ case 'TSPropertySignature':
459
+ walkTSPropertySignature(node, visitors);
460
+ break;
461
+ case 'TSQualifiedName':
462
+ walkTSQualifiedName(node, visitors);
463
+ break;
464
+ case 'TSRestType':
465
+ walkTSRestType(node, visitors);
466
+ break;
467
+ case 'TSSatisfiesExpression':
468
+ walkTSSatisfiesExpression(node, visitors);
469
+ break;
470
+ case 'TSTemplateLiteralType':
471
+ walkTSTemplateLiteralType(node, visitors);
472
+ break;
473
+ case 'TSTupleType':
474
+ walkTSTupleType(node, visitors);
475
+ break;
476
+ case 'TSTypeAliasDeclaration':
477
+ walkTSTypeAliasDeclaration(node, visitors);
478
+ break;
479
+ case 'TSTypeAnnotation':
480
+ walkTSTypeAnnotation(node, visitors);
481
+ break;
482
+ case 'TSTypeAssertion':
483
+ walkTSTypeAssertion(node, visitors);
484
+ break;
485
+ case 'TSTypeLiteral':
486
+ walkTSTypeLiteral(node, visitors);
487
+ break;
488
+ case 'TSTypeOperator':
489
+ walkTSTypeOperator(node, visitors);
490
+ break;
491
+ case 'TSTypeParameter':
492
+ walkTSTypeParameter(node, visitors);
493
+ break;
494
+ case 'TSTypeParameterDeclaration':
495
+ walkTSTypeParameterDeclaration(node, visitors);
496
+ break;
497
+ case 'TSTypeParameterInstantiation':
498
+ walkTSTypeParameterInstantiation(node, visitors);
499
+ break;
500
+ case 'TSTypePredicate':
501
+ walkTSTypePredicate(node, visitors);
502
+ break;
503
+ case 'TSTypeQuery':
504
+ walkTSTypeQuery(node, visitors);
505
+ break;
506
+ case 'TSTypeReference':
507
+ walkTSTypeReference(node, visitors);
508
+ break;
509
+ case 'TSUnionType':
510
+ walkTSUnionType(node, visitors);
511
+ break;
512
+ }
513
+ }
514
+ }
515
+
516
+ function walkDebuggerStatement(node, visitors) {
517
+ const visit = visitors[0];
518
+ if (visit !== null) visit(node);
519
+ }
520
+
521
+ function walkEmptyStatement(node, visitors) {
522
+ const visit = visitors[1];
523
+ if (visit !== null) visit(node);
524
+ }
525
+
526
+ function walkLiteral(node, visitors) {
527
+ const visit = visitors[2];
528
+ if (visit !== null) visit(node);
529
+ }
530
+
531
+ function walkPrivateIdentifier(node, visitors) {
532
+ const visit = visitors[3];
533
+ if (visit !== null) visit(node);
534
+ }
535
+
536
+ function walkSuper(node, visitors) {
537
+ const visit = visitors[4];
538
+ if (visit !== null) visit(node);
539
+ }
540
+
541
+ function walkTemplateElement(node, visitors) {
542
+ const visit = visitors[5];
543
+ if (visit !== null) visit(node);
544
+ }
545
+
546
+ function walkThisExpression(node, visitors) {
547
+ const visit = visitors[6];
548
+ if (visit !== null) visit(node);
549
+ }
550
+
551
+ function walkJSXClosingFragment(node, visitors) {
552
+ const visit = visitors[7];
553
+ if (visit !== null) visit(node);
554
+ }
555
+
556
+ function walkJSXEmptyExpression(node, visitors) {
557
+ const visit = visitors[8];
558
+ if (visit !== null) visit(node);
559
+ }
560
+
561
+ function walkJSXIdentifier(node, visitors) {
562
+ const visit = visitors[9];
563
+ if (visit !== null) visit(node);
564
+ }
565
+
566
+ function walkJSXOpeningFragment(node, visitors) {
567
+ const visit = visitors[10];
568
+ if (visit !== null) visit(node);
569
+ }
570
+
571
+ function walkJSXText(node, visitors) {
572
+ const visit = visitors[11];
573
+ if (visit !== null) visit(node);
574
+ }
575
+
576
+ function walkTSAnyKeyword(node, visitors) {
577
+ const visit = visitors[12];
578
+ if (visit !== null) visit(node);
579
+ }
580
+
581
+ function walkTSBigIntKeyword(node, visitors) {
582
+ const visit = visitors[13];
583
+ if (visit !== null) visit(node);
584
+ }
585
+
586
+ function walkTSBooleanKeyword(node, visitors) {
587
+ const visit = visitors[14];
588
+ if (visit !== null) visit(node);
589
+ }
590
+
591
+ function walkTSIntrinsicKeyword(node, visitors) {
592
+ const visit = visitors[15];
593
+ if (visit !== null) visit(node);
594
+ }
595
+
596
+ function walkTSJSDocUnknownType(node, visitors) {
597
+ const visit = visitors[16];
598
+ if (visit !== null) visit(node);
599
+ }
600
+
601
+ function walkTSNeverKeyword(node, visitors) {
602
+ const visit = visitors[17];
603
+ if (visit !== null) visit(node);
604
+ }
605
+
606
+ function walkTSNullKeyword(node, visitors) {
607
+ const visit = visitors[18];
608
+ if (visit !== null) visit(node);
609
+ }
610
+
611
+ function walkTSNumberKeyword(node, visitors) {
612
+ const visit = visitors[19];
613
+ if (visit !== null) visit(node);
614
+ }
615
+
616
+ function walkTSObjectKeyword(node, visitors) {
617
+ const visit = visitors[20];
618
+ if (visit !== null) visit(node);
619
+ }
620
+
621
+ function walkTSStringKeyword(node, visitors) {
622
+ const visit = visitors[21];
623
+ if (visit !== null) visit(node);
624
+ }
625
+
626
+ function walkTSSymbolKeyword(node, visitors) {
627
+ const visit = visitors[22];
628
+ if (visit !== null) visit(node);
629
+ }
630
+
631
+ function walkTSThisType(node, visitors) {
632
+ const visit = visitors[23];
633
+ if (visit !== null) visit(node);
634
+ }
635
+
636
+ function walkTSUndefinedKeyword(node, visitors) {
637
+ const visit = visitors[24];
638
+ if (visit !== null) visit(node);
639
+ }
640
+
641
+ function walkTSUnknownKeyword(node, visitors) {
642
+ const visit = visitors[25];
643
+ if (visit !== null) visit(node);
644
+ }
645
+
646
+ function walkTSVoidKeyword(node, visitors) {
647
+ const visit = visitors[26];
648
+ if (visit !== null) visit(node);
649
+ }
650
+
651
+ function walkAccessorProperty(node, visitors) {
652
+ const enterExit = visitors[27];
653
+ let exit = null;
654
+ if (enterExit !== null) {
655
+ let enter;
656
+ ({ enter, exit } = enterExit);
657
+ if (enter !== null) enter(node);
658
+ }
659
+ walkNode(node.decorators, visitors);
660
+ walkNode(node.key, visitors);
661
+ walkNode(node.typeAnnotation, visitors);
662
+ walkNode(node.value, visitors);
663
+ if (exit !== null) exit(node);
664
+ }
665
+
666
+ function walkArrayExpression(node, visitors) {
667
+ const enterExit = visitors[28];
668
+ let exit = null;
669
+ if (enterExit !== null) {
670
+ let enter;
671
+ ({ enter, exit } = enterExit);
672
+ if (enter !== null) enter(node);
673
+ }
674
+ walkNode(node.elements, visitors);
675
+ if (exit !== null) exit(node);
676
+ }
677
+
678
+ function walkArrayPattern(node, visitors) {
679
+ const enterExit = visitors[29];
680
+ let exit = null;
681
+ if (enterExit !== null) {
682
+ let enter;
683
+ ({ enter, exit } = enterExit);
684
+ if (enter !== null) enter(node);
685
+ }
686
+ walkNode(node.decorators, visitors);
687
+ walkNode(node.elements, visitors);
688
+ walkNode(node.typeAnnotation, visitors);
689
+ if (exit !== null) exit(node);
690
+ }
691
+
692
+ function walkArrowFunctionExpression(node, visitors) {
693
+ const enterExit = visitors[30];
694
+ let exit = null;
695
+ if (enterExit !== null) {
696
+ let enter;
697
+ ({ enter, exit } = enterExit);
698
+ if (enter !== null) enter(node);
699
+ }
700
+ walkNode(node.typeParameters, visitors);
701
+ walkNode(node.params, visitors);
702
+ walkNode(node.returnType, visitors);
703
+ walkNode(node.body, visitors);
704
+ if (exit !== null) exit(node);
705
+ }
706
+
707
+ function walkAssignmentExpression(node, visitors) {
708
+ const enterExit = visitors[31];
709
+ let exit = null;
710
+ if (enterExit !== null) {
711
+ let enter;
712
+ ({ enter, exit } = enterExit);
713
+ if (enter !== null) enter(node);
714
+ }
715
+ walkNode(node.left, visitors);
716
+ walkNode(node.right, visitors);
717
+ if (exit !== null) exit(node);
718
+ }
719
+
720
+ function walkAssignmentPattern(node, visitors) {
721
+ const enterExit = visitors[32];
722
+ let exit = null;
723
+ if (enterExit !== null) {
724
+ let enter;
725
+ ({ enter, exit } = enterExit);
726
+ if (enter !== null) enter(node);
727
+ }
728
+ walkNode(node.decorators, visitors);
729
+ walkNode(node.left, visitors);
730
+ walkNode(node.right, visitors);
731
+ walkNode(node.typeAnnotation, visitors);
732
+ if (exit !== null) exit(node);
733
+ }
734
+
735
+ function walkAwaitExpression(node, visitors) {
736
+ const enterExit = visitors[33];
737
+ let exit = null;
738
+ if (enterExit !== null) {
739
+ let enter;
740
+ ({ enter, exit } = enterExit);
741
+ if (enter !== null) enter(node);
742
+ }
743
+ walkNode(node.argument, visitors);
744
+ if (exit !== null) exit(node);
745
+ }
746
+
747
+ function walkBinaryExpression(node, visitors) {
748
+ const enterExit = visitors[34];
749
+ let exit = null;
750
+ if (enterExit !== null) {
751
+ let enter;
752
+ ({ enter, exit } = enterExit);
753
+ if (enter !== null) enter(node);
754
+ }
755
+ walkNode(node.left, visitors);
756
+ walkNode(node.right, visitors);
757
+ if (exit !== null) exit(node);
758
+ }
759
+
760
+ function walkBlockStatement(node, visitors) {
761
+ const enterExit = visitors[35];
762
+ let exit = null;
763
+ if (enterExit !== null) {
764
+ let enter;
765
+ ({ enter, exit } = enterExit);
766
+ if (enter !== null) enter(node);
767
+ }
768
+ walkNode(node.body, visitors);
769
+ if (exit !== null) exit(node);
770
+ }
771
+
772
+ function walkBreakStatement(node, visitors) {
773
+ const enterExit = visitors[36];
774
+ let exit = null;
775
+ if (enterExit !== null) {
776
+ let enter;
777
+ ({ enter, exit } = enterExit);
778
+ if (enter !== null) enter(node);
779
+ }
780
+ walkNode(node.label, visitors);
781
+ if (exit !== null) exit(node);
782
+ }
783
+
784
+ function walkCallExpression(node, visitors) {
785
+ const enterExit = visitors[37];
786
+ let exit = null;
787
+ if (enterExit !== null) {
788
+ let enter;
789
+ ({ enter, exit } = enterExit);
790
+ if (enter !== null) enter(node);
791
+ }
792
+ walkNode(node.callee, visitors);
793
+ walkNode(node.typeArguments, visitors);
794
+ walkNode(node.arguments, visitors);
795
+ if (exit !== null) exit(node);
796
+ }
797
+
798
+ function walkCatchClause(node, visitors) {
799
+ const enterExit = visitors[38];
800
+ let exit = null;
801
+ if (enterExit !== null) {
802
+ let enter;
803
+ ({ enter, exit } = enterExit);
804
+ if (enter !== null) enter(node);
805
+ }
806
+ walkNode(node.param, visitors);
807
+ walkNode(node.body, visitors);
808
+ if (exit !== null) exit(node);
809
+ }
810
+
811
+ function walkChainExpression(node, visitors) {
812
+ const enterExit = visitors[39];
813
+ let exit = null;
814
+ if (enterExit !== null) {
815
+ let enter;
816
+ ({ enter, exit } = enterExit);
817
+ if (enter !== null) enter(node);
818
+ }
819
+ walkNode(node.expression, visitors);
820
+ if (exit !== null) exit(node);
821
+ }
822
+
823
+ function walkClassBody(node, visitors) {
824
+ const enterExit = visitors[40];
825
+ let exit = null;
826
+ if (enterExit !== null) {
827
+ let enter;
828
+ ({ enter, exit } = enterExit);
829
+ if (enter !== null) enter(node);
830
+ }
831
+ walkNode(node.body, visitors);
832
+ if (exit !== null) exit(node);
833
+ }
834
+
835
+ function walkClassDeclaration(node, visitors) {
836
+ const enterExit = visitors[41];
837
+ let exit = null;
838
+ if (enterExit !== null) {
839
+ let enter;
840
+ ({ enter, exit } = enterExit);
841
+ if (enter !== null) enter(node);
842
+ }
843
+ walkNode(node.decorators, visitors);
844
+ walkNode(node.id, visitors);
845
+ walkNode(node.typeParameters, visitors);
846
+ walkNode(node.superClass, visitors);
847
+ walkNode(node.superTypeArguments, visitors);
848
+ walkNode(node.implements, visitors);
849
+ walkNode(node.body, visitors);
850
+ if (exit !== null) exit(node);
851
+ }
852
+
853
+ function walkClassExpression(node, visitors) {
854
+ const enterExit = visitors[42];
855
+ let exit = null;
856
+ if (enterExit !== null) {
857
+ let enter;
858
+ ({ enter, exit } = enterExit);
859
+ if (enter !== null) enter(node);
860
+ }
861
+ walkNode(node.decorators, visitors);
862
+ walkNode(node.id, visitors);
863
+ walkNode(node.typeParameters, visitors);
864
+ walkNode(node.superClass, visitors);
865
+ walkNode(node.superTypeArguments, visitors);
866
+ walkNode(node.implements, visitors);
867
+ walkNode(node.body, visitors);
868
+ if (exit !== null) exit(node);
869
+ }
870
+
871
+ function walkConditionalExpression(node, visitors) {
872
+ const enterExit = visitors[43];
873
+ let exit = null;
874
+ if (enterExit !== null) {
875
+ let enter;
876
+ ({ enter, exit } = enterExit);
877
+ if (enter !== null) enter(node);
878
+ }
879
+ walkNode(node.test, visitors);
880
+ walkNode(node.consequent, visitors);
881
+ walkNode(node.alternate, visitors);
882
+ if (exit !== null) exit(node);
883
+ }
884
+
885
+ function walkContinueStatement(node, visitors) {
886
+ const enterExit = visitors[44];
887
+ let exit = null;
888
+ if (enterExit !== null) {
889
+ let enter;
890
+ ({ enter, exit } = enterExit);
891
+ if (enter !== null) enter(node);
892
+ }
893
+ walkNode(node.label, visitors);
894
+ if (exit !== null) exit(node);
895
+ }
896
+
897
+ function walkDecorator(node, visitors) {
898
+ const enterExit = visitors[45];
899
+ let exit = null;
900
+ if (enterExit !== null) {
901
+ let enter;
902
+ ({ enter, exit } = enterExit);
903
+ if (enter !== null) enter(node);
904
+ }
905
+ walkNode(node.expression, visitors);
906
+ if (exit !== null) exit(node);
907
+ }
908
+
909
+ function walkDoWhileStatement(node, visitors) {
910
+ const enterExit = visitors[46];
911
+ let exit = null;
912
+ if (enterExit !== null) {
913
+ let enter;
914
+ ({ enter, exit } = enterExit);
915
+ if (enter !== null) enter(node);
916
+ }
917
+ walkNode(node.body, visitors);
918
+ walkNode(node.test, visitors);
919
+ if (exit !== null) exit(node);
920
+ }
921
+
922
+ function walkExportAllDeclaration(node, visitors) {
923
+ const enterExit = visitors[47];
924
+ let exit = null;
925
+ if (enterExit !== null) {
926
+ let enter;
927
+ ({ enter, exit } = enterExit);
928
+ if (enter !== null) enter(node);
929
+ }
930
+ walkNode(node.exported, visitors);
931
+ walkNode(node.source, visitors);
932
+ walkNode(node.attributes, visitors);
933
+ if (exit !== null) exit(node);
934
+ }
935
+
936
+ function walkExportDefaultDeclaration(node, visitors) {
937
+ const enterExit = visitors[48];
938
+ let exit = null;
939
+ if (enterExit !== null) {
940
+ let enter;
941
+ ({ enter, exit } = enterExit);
942
+ if (enter !== null) enter(node);
943
+ }
944
+ walkNode(node.declaration, visitors);
945
+ if (exit !== null) exit(node);
946
+ }
947
+
948
+ function walkExportNamedDeclaration(node, visitors) {
949
+ const enterExit = visitors[49];
950
+ let exit = null;
951
+ if (enterExit !== null) {
952
+ let enter;
953
+ ({ enter, exit } = enterExit);
954
+ if (enter !== null) enter(node);
955
+ }
956
+ walkNode(node.declaration, visitors);
957
+ walkNode(node.specifiers, visitors);
958
+ walkNode(node.source, visitors);
959
+ walkNode(node.attributes, visitors);
960
+ if (exit !== null) exit(node);
961
+ }
962
+
963
+ function walkExportSpecifier(node, visitors) {
964
+ const enterExit = visitors[50];
965
+ let exit = null;
966
+ if (enterExit !== null) {
967
+ let enter;
968
+ ({ enter, exit } = enterExit);
969
+ if (enter !== null) enter(node);
970
+ }
971
+ walkNode(node.local, visitors);
972
+ walkNode(node.exported, visitors);
973
+ if (exit !== null) exit(node);
974
+ }
975
+
976
+ function walkExpressionStatement(node, visitors) {
977
+ const enterExit = visitors[51];
978
+ let exit = null;
979
+ if (enterExit !== null) {
980
+ let enter;
981
+ ({ enter, exit } = enterExit);
982
+ if (enter !== null) enter(node);
983
+ }
984
+ walkNode(node.expression, visitors);
985
+ if (exit !== null) exit(node);
986
+ }
987
+
988
+ function walkForInStatement(node, visitors) {
989
+ const enterExit = visitors[52];
990
+ let exit = null;
991
+ if (enterExit !== null) {
992
+ let enter;
993
+ ({ enter, exit } = enterExit);
994
+ if (enter !== null) enter(node);
995
+ }
996
+ walkNode(node.left, visitors);
997
+ walkNode(node.right, visitors);
998
+ walkNode(node.body, visitors);
999
+ if (exit !== null) exit(node);
1000
+ }
1001
+
1002
+ function walkForOfStatement(node, visitors) {
1003
+ const enterExit = visitors[53];
1004
+ let exit = null;
1005
+ if (enterExit !== null) {
1006
+ let enter;
1007
+ ({ enter, exit } = enterExit);
1008
+ if (enter !== null) enter(node);
1009
+ }
1010
+ walkNode(node.left, visitors);
1011
+ walkNode(node.right, visitors);
1012
+ walkNode(node.body, visitors);
1013
+ if (exit !== null) exit(node);
1014
+ }
1015
+
1016
+ function walkForStatement(node, visitors) {
1017
+ const enterExit = visitors[54];
1018
+ let exit = null;
1019
+ if (enterExit !== null) {
1020
+ let enter;
1021
+ ({ enter, exit } = enterExit);
1022
+ if (enter !== null) enter(node);
1023
+ }
1024
+ walkNode(node.init, visitors);
1025
+ walkNode(node.test, visitors);
1026
+ walkNode(node.update, visitors);
1027
+ walkNode(node.body, visitors);
1028
+ if (exit !== null) exit(node);
1029
+ }
1030
+
1031
+ function walkFunctionDeclaration(node, visitors) {
1032
+ const enterExit = visitors[55];
1033
+ let exit = null;
1034
+ if (enterExit !== null) {
1035
+ let enter;
1036
+ ({ enter, exit } = enterExit);
1037
+ if (enter !== null) enter(node);
1038
+ }
1039
+ walkNode(node.id, visitors);
1040
+ walkNode(node.typeParameters, visitors);
1041
+ walkNode(node.params, visitors);
1042
+ walkNode(node.returnType, visitors);
1043
+ walkNode(node.body, visitors);
1044
+ if (exit !== null) exit(node);
1045
+ }
1046
+
1047
+ function walkFunctionExpression(node, visitors) {
1048
+ const enterExit = visitors[56];
1049
+ let exit = null;
1050
+ if (enterExit !== null) {
1051
+ let enter;
1052
+ ({ enter, exit } = enterExit);
1053
+ if (enter !== null) enter(node);
1054
+ }
1055
+ walkNode(node.id, visitors);
1056
+ walkNode(node.typeParameters, visitors);
1057
+ walkNode(node.params, visitors);
1058
+ walkNode(node.returnType, visitors);
1059
+ walkNode(node.body, visitors);
1060
+ if (exit !== null) exit(node);
1061
+ }
1062
+
1063
+ function walkIdentifier(node, visitors) {
1064
+ const enterExit = visitors[57];
1065
+ let exit = null;
1066
+ if (enterExit !== null) {
1067
+ let enter;
1068
+ ({ enter, exit } = enterExit);
1069
+ if (enter !== null) enter(node);
1070
+ }
1071
+ walkNode(node.decorators, visitors);
1072
+ walkNode(node.typeAnnotation, visitors);
1073
+ if (exit !== null) exit(node);
1074
+ }
1075
+
1076
+ function walkIfStatement(node, visitors) {
1077
+ const enterExit = visitors[58];
1078
+ let exit = null;
1079
+ if (enterExit !== null) {
1080
+ let enter;
1081
+ ({ enter, exit } = enterExit);
1082
+ if (enter !== null) enter(node);
1083
+ }
1084
+ walkNode(node.test, visitors);
1085
+ walkNode(node.consequent, visitors);
1086
+ walkNode(node.alternate, visitors);
1087
+ if (exit !== null) exit(node);
1088
+ }
1089
+
1090
+ function walkImportAttribute(node, visitors) {
1091
+ const enterExit = visitors[59];
1092
+ let exit = null;
1093
+ if (enterExit !== null) {
1094
+ let enter;
1095
+ ({ enter, exit } = enterExit);
1096
+ if (enter !== null) enter(node);
1097
+ }
1098
+ walkNode(node.key, visitors);
1099
+ walkNode(node.value, visitors);
1100
+ if (exit !== null) exit(node);
1101
+ }
1102
+
1103
+ function walkImportDeclaration(node, visitors) {
1104
+ const enterExit = visitors[60];
1105
+ let exit = null;
1106
+ if (enterExit !== null) {
1107
+ let enter;
1108
+ ({ enter, exit } = enterExit);
1109
+ if (enter !== null) enter(node);
1110
+ }
1111
+ walkNode(node.specifiers, visitors);
1112
+ walkNode(node.source, visitors);
1113
+ walkNode(node.attributes, visitors);
1114
+ if (exit !== null) exit(node);
1115
+ }
1116
+
1117
+ function walkImportDefaultSpecifier(node, visitors) {
1118
+ const enterExit = visitors[61];
1119
+ let exit = null;
1120
+ if (enterExit !== null) {
1121
+ let enter;
1122
+ ({ enter, exit } = enterExit);
1123
+ if (enter !== null) enter(node);
1124
+ }
1125
+ walkNode(node.local, visitors);
1126
+ if (exit !== null) exit(node);
1127
+ }
1128
+
1129
+ function walkImportExpression(node, visitors) {
1130
+ const enterExit = visitors[62];
1131
+ let exit = null;
1132
+ if (enterExit !== null) {
1133
+ let enter;
1134
+ ({ enter, exit } = enterExit);
1135
+ if (enter !== null) enter(node);
1136
+ }
1137
+ walkNode(node.source, visitors);
1138
+ walkNode(node.options, visitors);
1139
+ if (exit !== null) exit(node);
1140
+ }
1141
+
1142
+ function walkImportNamespaceSpecifier(node, visitors) {
1143
+ const enterExit = visitors[63];
1144
+ let exit = null;
1145
+ if (enterExit !== null) {
1146
+ let enter;
1147
+ ({ enter, exit } = enterExit);
1148
+ if (enter !== null) enter(node);
1149
+ }
1150
+ walkNode(node.local, visitors);
1151
+ if (exit !== null) exit(node);
1152
+ }
1153
+
1154
+ function walkImportSpecifier(node, visitors) {
1155
+ const enterExit = visitors[64];
1156
+ let exit = null;
1157
+ if (enterExit !== null) {
1158
+ let enter;
1159
+ ({ enter, exit } = enterExit);
1160
+ if (enter !== null) enter(node);
1161
+ }
1162
+ walkNode(node.imported, visitors);
1163
+ walkNode(node.local, visitors);
1164
+ if (exit !== null) exit(node);
1165
+ }
1166
+
1167
+ function walkLabeledStatement(node, visitors) {
1168
+ const enterExit = visitors[65];
1169
+ let exit = null;
1170
+ if (enterExit !== null) {
1171
+ let enter;
1172
+ ({ enter, exit } = enterExit);
1173
+ if (enter !== null) enter(node);
1174
+ }
1175
+ walkNode(node.label, visitors);
1176
+ walkNode(node.body, visitors);
1177
+ if (exit !== null) exit(node);
1178
+ }
1179
+
1180
+ function walkLogicalExpression(node, visitors) {
1181
+ const enterExit = visitors[66];
1182
+ let exit = null;
1183
+ if (enterExit !== null) {
1184
+ let enter;
1185
+ ({ enter, exit } = enterExit);
1186
+ if (enter !== null) enter(node);
1187
+ }
1188
+ walkNode(node.left, visitors);
1189
+ walkNode(node.right, visitors);
1190
+ if (exit !== null) exit(node);
1191
+ }
1192
+
1193
+ function walkMemberExpression(node, visitors) {
1194
+ const enterExit = visitors[67];
1195
+ let exit = null;
1196
+ if (enterExit !== null) {
1197
+ let enter;
1198
+ ({ enter, exit } = enterExit);
1199
+ if (enter !== null) enter(node);
1200
+ }
1201
+ walkNode(node.object, visitors);
1202
+ walkNode(node.property, visitors);
1203
+ if (exit !== null) exit(node);
1204
+ }
1205
+
1206
+ function walkMetaProperty(node, visitors) {
1207
+ const enterExit = visitors[68];
1208
+ let exit = null;
1209
+ if (enterExit !== null) {
1210
+ let enter;
1211
+ ({ enter, exit } = enterExit);
1212
+ if (enter !== null) enter(node);
1213
+ }
1214
+ walkNode(node.meta, visitors);
1215
+ walkNode(node.property, visitors);
1216
+ if (exit !== null) exit(node);
1217
+ }
1218
+
1219
+ function walkMethodDefinition(node, visitors) {
1220
+ const enterExit = visitors[69];
1221
+ let exit = null;
1222
+ if (enterExit !== null) {
1223
+ let enter;
1224
+ ({ enter, exit } = enterExit);
1225
+ if (enter !== null) enter(node);
1226
+ }
1227
+ walkNode(node.decorators, visitors);
1228
+ walkNode(node.key, visitors);
1229
+ walkNode(node.value, visitors);
1230
+ if (exit !== null) exit(node);
1231
+ }
1232
+
1233
+ function walkNewExpression(node, visitors) {
1234
+ const enterExit = visitors[70];
1235
+ let exit = null;
1236
+ if (enterExit !== null) {
1237
+ let enter;
1238
+ ({ enter, exit } = enterExit);
1239
+ if (enter !== null) enter(node);
1240
+ }
1241
+ walkNode(node.callee, visitors);
1242
+ walkNode(node.typeArguments, visitors);
1243
+ walkNode(node.arguments, visitors);
1244
+ if (exit !== null) exit(node);
1245
+ }
1246
+
1247
+ function walkObjectExpression(node, visitors) {
1248
+ const enterExit = visitors[71];
1249
+ let exit = null;
1250
+ if (enterExit !== null) {
1251
+ let enter;
1252
+ ({ enter, exit } = enterExit);
1253
+ if (enter !== null) enter(node);
1254
+ }
1255
+ walkNode(node.properties, visitors);
1256
+ if (exit !== null) exit(node);
1257
+ }
1258
+
1259
+ function walkObjectPattern(node, visitors) {
1260
+ const enterExit = visitors[72];
1261
+ let exit = null;
1262
+ if (enterExit !== null) {
1263
+ let enter;
1264
+ ({ enter, exit } = enterExit);
1265
+ if (enter !== null) enter(node);
1266
+ }
1267
+ walkNode(node.decorators, visitors);
1268
+ walkNode(node.properties, visitors);
1269
+ walkNode(node.typeAnnotation, visitors);
1270
+ if (exit !== null) exit(node);
1271
+ }
1272
+
1273
+ function walkParenthesizedExpression(node, visitors) {
1274
+ const enterExit = visitors[73];
1275
+ let exit = null;
1276
+ if (enterExit !== null) {
1277
+ let enter;
1278
+ ({ enter, exit } = enterExit);
1279
+ if (enter !== null) enter(node);
1280
+ }
1281
+ walkNode(node.expression, visitors);
1282
+ if (exit !== null) exit(node);
1283
+ }
1284
+
1285
+ function walkProgram(node, visitors) {
1286
+ const enterExit = visitors[74];
1287
+ let exit = null;
1288
+ if (enterExit !== null) {
1289
+ let enter;
1290
+ ({ enter, exit } = enterExit);
1291
+ if (enter !== null) enter(node);
1292
+ }
1293
+ walkNode(node.body, visitors);
1294
+ if (exit !== null) exit(node);
1295
+ }
1296
+
1297
+ function walkProperty(node, visitors) {
1298
+ const enterExit = visitors[75];
1299
+ let exit = null;
1300
+ if (enterExit !== null) {
1301
+ let enter;
1302
+ ({ enter, exit } = enterExit);
1303
+ if (enter !== null) enter(node);
1304
+ }
1305
+ walkNode(node.key, visitors);
1306
+ walkNode(node.value, visitors);
1307
+ if (exit !== null) exit(node);
1308
+ }
1309
+
1310
+ function walkPropertyDefinition(node, visitors) {
1311
+ const enterExit = visitors[76];
1312
+ let exit = null;
1313
+ if (enterExit !== null) {
1314
+ let enter;
1315
+ ({ enter, exit } = enterExit);
1316
+ if (enter !== null) enter(node);
1317
+ }
1318
+ walkNode(node.decorators, visitors);
1319
+ walkNode(node.key, visitors);
1320
+ walkNode(node.typeAnnotation, visitors);
1321
+ walkNode(node.value, visitors);
1322
+ if (exit !== null) exit(node);
1323
+ }
1324
+
1325
+ function walkRestElement(node, visitors) {
1326
+ const enterExit = visitors[77];
1327
+ let exit = null;
1328
+ if (enterExit !== null) {
1329
+ let enter;
1330
+ ({ enter, exit } = enterExit);
1331
+ if (enter !== null) enter(node);
1332
+ }
1333
+ walkNode(node.decorators, visitors);
1334
+ walkNode(node.argument, visitors);
1335
+ walkNode(node.typeAnnotation, visitors);
1336
+ if (exit !== null) exit(node);
1337
+ }
1338
+
1339
+ function walkReturnStatement(node, visitors) {
1340
+ const enterExit = visitors[78];
1341
+ let exit = null;
1342
+ if (enterExit !== null) {
1343
+ let enter;
1344
+ ({ enter, exit } = enterExit);
1345
+ if (enter !== null) enter(node);
1346
+ }
1347
+ walkNode(node.argument, visitors);
1348
+ if (exit !== null) exit(node);
1349
+ }
1350
+
1351
+ function walkSequenceExpression(node, visitors) {
1352
+ const enterExit = visitors[79];
1353
+ let exit = null;
1354
+ if (enterExit !== null) {
1355
+ let enter;
1356
+ ({ enter, exit } = enterExit);
1357
+ if (enter !== null) enter(node);
1358
+ }
1359
+ walkNode(node.expressions, visitors);
1360
+ if (exit !== null) exit(node);
1361
+ }
1362
+
1363
+ function walkSpreadElement(node, visitors) {
1364
+ const enterExit = visitors[80];
1365
+ let exit = null;
1366
+ if (enterExit !== null) {
1367
+ let enter;
1368
+ ({ enter, exit } = enterExit);
1369
+ if (enter !== null) enter(node);
1370
+ }
1371
+ walkNode(node.argument, visitors);
1372
+ if (exit !== null) exit(node);
1373
+ }
1374
+
1375
+ function walkStaticBlock(node, visitors) {
1376
+ const enterExit = visitors[81];
1377
+ let exit = null;
1378
+ if (enterExit !== null) {
1379
+ let enter;
1380
+ ({ enter, exit } = enterExit);
1381
+ if (enter !== null) enter(node);
1382
+ }
1383
+ walkNode(node.body, visitors);
1384
+ if (exit !== null) exit(node);
1385
+ }
1386
+
1387
+ function walkSwitchCase(node, visitors) {
1388
+ const enterExit = visitors[82];
1389
+ let exit = null;
1390
+ if (enterExit !== null) {
1391
+ let enter;
1392
+ ({ enter, exit } = enterExit);
1393
+ if (enter !== null) enter(node);
1394
+ }
1395
+ walkNode(node.test, visitors);
1396
+ walkNode(node.consequent, visitors);
1397
+ if (exit !== null) exit(node);
1398
+ }
1399
+
1400
+ function walkSwitchStatement(node, visitors) {
1401
+ const enterExit = visitors[83];
1402
+ let exit = null;
1403
+ if (enterExit !== null) {
1404
+ let enter;
1405
+ ({ enter, exit } = enterExit);
1406
+ if (enter !== null) enter(node);
1407
+ }
1408
+ walkNode(node.discriminant, visitors);
1409
+ walkNode(node.cases, visitors);
1410
+ if (exit !== null) exit(node);
1411
+ }
1412
+
1413
+ function walkTaggedTemplateExpression(node, visitors) {
1414
+ const enterExit = visitors[84];
1415
+ let exit = null;
1416
+ if (enterExit !== null) {
1417
+ let enter;
1418
+ ({ enter, exit } = enterExit);
1419
+ if (enter !== null) enter(node);
1420
+ }
1421
+ walkNode(node.tag, visitors);
1422
+ walkNode(node.typeArguments, visitors);
1423
+ walkNode(node.quasi, visitors);
1424
+ if (exit !== null) exit(node);
1425
+ }
1426
+
1427
+ function walkTemplateLiteral(node, visitors) {
1428
+ const enterExit = visitors[85];
1429
+ let exit = null;
1430
+ if (enterExit !== null) {
1431
+ let enter;
1432
+ ({ enter, exit } = enterExit);
1433
+ if (enter !== null) enter(node);
1434
+ }
1435
+ walkNode(node.quasis, visitors);
1436
+ walkNode(node.expressions, visitors);
1437
+ if (exit !== null) exit(node);
1438
+ }
1439
+
1440
+ function walkThrowStatement(node, visitors) {
1441
+ const enterExit = visitors[86];
1442
+ let exit = null;
1443
+ if (enterExit !== null) {
1444
+ let enter;
1445
+ ({ enter, exit } = enterExit);
1446
+ if (enter !== null) enter(node);
1447
+ }
1448
+ walkNode(node.argument, visitors);
1449
+ if (exit !== null) exit(node);
1450
+ }
1451
+
1452
+ function walkTryStatement(node, visitors) {
1453
+ const enterExit = visitors[87];
1454
+ let exit = null;
1455
+ if (enterExit !== null) {
1456
+ let enter;
1457
+ ({ enter, exit } = enterExit);
1458
+ if (enter !== null) enter(node);
1459
+ }
1460
+ walkNode(node.block, visitors);
1461
+ walkNode(node.handler, visitors);
1462
+ walkNode(node.finalizer, visitors);
1463
+ if (exit !== null) exit(node);
1464
+ }
1465
+
1466
+ function walkUnaryExpression(node, visitors) {
1467
+ const enterExit = visitors[88];
1468
+ let exit = null;
1469
+ if (enterExit !== null) {
1470
+ let enter;
1471
+ ({ enter, exit } = enterExit);
1472
+ if (enter !== null) enter(node);
1473
+ }
1474
+ walkNode(node.argument, visitors);
1475
+ if (exit !== null) exit(node);
1476
+ }
1477
+
1478
+ function walkUpdateExpression(node, visitors) {
1479
+ const enterExit = visitors[89];
1480
+ let exit = null;
1481
+ if (enterExit !== null) {
1482
+ let enter;
1483
+ ({ enter, exit } = enterExit);
1484
+ if (enter !== null) enter(node);
1485
+ }
1486
+ walkNode(node.argument, visitors);
1487
+ if (exit !== null) exit(node);
1488
+ }
1489
+
1490
+ function walkV8IntrinsicExpression(node, visitors) {
1491
+ const enterExit = visitors[90];
1492
+ let exit = null;
1493
+ if (enterExit !== null) {
1494
+ let enter;
1495
+ ({ enter, exit } = enterExit);
1496
+ if (enter !== null) enter(node);
1497
+ }
1498
+ walkNode(node.name, visitors);
1499
+ walkNode(node.arguments, visitors);
1500
+ if (exit !== null) exit(node);
1501
+ }
1502
+
1503
+ function walkVariableDeclaration(node, visitors) {
1504
+ const enterExit = visitors[91];
1505
+ let exit = null;
1506
+ if (enterExit !== null) {
1507
+ let enter;
1508
+ ({ enter, exit } = enterExit);
1509
+ if (enter !== null) enter(node);
1510
+ }
1511
+ walkNode(node.declarations, visitors);
1512
+ if (exit !== null) exit(node);
1513
+ }
1514
+
1515
+ function walkVariableDeclarator(node, visitors) {
1516
+ const enterExit = visitors[92];
1517
+ let exit = null;
1518
+ if (enterExit !== null) {
1519
+ let enter;
1520
+ ({ enter, exit } = enterExit);
1521
+ if (enter !== null) enter(node);
1522
+ }
1523
+ walkNode(node.id, visitors);
1524
+ walkNode(node.init, visitors);
1525
+ if (exit !== null) exit(node);
1526
+ }
1527
+
1528
+ function walkWhileStatement(node, visitors) {
1529
+ const enterExit = visitors[93];
1530
+ let exit = null;
1531
+ if (enterExit !== null) {
1532
+ let enter;
1533
+ ({ enter, exit } = enterExit);
1534
+ if (enter !== null) enter(node);
1535
+ }
1536
+ walkNode(node.test, visitors);
1537
+ walkNode(node.body, visitors);
1538
+ if (exit !== null) exit(node);
1539
+ }
1540
+
1541
+ function walkWithStatement(node, visitors) {
1542
+ const enterExit = visitors[94];
1543
+ let exit = null;
1544
+ if (enterExit !== null) {
1545
+ let enter;
1546
+ ({ enter, exit } = enterExit);
1547
+ if (enter !== null) enter(node);
1548
+ }
1549
+ walkNode(node.object, visitors);
1550
+ walkNode(node.body, visitors);
1551
+ if (exit !== null) exit(node);
1552
+ }
1553
+
1554
+ function walkYieldExpression(node, visitors) {
1555
+ const enterExit = visitors[95];
1556
+ let exit = null;
1557
+ if (enterExit !== null) {
1558
+ let enter;
1559
+ ({ enter, exit } = enterExit);
1560
+ if (enter !== null) enter(node);
1561
+ }
1562
+ walkNode(node.argument, visitors);
1563
+ if (exit !== null) exit(node);
1564
+ }
1565
+
1566
+ function walkJSXAttribute(node, visitors) {
1567
+ const enterExit = visitors[96];
1568
+ let exit = null;
1569
+ if (enterExit !== null) {
1570
+ let enter;
1571
+ ({ enter, exit } = enterExit);
1572
+ if (enter !== null) enter(node);
1573
+ }
1574
+ walkNode(node.name, visitors);
1575
+ walkNode(node.value, visitors);
1576
+ if (exit !== null) exit(node);
1577
+ }
1578
+
1579
+ function walkJSXClosingElement(node, visitors) {
1580
+ const enterExit = visitors[97];
1581
+ let exit = null;
1582
+ if (enterExit !== null) {
1583
+ let enter;
1584
+ ({ enter, exit } = enterExit);
1585
+ if (enter !== null) enter(node);
1586
+ }
1587
+ walkNode(node.name, visitors);
1588
+ if (exit !== null) exit(node);
1589
+ }
1590
+
1591
+ function walkJSXElement(node, visitors) {
1592
+ const enterExit = visitors[98];
1593
+ let exit = null;
1594
+ if (enterExit !== null) {
1595
+ let enter;
1596
+ ({ enter, exit } = enterExit);
1597
+ if (enter !== null) enter(node);
1598
+ }
1599
+ walkNode(node.openingElement, visitors);
1600
+ walkNode(node.children, visitors);
1601
+ walkNode(node.closingElement, visitors);
1602
+ if (exit !== null) exit(node);
1603
+ }
1604
+
1605
+ function walkJSXExpressionContainer(node, visitors) {
1606
+ const enterExit = visitors[99];
1607
+ let exit = null;
1608
+ if (enterExit !== null) {
1609
+ let enter;
1610
+ ({ enter, exit } = enterExit);
1611
+ if (enter !== null) enter(node);
1612
+ }
1613
+ walkNode(node.expression, visitors);
1614
+ if (exit !== null) exit(node);
1615
+ }
1616
+
1617
+ function walkJSXFragment(node, visitors) {
1618
+ const enterExit = visitors[100];
1619
+ let exit = null;
1620
+ if (enterExit !== null) {
1621
+ let enter;
1622
+ ({ enter, exit } = enterExit);
1623
+ if (enter !== null) enter(node);
1624
+ }
1625
+ walkNode(node.openingFragment, visitors);
1626
+ walkNode(node.children, visitors);
1627
+ walkNode(node.closingFragment, visitors);
1628
+ if (exit !== null) exit(node);
1629
+ }
1630
+
1631
+ function walkJSXMemberExpression(node, visitors) {
1632
+ const enterExit = visitors[101];
1633
+ let exit = null;
1634
+ if (enterExit !== null) {
1635
+ let enter;
1636
+ ({ enter, exit } = enterExit);
1637
+ if (enter !== null) enter(node);
1638
+ }
1639
+ walkNode(node.object, visitors);
1640
+ walkNode(node.property, visitors);
1641
+ if (exit !== null) exit(node);
1642
+ }
1643
+
1644
+ function walkJSXNamespacedName(node, visitors) {
1645
+ const enterExit = visitors[102];
1646
+ let exit = null;
1647
+ if (enterExit !== null) {
1648
+ let enter;
1649
+ ({ enter, exit } = enterExit);
1650
+ if (enter !== null) enter(node);
1651
+ }
1652
+ walkNode(node.namespace, visitors);
1653
+ walkNode(node.name, visitors);
1654
+ if (exit !== null) exit(node);
1655
+ }
1656
+
1657
+ function walkJSXOpeningElement(node, visitors) {
1658
+ const enterExit = visitors[103];
1659
+ let exit = null;
1660
+ if (enterExit !== null) {
1661
+ let enter;
1662
+ ({ enter, exit } = enterExit);
1663
+ if (enter !== null) enter(node);
1664
+ }
1665
+ walkNode(node.name, visitors);
1666
+ walkNode(node.typeArguments, visitors);
1667
+ walkNode(node.attributes, visitors);
1668
+ if (exit !== null) exit(node);
1669
+ }
1670
+
1671
+ function walkJSXSpreadAttribute(node, visitors) {
1672
+ const enterExit = visitors[104];
1673
+ let exit = null;
1674
+ if (enterExit !== null) {
1675
+ let enter;
1676
+ ({ enter, exit } = enterExit);
1677
+ if (enter !== null) enter(node);
1678
+ }
1679
+ walkNode(node.argument, visitors);
1680
+ if (exit !== null) exit(node);
1681
+ }
1682
+
1683
+ function walkJSXSpreadChild(node, visitors) {
1684
+ const enterExit = visitors[105];
1685
+ let exit = null;
1686
+ if (enterExit !== null) {
1687
+ let enter;
1688
+ ({ enter, exit } = enterExit);
1689
+ if (enter !== null) enter(node);
1690
+ }
1691
+ walkNode(node.expression, visitors);
1692
+ if (exit !== null) exit(node);
1693
+ }
1694
+
1695
+ function walkTSAbstractAccessorProperty(node, visitors) {
1696
+ const enterExit = visitors[106];
1697
+ let exit = null;
1698
+ if (enterExit !== null) {
1699
+ let enter;
1700
+ ({ enter, exit } = enterExit);
1701
+ if (enter !== null) enter(node);
1702
+ }
1703
+ walkNode(node.decorators, visitors);
1704
+ walkNode(node.key, visitors);
1705
+ walkNode(node.typeAnnotation, visitors);
1706
+ if (exit !== null) exit(node);
1707
+ }
1708
+
1709
+ function walkTSAbstractMethodDefinition(node, visitors) {
1710
+ const enterExit = visitors[107];
1711
+ let exit = null;
1712
+ if (enterExit !== null) {
1713
+ let enter;
1714
+ ({ enter, exit } = enterExit);
1715
+ if (enter !== null) enter(node);
1716
+ }
1717
+ walkNode(node.key, visitors);
1718
+ walkNode(node.value, visitors);
1719
+ if (exit !== null) exit(node);
1720
+ }
1721
+
1722
+ function walkTSAbstractPropertyDefinition(node, visitors) {
1723
+ const enterExit = visitors[108];
1724
+ let exit = null;
1725
+ if (enterExit !== null) {
1726
+ let enter;
1727
+ ({ enter, exit } = enterExit);
1728
+ if (enter !== null) enter(node);
1729
+ }
1730
+ walkNode(node.decorators, visitors);
1731
+ walkNode(node.key, visitors);
1732
+ walkNode(node.typeAnnotation, visitors);
1733
+ if (exit !== null) exit(node);
1734
+ }
1735
+
1736
+ function walkTSArrayType(node, visitors) {
1737
+ const enterExit = visitors[109];
1738
+ let exit = null;
1739
+ if (enterExit !== null) {
1740
+ let enter;
1741
+ ({ enter, exit } = enterExit);
1742
+ if (enter !== null) enter(node);
1743
+ }
1744
+ walkNode(node.elementType, visitors);
1745
+ if (exit !== null) exit(node);
1746
+ }
1747
+
1748
+ function walkTSAsExpression(node, visitors) {
1749
+ const enterExit = visitors[110];
1750
+ let exit = null;
1751
+ if (enterExit !== null) {
1752
+ let enter;
1753
+ ({ enter, exit } = enterExit);
1754
+ if (enter !== null) enter(node);
1755
+ }
1756
+ walkNode(node.expression, visitors);
1757
+ walkNode(node.typeAnnotation, visitors);
1758
+ if (exit !== null) exit(node);
1759
+ }
1760
+
1761
+ function walkTSCallSignatureDeclaration(node, visitors) {
1762
+ const enterExit = visitors[111];
1763
+ let exit = null;
1764
+ if (enterExit !== null) {
1765
+ let enter;
1766
+ ({ enter, exit } = enterExit);
1767
+ if (enter !== null) enter(node);
1768
+ }
1769
+ walkNode(node.typeParameters, visitors);
1770
+ walkNode(node.params, visitors);
1771
+ walkNode(node.returnType, visitors);
1772
+ if (exit !== null) exit(node);
1773
+ }
1774
+
1775
+ function walkTSClassImplements(node, visitors) {
1776
+ const enterExit = visitors[112];
1777
+ let exit = null;
1778
+ if (enterExit !== null) {
1779
+ let enter;
1780
+ ({ enter, exit } = enterExit);
1781
+ if (enter !== null) enter(node);
1782
+ }
1783
+ walkNode(node.expression, visitors);
1784
+ walkNode(node.typeArguments, visitors);
1785
+ if (exit !== null) exit(node);
1786
+ }
1787
+
1788
+ function walkTSConditionalType(node, visitors) {
1789
+ const enterExit = visitors[113];
1790
+ let exit = null;
1791
+ if (enterExit !== null) {
1792
+ let enter;
1793
+ ({ enter, exit } = enterExit);
1794
+ if (enter !== null) enter(node);
1795
+ }
1796
+ walkNode(node.checkType, visitors);
1797
+ walkNode(node.extendsType, visitors);
1798
+ walkNode(node.trueType, visitors);
1799
+ walkNode(node.falseType, visitors);
1800
+ if (exit !== null) exit(node);
1801
+ }
1802
+
1803
+ function walkTSConstructSignatureDeclaration(node, visitors) {
1804
+ const enterExit = visitors[114];
1805
+ let exit = null;
1806
+ if (enterExit !== null) {
1807
+ let enter;
1808
+ ({ enter, exit } = enterExit);
1809
+ if (enter !== null) enter(node);
1810
+ }
1811
+ walkNode(node.typeParameters, visitors);
1812
+ walkNode(node.params, visitors);
1813
+ walkNode(node.returnType, visitors);
1814
+ if (exit !== null) exit(node);
1815
+ }
1816
+
1817
+ function walkTSConstructorType(node, visitors) {
1818
+ const enterExit = visitors[115];
1819
+ let exit = null;
1820
+ if (enterExit !== null) {
1821
+ let enter;
1822
+ ({ enter, exit } = enterExit);
1823
+ if (enter !== null) enter(node);
1824
+ }
1825
+ walkNode(node.typeParameters, visitors);
1826
+ walkNode(node.params, visitors);
1827
+ walkNode(node.returnType, visitors);
1828
+ if (exit !== null) exit(node);
1829
+ }
1830
+
1831
+ function walkTSDeclareFunction(node, visitors) {
1832
+ const enterExit = visitors[116];
1833
+ let exit = null;
1834
+ if (enterExit !== null) {
1835
+ let enter;
1836
+ ({ enter, exit } = enterExit);
1837
+ if (enter !== null) enter(node);
1838
+ }
1839
+ walkNode(node.id, visitors);
1840
+ walkNode(node.typeParameters, visitors);
1841
+ walkNode(node.params, visitors);
1842
+ walkNode(node.returnType, visitors);
1843
+ walkNode(node.body, visitors);
1844
+ if (exit !== null) exit(node);
1845
+ }
1846
+
1847
+ function walkTSEmptyBodyFunctionExpression(node, visitors) {
1848
+ const enterExit = visitors[117];
1849
+ let exit = null;
1850
+ if (enterExit !== null) {
1851
+ let enter;
1852
+ ({ enter, exit } = enterExit);
1853
+ if (enter !== null) enter(node);
1854
+ }
1855
+ walkNode(node.id, visitors);
1856
+ walkNode(node.typeParameters, visitors);
1857
+ walkNode(node.params, visitors);
1858
+ walkNode(node.returnType, visitors);
1859
+ if (exit !== null) exit(node);
1860
+ }
1861
+
1862
+ function walkTSEnumBody(node, visitors) {
1863
+ const enterExit = visitors[118];
1864
+ let exit = null;
1865
+ if (enterExit !== null) {
1866
+ let enter;
1867
+ ({ enter, exit } = enterExit);
1868
+ if (enter !== null) enter(node);
1869
+ }
1870
+ walkNode(node.members, visitors);
1871
+ if (exit !== null) exit(node);
1872
+ }
1873
+
1874
+ function walkTSEnumDeclaration(node, visitors) {
1875
+ const enterExit = visitors[119];
1876
+ let exit = null;
1877
+ if (enterExit !== null) {
1878
+ let enter;
1879
+ ({ enter, exit } = enterExit);
1880
+ if (enter !== null) enter(node);
1881
+ }
1882
+ walkNode(node.id, visitors);
1883
+ walkNode(node.body, visitors);
1884
+ if (exit !== null) exit(node);
1885
+ }
1886
+
1887
+ function walkTSEnumMember(node, visitors) {
1888
+ const enterExit = visitors[120];
1889
+ let exit = null;
1890
+ if (enterExit !== null) {
1891
+ let enter;
1892
+ ({ enter, exit } = enterExit);
1893
+ if (enter !== null) enter(node);
1894
+ }
1895
+ walkNode(node.id, visitors);
1896
+ walkNode(node.initializer, visitors);
1897
+ if (exit !== null) exit(node);
1898
+ }
1899
+
1900
+ function walkTSExportAssignment(node, visitors) {
1901
+ const enterExit = visitors[121];
1902
+ let exit = null;
1903
+ if (enterExit !== null) {
1904
+ let enter;
1905
+ ({ enter, exit } = enterExit);
1906
+ if (enter !== null) enter(node);
1907
+ }
1908
+ walkNode(node.expression, visitors);
1909
+ if (exit !== null) exit(node);
1910
+ }
1911
+
1912
+ function walkTSExternalModuleReference(node, visitors) {
1913
+ const enterExit = visitors[122];
1914
+ let exit = null;
1915
+ if (enterExit !== null) {
1916
+ let enter;
1917
+ ({ enter, exit } = enterExit);
1918
+ if (enter !== null) enter(node);
1919
+ }
1920
+ walkNode(node.expression, visitors);
1921
+ if (exit !== null) exit(node);
1922
+ }
1923
+
1924
+ function walkTSFunctionType(node, visitors) {
1925
+ const enterExit = visitors[123];
1926
+ let exit = null;
1927
+ if (enterExit !== null) {
1928
+ let enter;
1929
+ ({ enter, exit } = enterExit);
1930
+ if (enter !== null) enter(node);
1931
+ }
1932
+ walkNode(node.typeParameters, visitors);
1933
+ walkNode(node.params, visitors);
1934
+ walkNode(node.returnType, visitors);
1935
+ if (exit !== null) exit(node);
1936
+ }
1937
+
1938
+ function walkTSImportEqualsDeclaration(node, visitors) {
1939
+ const enterExit = visitors[124];
1940
+ let exit = null;
1941
+ if (enterExit !== null) {
1942
+ let enter;
1943
+ ({ enter, exit } = enterExit);
1944
+ if (enter !== null) enter(node);
1945
+ }
1946
+ walkNode(node.id, visitors);
1947
+ walkNode(node.moduleReference, visitors);
1948
+ if (exit !== null) exit(node);
1949
+ }
1950
+
1951
+ function walkTSImportType(node, visitors) {
1952
+ const enterExit = visitors[125];
1953
+ let exit = null;
1954
+ if (enterExit !== null) {
1955
+ let enter;
1956
+ ({ enter, exit } = enterExit);
1957
+ if (enter !== null) enter(node);
1958
+ }
1959
+ walkNode(node.argument, visitors);
1960
+ walkNode(node.options, visitors);
1961
+ walkNode(node.qualifier, visitors);
1962
+ walkNode(node.typeArguments, visitors);
1963
+ if (exit !== null) exit(node);
1964
+ }
1965
+
1966
+ function walkTSIndexSignature(node, visitors) {
1967
+ const enterExit = visitors[126];
1968
+ let exit = null;
1969
+ if (enterExit !== null) {
1970
+ let enter;
1971
+ ({ enter, exit } = enterExit);
1972
+ if (enter !== null) enter(node);
1973
+ }
1974
+ walkNode(node.parameters, visitors);
1975
+ walkNode(node.typeAnnotation, visitors);
1976
+ if (exit !== null) exit(node);
1977
+ }
1978
+
1979
+ function walkTSIndexedAccessType(node, visitors) {
1980
+ const enterExit = visitors[127];
1981
+ let exit = null;
1982
+ if (enterExit !== null) {
1983
+ let enter;
1984
+ ({ enter, exit } = enterExit);
1985
+ if (enter !== null) enter(node);
1986
+ }
1987
+ walkNode(node.objectType, visitors);
1988
+ walkNode(node.indexType, visitors);
1989
+ if (exit !== null) exit(node);
1990
+ }
1991
+
1992
+ function walkTSInferType(node, visitors) {
1993
+ const enterExit = visitors[128];
1994
+ let exit = null;
1995
+ if (enterExit !== null) {
1996
+ let enter;
1997
+ ({ enter, exit } = enterExit);
1998
+ if (enter !== null) enter(node);
1999
+ }
2000
+ walkNode(node.typeParameter, visitors);
2001
+ if (exit !== null) exit(node);
2002
+ }
2003
+
2004
+ function walkTSInstantiationExpression(node, visitors) {
2005
+ const enterExit = visitors[129];
2006
+ let exit = null;
2007
+ if (enterExit !== null) {
2008
+ let enter;
2009
+ ({ enter, exit } = enterExit);
2010
+ if (enter !== null) enter(node);
2011
+ }
2012
+ walkNode(node.expression, visitors);
2013
+ walkNode(node.typeArguments, visitors);
2014
+ if (exit !== null) exit(node);
2015
+ }
2016
+
2017
+ function walkTSInterfaceBody(node, visitors) {
2018
+ const enterExit = visitors[130];
2019
+ let exit = null;
2020
+ if (enterExit !== null) {
2021
+ let enter;
2022
+ ({ enter, exit } = enterExit);
2023
+ if (enter !== null) enter(node);
2024
+ }
2025
+ walkNode(node.body, visitors);
2026
+ if (exit !== null) exit(node);
2027
+ }
2028
+
2029
+ function walkTSInterfaceDeclaration(node, visitors) {
2030
+ const enterExit = visitors[131];
2031
+ let exit = null;
2032
+ if (enterExit !== null) {
2033
+ let enter;
2034
+ ({ enter, exit } = enterExit);
2035
+ if (enter !== null) enter(node);
2036
+ }
2037
+ walkNode(node.id, visitors);
2038
+ walkNode(node.typeParameters, visitors);
2039
+ walkNode(node.extends, visitors);
2040
+ walkNode(node.body, visitors);
2041
+ if (exit !== null) exit(node);
2042
+ }
2043
+
2044
+ function walkTSInterfaceHeritage(node, visitors) {
2045
+ const enterExit = visitors[132];
2046
+ let exit = null;
2047
+ if (enterExit !== null) {
2048
+ let enter;
2049
+ ({ enter, exit } = enterExit);
2050
+ if (enter !== null) enter(node);
2051
+ }
2052
+ walkNode(node.expression, visitors);
2053
+ walkNode(node.typeArguments, visitors);
2054
+ if (exit !== null) exit(node);
2055
+ }
2056
+
2057
+ function walkTSIntersectionType(node, visitors) {
2058
+ const enterExit = visitors[133];
2059
+ let exit = null;
2060
+ if (enterExit !== null) {
2061
+ let enter;
2062
+ ({ enter, exit } = enterExit);
2063
+ if (enter !== null) enter(node);
2064
+ }
2065
+ walkNode(node.types, visitors);
2066
+ if (exit !== null) exit(node);
2067
+ }
2068
+
2069
+ function walkTSJSDocNonNullableType(node, visitors) {
2070
+ const enterExit = visitors[134];
2071
+ let exit = null;
2072
+ if (enterExit !== null) {
2073
+ let enter;
2074
+ ({ enter, exit } = enterExit);
2075
+ if (enter !== null) enter(node);
2076
+ }
2077
+ walkNode(node.typeAnnotation, visitors);
2078
+ if (exit !== null) exit(node);
2079
+ }
2080
+
2081
+ function walkTSJSDocNullableType(node, visitors) {
2082
+ const enterExit = visitors[135];
2083
+ let exit = null;
2084
+ if (enterExit !== null) {
2085
+ let enter;
2086
+ ({ enter, exit } = enterExit);
2087
+ if (enter !== null) enter(node);
2088
+ }
2089
+ walkNode(node.typeAnnotation, visitors);
2090
+ if (exit !== null) exit(node);
2091
+ }
2092
+
2093
+ function walkTSLiteralType(node, visitors) {
2094
+ const enterExit = visitors[136];
2095
+ let exit = null;
2096
+ if (enterExit !== null) {
2097
+ let enter;
2098
+ ({ enter, exit } = enterExit);
2099
+ if (enter !== null) enter(node);
2100
+ }
2101
+ walkNode(node.literal, visitors);
2102
+ if (exit !== null) exit(node);
2103
+ }
2104
+
2105
+ function walkTSMappedType(node, visitors) {
2106
+ const enterExit = visitors[137];
2107
+ let exit = null;
2108
+ if (enterExit !== null) {
2109
+ let enter;
2110
+ ({ enter, exit } = enterExit);
2111
+ if (enter !== null) enter(node);
2112
+ }
2113
+ walkNode(node.key, visitors);
2114
+ walkNode(node.constraint, visitors);
2115
+ walkNode(node.nameType, visitors);
2116
+ walkNode(node.typeAnnotation, visitors);
2117
+ if (exit !== null) exit(node);
2118
+ }
2119
+
2120
+ function walkTSMethodSignature(node, visitors) {
2121
+ const enterExit = visitors[138];
2122
+ let exit = null;
2123
+ if (enterExit !== null) {
2124
+ let enter;
2125
+ ({ enter, exit } = enterExit);
2126
+ if (enter !== null) enter(node);
2127
+ }
2128
+ walkNode(node.key, visitors);
2129
+ walkNode(node.typeParameters, visitors);
2130
+ walkNode(node.params, visitors);
2131
+ walkNode(node.returnType, visitors);
2132
+ if (exit !== null) exit(node);
2133
+ }
2134
+
2135
+ function walkTSModuleBlock(node, visitors) {
2136
+ const enterExit = visitors[139];
2137
+ let exit = null;
2138
+ if (enterExit !== null) {
2139
+ let enter;
2140
+ ({ enter, exit } = enterExit);
2141
+ if (enter !== null) enter(node);
2142
+ }
2143
+ walkNode(node.body, visitors);
2144
+ if (exit !== null) exit(node);
2145
+ }
2146
+
2147
+ function walkTSModuleDeclaration(node, visitors) {
2148
+ const enterExit = visitors[140];
2149
+ let exit = null;
2150
+ if (enterExit !== null) {
2151
+ let enter;
2152
+ ({ enter, exit } = enterExit);
2153
+ if (enter !== null) enter(node);
2154
+ }
2155
+ walkNode(node.id, visitors);
2156
+ walkNode(node.body, visitors);
2157
+ if (exit !== null) exit(node);
2158
+ }
2159
+
2160
+ function walkTSNamedTupleMember(node, visitors) {
2161
+ const enterExit = visitors[141];
2162
+ let exit = null;
2163
+ if (enterExit !== null) {
2164
+ let enter;
2165
+ ({ enter, exit } = enterExit);
2166
+ if (enter !== null) enter(node);
2167
+ }
2168
+ walkNode(node.label, visitors);
2169
+ walkNode(node.elementType, visitors);
2170
+ if (exit !== null) exit(node);
2171
+ }
2172
+
2173
+ function walkTSNamespaceExportDeclaration(node, visitors) {
2174
+ const enterExit = visitors[142];
2175
+ let exit = null;
2176
+ if (enterExit !== null) {
2177
+ let enter;
2178
+ ({ enter, exit } = enterExit);
2179
+ if (enter !== null) enter(node);
2180
+ }
2181
+ walkNode(node.id, visitors);
2182
+ if (exit !== null) exit(node);
2183
+ }
2184
+
2185
+ function walkTSNonNullExpression(node, visitors) {
2186
+ const enterExit = visitors[143];
2187
+ let exit = null;
2188
+ if (enterExit !== null) {
2189
+ let enter;
2190
+ ({ enter, exit } = enterExit);
2191
+ if (enter !== null) enter(node);
2192
+ }
2193
+ walkNode(node.expression, visitors);
2194
+ if (exit !== null) exit(node);
2195
+ }
2196
+
2197
+ function walkTSOptionalType(node, visitors) {
2198
+ const enterExit = visitors[144];
2199
+ let exit = null;
2200
+ if (enterExit !== null) {
2201
+ let enter;
2202
+ ({ enter, exit } = enterExit);
2203
+ if (enter !== null) enter(node);
2204
+ }
2205
+ walkNode(node.typeAnnotation, visitors);
2206
+ if (exit !== null) exit(node);
2207
+ }
2208
+
2209
+ function walkTSParameterProperty(node, visitors) {
2210
+ const enterExit = visitors[145];
2211
+ let exit = null;
2212
+ if (enterExit !== null) {
2213
+ let enter;
2214
+ ({ enter, exit } = enterExit);
2215
+ if (enter !== null) enter(node);
2216
+ }
2217
+ walkNode(node.decorators, visitors);
2218
+ walkNode(node.parameter, visitors);
2219
+ if (exit !== null) exit(node);
2220
+ }
2221
+
2222
+ function walkTSParenthesizedType(node, visitors) {
2223
+ const enterExit = visitors[146];
2224
+ let exit = null;
2225
+ if (enterExit !== null) {
2226
+ let enter;
2227
+ ({ enter, exit } = enterExit);
2228
+ if (enter !== null) enter(node);
2229
+ }
2230
+ walkNode(node.typeAnnotation, visitors);
2231
+ if (exit !== null) exit(node);
2232
+ }
2233
+
2234
+ function walkTSPropertySignature(node, visitors) {
2235
+ const enterExit = visitors[147];
2236
+ let exit = null;
2237
+ if (enterExit !== null) {
2238
+ let enter;
2239
+ ({ enter, exit } = enterExit);
2240
+ if (enter !== null) enter(node);
2241
+ }
2242
+ walkNode(node.key, visitors);
2243
+ walkNode(node.typeAnnotation, visitors);
2244
+ if (exit !== null) exit(node);
2245
+ }
2246
+
2247
+ function walkTSQualifiedName(node, visitors) {
2248
+ const enterExit = visitors[148];
2249
+ let exit = null;
2250
+ if (enterExit !== null) {
2251
+ let enter;
2252
+ ({ enter, exit } = enterExit);
2253
+ if (enter !== null) enter(node);
2254
+ }
2255
+ walkNode(node.left, visitors);
2256
+ walkNode(node.right, visitors);
2257
+ if (exit !== null) exit(node);
2258
+ }
2259
+
2260
+ function walkTSRestType(node, visitors) {
2261
+ const enterExit = visitors[149];
2262
+ let exit = null;
2263
+ if (enterExit !== null) {
2264
+ let enter;
2265
+ ({ enter, exit } = enterExit);
2266
+ if (enter !== null) enter(node);
2267
+ }
2268
+ walkNode(node.typeAnnotation, visitors);
2269
+ if (exit !== null) exit(node);
2270
+ }
2271
+
2272
+ function walkTSSatisfiesExpression(node, visitors) {
2273
+ const enterExit = visitors[150];
2274
+ let exit = null;
2275
+ if (enterExit !== null) {
2276
+ let enter;
2277
+ ({ enter, exit } = enterExit);
2278
+ if (enter !== null) enter(node);
2279
+ }
2280
+ walkNode(node.expression, visitors);
2281
+ walkNode(node.typeAnnotation, visitors);
2282
+ if (exit !== null) exit(node);
2283
+ }
2284
+
2285
+ function walkTSTemplateLiteralType(node, visitors) {
2286
+ const enterExit = visitors[151];
2287
+ let exit = null;
2288
+ if (enterExit !== null) {
2289
+ let enter;
2290
+ ({ enter, exit } = enterExit);
2291
+ if (enter !== null) enter(node);
2292
+ }
2293
+ walkNode(node.quasis, visitors);
2294
+ walkNode(node.types, visitors);
2295
+ if (exit !== null) exit(node);
2296
+ }
2297
+
2298
+ function walkTSTupleType(node, visitors) {
2299
+ const enterExit = visitors[152];
2300
+ let exit = null;
2301
+ if (enterExit !== null) {
2302
+ let enter;
2303
+ ({ enter, exit } = enterExit);
2304
+ if (enter !== null) enter(node);
2305
+ }
2306
+ walkNode(node.elementTypes, visitors);
2307
+ if (exit !== null) exit(node);
2308
+ }
2309
+
2310
+ function walkTSTypeAliasDeclaration(node, visitors) {
2311
+ const enterExit = visitors[153];
2312
+ let exit = null;
2313
+ if (enterExit !== null) {
2314
+ let enter;
2315
+ ({ enter, exit } = enterExit);
2316
+ if (enter !== null) enter(node);
2317
+ }
2318
+ walkNode(node.id, visitors);
2319
+ walkNode(node.typeParameters, visitors);
2320
+ walkNode(node.typeAnnotation, visitors);
2321
+ if (exit !== null) exit(node);
2322
+ }
2323
+
2324
+ function walkTSTypeAnnotation(node, visitors) {
2325
+ const enterExit = visitors[154];
2326
+ let exit = null;
2327
+ if (enterExit !== null) {
2328
+ let enter;
2329
+ ({ enter, exit } = enterExit);
2330
+ if (enter !== null) enter(node);
2331
+ }
2332
+ walkNode(node.typeAnnotation, visitors);
2333
+ if (exit !== null) exit(node);
2334
+ }
2335
+
2336
+ function walkTSTypeAssertion(node, visitors) {
2337
+ const enterExit = visitors[155];
2338
+ let exit = null;
2339
+ if (enterExit !== null) {
2340
+ let enter;
2341
+ ({ enter, exit } = enterExit);
2342
+ if (enter !== null) enter(node);
2343
+ }
2344
+ walkNode(node.typeAnnotation, visitors);
2345
+ walkNode(node.expression, visitors);
2346
+ if (exit !== null) exit(node);
2347
+ }
2348
+
2349
+ function walkTSTypeLiteral(node, visitors) {
2350
+ const enterExit = visitors[156];
2351
+ let exit = null;
2352
+ if (enterExit !== null) {
2353
+ let enter;
2354
+ ({ enter, exit } = enterExit);
2355
+ if (enter !== null) enter(node);
2356
+ }
2357
+ walkNode(node.members, visitors);
2358
+ if (exit !== null) exit(node);
2359
+ }
2360
+
2361
+ function walkTSTypeOperator(node, visitors) {
2362
+ const enterExit = visitors[157];
2363
+ let exit = null;
2364
+ if (enterExit !== null) {
2365
+ let enter;
2366
+ ({ enter, exit } = enterExit);
2367
+ if (enter !== null) enter(node);
2368
+ }
2369
+ walkNode(node.typeAnnotation, visitors);
2370
+ if (exit !== null) exit(node);
2371
+ }
2372
+
2373
+ function walkTSTypeParameter(node, visitors) {
2374
+ const enterExit = visitors[158];
2375
+ let exit = null;
2376
+ if (enterExit !== null) {
2377
+ let enter;
2378
+ ({ enter, exit } = enterExit);
2379
+ if (enter !== null) enter(node);
2380
+ }
2381
+ walkNode(node.name, visitors);
2382
+ walkNode(node.constraint, visitors);
2383
+ walkNode(node.default, visitors);
2384
+ if (exit !== null) exit(node);
2385
+ }
2386
+
2387
+ function walkTSTypeParameterDeclaration(node, visitors) {
2388
+ const enterExit = visitors[159];
2389
+ let exit = null;
2390
+ if (enterExit !== null) {
2391
+ let enter;
2392
+ ({ enter, exit } = enterExit);
2393
+ if (enter !== null) enter(node);
2394
+ }
2395
+ walkNode(node.params, visitors);
2396
+ if (exit !== null) exit(node);
2397
+ }
2398
+
2399
+ function walkTSTypeParameterInstantiation(node, visitors) {
2400
+ const enterExit = visitors[160];
2401
+ let exit = null;
2402
+ if (enterExit !== null) {
2403
+ let enter;
2404
+ ({ enter, exit } = enterExit);
2405
+ if (enter !== null) enter(node);
2406
+ }
2407
+ walkNode(node.params, visitors);
2408
+ if (exit !== null) exit(node);
2409
+ }
2410
+
2411
+ function walkTSTypePredicate(node, visitors) {
2412
+ const enterExit = visitors[161];
2413
+ let exit = null;
2414
+ if (enterExit !== null) {
2415
+ let enter;
2416
+ ({ enter, exit } = enterExit);
2417
+ if (enter !== null) enter(node);
2418
+ }
2419
+ walkNode(node.parameterName, visitors);
2420
+ walkNode(node.typeAnnotation, visitors);
2421
+ if (exit !== null) exit(node);
2422
+ }
2423
+
2424
+ function walkTSTypeQuery(node, visitors) {
2425
+ const enterExit = visitors[162];
2426
+ let exit = null;
2427
+ if (enterExit !== null) {
2428
+ let enter;
2429
+ ({ enter, exit } = enterExit);
2430
+ if (enter !== null) enter(node);
2431
+ }
2432
+ walkNode(node.exprName, visitors);
2433
+ walkNode(node.typeArguments, visitors);
2434
+ if (exit !== null) exit(node);
2435
+ }
2436
+
2437
+ function walkTSTypeReference(node, visitors) {
2438
+ const enterExit = visitors[163];
2439
+ let exit = null;
2440
+ if (enterExit !== null) {
2441
+ let enter;
2442
+ ({ enter, exit } = enterExit);
2443
+ if (enter !== null) enter(node);
2444
+ }
2445
+ walkNode(node.typeName, visitors);
2446
+ walkNode(node.typeArguments, visitors);
2447
+ if (exit !== null) exit(node);
2448
+ }
2449
+
2450
+ function walkTSUnionType(node, visitors) {
2451
+ const enterExit = visitors[164];
2452
+ let exit = null;
2453
+ if (enterExit !== null) {
2454
+ let enter;
2455
+ ({ enter, exit } = enterExit);
2456
+ if (enter !== null) enter(node);
2457
+ }
2458
+ walkNode(node.types, visitors);
2459
+ if (exit !== null) exit(node);
2460
+ }