oxc-parser 0.77.3 → 0.79.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.
@@ -188,7 +188,7 @@ module.exports = walkProgram;
188
188
 
189
189
  function walkProgram(pos, ast, visitors) {
190
190
  const enterExit = visitors[38];
191
- let node, enter, exit;
191
+ let node, enter, exit = null;
192
192
  if (enterExit !== null) {
193
193
  ({ enter, exit } = enterExit);
194
194
  node = new Program(pos, ast);
@@ -198,7 +198,7 @@ function walkProgram(pos, ast, visitors) {
198
198
  walkOptionHashbang(pos + 48, ast, visitors);
199
199
  walkVecStatement(pos + 96, ast, visitors);
200
200
 
201
- if (exit) exit(node);
201
+ if (exit !== null) exit(node);
202
202
  }
203
203
 
204
204
  function walkExpression(pos, ast, visitors) {
@@ -364,7 +364,7 @@ function walkThisExpression(pos, ast, visitors) {
364
364
 
365
365
  function walkArrayExpression(pos, ast, visitors) {
366
366
  const enterExit = visitors[39];
367
- let node, enter, exit;
367
+ let node, enter, exit = null;
368
368
  if (enterExit !== null) {
369
369
  ({ enter, exit } = enterExit);
370
370
  node = new ArrayExpression(pos, ast);
@@ -373,7 +373,7 @@ function walkArrayExpression(pos, ast, visitors) {
373
373
 
374
374
  walkVecArrayExpressionElement(pos + 8, ast, visitors);
375
375
 
376
- if (exit) exit(node);
376
+ if (exit !== null) exit(node);
377
377
  }
378
378
 
379
379
  function walkArrayExpressionElement(pos, ast, visitors) {
@@ -525,7 +525,7 @@ function walkElision(pos, ast, visitors) {
525
525
 
526
526
  function walkObjectExpression(pos, ast, visitors) {
527
527
  const enterExit = visitors[40];
528
- let node, enter, exit;
528
+ let node, enter, exit = null;
529
529
  if (enterExit !== null) {
530
530
  ({ enter, exit } = enterExit);
531
531
  node = new ObjectExpression(pos, ast);
@@ -534,7 +534,7 @@ function walkObjectExpression(pos, ast, visitors) {
534
534
 
535
535
  walkVecObjectPropertyKind(pos + 8, ast, visitors);
536
536
 
537
- if (exit) exit(node);
537
+ if (exit !== null) exit(node);
538
538
  }
539
539
 
540
540
  function walkObjectPropertyKind(pos, ast, visitors) {
@@ -552,7 +552,7 @@ function walkObjectPropertyKind(pos, ast, visitors) {
552
552
 
553
553
  function walkObjectProperty(pos, ast, visitors) {
554
554
  const enterExit = visitors[41];
555
- let node, enter, exit;
555
+ let node, enter, exit = null;
556
556
  if (enterExit !== null) {
557
557
  ({ enter, exit } = enterExit);
558
558
  node = new ObjectProperty(pos, ast);
@@ -562,7 +562,7 @@ function walkObjectProperty(pos, ast, visitors) {
562
562
  walkPropertyKey(pos + 8, ast, visitors);
563
563
  walkExpression(pos + 24, ast, visitors);
564
564
 
565
- if (exit) exit(node);
565
+ if (exit !== null) exit(node);
566
566
  }
567
567
 
568
568
  function walkPropertyKey(pos, ast, visitors) {
@@ -709,7 +709,7 @@ function walkPropertyKey(pos, ast, visitors) {
709
709
 
710
710
  function walkTemplateLiteral(pos, ast, visitors) {
711
711
  const enterExit = visitors[42];
712
- let node, enter, exit;
712
+ let node, enter, exit = null;
713
713
  if (enterExit !== null) {
714
714
  ({ enter, exit } = enterExit);
715
715
  node = new TemplateLiteral(pos, ast);
@@ -719,12 +719,12 @@ function walkTemplateLiteral(pos, ast, visitors) {
719
719
  walkVecTemplateElement(pos + 8, ast, visitors);
720
720
  walkVecExpression(pos + 32, ast, visitors);
721
721
 
722
- if (exit) exit(node);
722
+ if (exit !== null) exit(node);
723
723
  }
724
724
 
725
725
  function walkTaggedTemplateExpression(pos, ast, visitors) {
726
726
  const enterExit = visitors[43];
727
- let node, enter, exit;
727
+ let node, enter, exit = null;
728
728
  if (enterExit !== null) {
729
729
  ({ enter, exit } = enterExit);
730
730
  node = new TaggedTemplateExpression(pos, ast);
@@ -735,7 +735,7 @@ function walkTaggedTemplateExpression(pos, ast, visitors) {
735
735
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
736
736
  walkTemplateLiteral(pos + 32, ast, visitors);
737
737
 
738
- if (exit) exit(node);
738
+ if (exit !== null) exit(node);
739
739
  }
740
740
 
741
741
  function walkTemplateElement(pos, ast, visitors) {
@@ -745,7 +745,7 @@ function walkTemplateElement(pos, ast, visitors) {
745
745
 
746
746
  function walkComputedMemberExpression(pos, ast, visitors) {
747
747
  const enterExit = visitors[44];
748
- let node, enter, exit;
748
+ let node, enter, exit = null;
749
749
  if (enterExit !== null) {
750
750
  ({ enter, exit } = enterExit);
751
751
  node = new ComputedMemberExpression(pos, ast);
@@ -755,12 +755,12 @@ function walkComputedMemberExpression(pos, ast, visitors) {
755
755
  walkExpression(pos + 8, ast, visitors);
756
756
  walkExpression(pos + 24, ast, visitors);
757
757
 
758
- if (exit) exit(node);
758
+ if (exit !== null) exit(node);
759
759
  }
760
760
 
761
761
  function walkStaticMemberExpression(pos, ast, visitors) {
762
762
  const enterExit = visitors[45];
763
- let node, enter, exit;
763
+ let node, enter, exit = null;
764
764
  if (enterExit !== null) {
765
765
  ({ enter, exit } = enterExit);
766
766
  node = new StaticMemberExpression(pos, ast);
@@ -770,12 +770,12 @@ function walkStaticMemberExpression(pos, ast, visitors) {
770
770
  walkExpression(pos + 8, ast, visitors);
771
771
  walkIdentifierName(pos + 24, ast, visitors);
772
772
 
773
- if (exit) exit(node);
773
+ if (exit !== null) exit(node);
774
774
  }
775
775
 
776
776
  function walkPrivateFieldExpression(pos, ast, visitors) {
777
777
  const enterExit = visitors[46];
778
- let node, enter, exit;
778
+ let node, enter, exit = null;
779
779
  if (enterExit !== null) {
780
780
  ({ enter, exit } = enterExit);
781
781
  node = new PrivateFieldExpression(pos, ast);
@@ -785,12 +785,12 @@ function walkPrivateFieldExpression(pos, ast, visitors) {
785
785
  walkExpression(pos + 8, ast, visitors);
786
786
  walkPrivateIdentifier(pos + 24, ast, visitors);
787
787
 
788
- if (exit) exit(node);
788
+ if (exit !== null) exit(node);
789
789
  }
790
790
 
791
791
  function walkCallExpression(pos, ast, visitors) {
792
792
  const enterExit = visitors[47];
793
- let node, enter, exit;
793
+ let node, enter, exit = null;
794
794
  if (enterExit !== null) {
795
795
  ({ enter, exit } = enterExit);
796
796
  node = new CallExpression(pos, ast);
@@ -801,12 +801,12 @@ function walkCallExpression(pos, ast, visitors) {
801
801
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
802
802
  walkVecArgument(pos + 32, ast, visitors);
803
803
 
804
- if (exit) exit(node);
804
+ if (exit !== null) exit(node);
805
805
  }
806
806
 
807
807
  function walkNewExpression(pos, ast, visitors) {
808
808
  const enterExit = visitors[48];
809
- let node, enter, exit;
809
+ let node, enter, exit = null;
810
810
  if (enterExit !== null) {
811
811
  ({ enter, exit } = enterExit);
812
812
  node = new NewExpression(pos, ast);
@@ -817,12 +817,12 @@ function walkNewExpression(pos, ast, visitors) {
817
817
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
818
818
  walkVecArgument(pos + 32, ast, visitors);
819
819
 
820
- if (exit) exit(node);
820
+ if (exit !== null) exit(node);
821
821
  }
822
822
 
823
823
  function walkMetaProperty(pos, ast, visitors) {
824
824
  const enterExit = visitors[49];
825
- let node, enter, exit;
825
+ let node, enter, exit = null;
826
826
  if (enterExit !== null) {
827
827
  ({ enter, exit } = enterExit);
828
828
  node = new MetaProperty(pos, ast);
@@ -832,12 +832,12 @@ function walkMetaProperty(pos, ast, visitors) {
832
832
  walkIdentifierName(pos + 8, ast, visitors);
833
833
  walkIdentifierName(pos + 32, ast, visitors);
834
834
 
835
- if (exit) exit(node);
835
+ if (exit !== null) exit(node);
836
836
  }
837
837
 
838
838
  function walkSpreadElement(pos, ast, visitors) {
839
839
  const enterExit = visitors[50];
840
- let node, enter, exit;
840
+ let node, enter, exit = null;
841
841
  if (enterExit !== null) {
842
842
  ({ enter, exit } = enterExit);
843
843
  node = new SpreadElement(pos, ast);
@@ -846,7 +846,7 @@ function walkSpreadElement(pos, ast, visitors) {
846
846
 
847
847
  walkExpression(pos + 8, ast, visitors);
848
848
 
849
- if (exit) exit(node);
849
+ if (exit !== null) exit(node);
850
850
  }
851
851
 
852
852
  function walkArgument(pos, ast, visitors) {
@@ -990,7 +990,7 @@ function walkArgument(pos, ast, visitors) {
990
990
 
991
991
  function walkUpdateExpression(pos, ast, visitors) {
992
992
  const enterExit = visitors[51];
993
- let node, enter, exit;
993
+ let node, enter, exit = null;
994
994
  if (enterExit !== null) {
995
995
  ({ enter, exit } = enterExit);
996
996
  node = new UpdateExpression(pos, ast);
@@ -999,12 +999,12 @@ function walkUpdateExpression(pos, ast, visitors) {
999
999
 
1000
1000
  walkSimpleAssignmentTarget(pos + 8, ast, visitors);
1001
1001
 
1002
- if (exit) exit(node);
1002
+ if (exit !== null) exit(node);
1003
1003
  }
1004
1004
 
1005
1005
  function walkUnaryExpression(pos, ast, visitors) {
1006
1006
  const enterExit = visitors[52];
1007
- let node, enter, exit;
1007
+ let node, enter, exit = null;
1008
1008
  if (enterExit !== null) {
1009
1009
  ({ enter, exit } = enterExit);
1010
1010
  node = new UnaryExpression(pos, ast);
@@ -1013,12 +1013,12 @@ function walkUnaryExpression(pos, ast, visitors) {
1013
1013
 
1014
1014
  walkExpression(pos + 8, ast, visitors);
1015
1015
 
1016
- if (exit) exit(node);
1016
+ if (exit !== null) exit(node);
1017
1017
  }
1018
1018
 
1019
1019
  function walkBinaryExpression(pos, ast, visitors) {
1020
1020
  const enterExit = visitors[53];
1021
- let node, enter, exit;
1021
+ let node, enter, exit = null;
1022
1022
  if (enterExit !== null) {
1023
1023
  ({ enter, exit } = enterExit);
1024
1024
  node = new BinaryExpression(pos, ast);
@@ -1028,12 +1028,12 @@ function walkBinaryExpression(pos, ast, visitors) {
1028
1028
  walkExpression(pos + 8, ast, visitors);
1029
1029
  walkExpression(pos + 24, ast, visitors);
1030
1030
 
1031
- if (exit) exit(node);
1031
+ if (exit !== null) exit(node);
1032
1032
  }
1033
1033
 
1034
1034
  function walkPrivateInExpression(pos, ast, visitors) {
1035
1035
  const enterExit = visitors[54];
1036
- let node, enter, exit;
1036
+ let node, enter, exit = null;
1037
1037
  if (enterExit !== null) {
1038
1038
  ({ enter, exit } = enterExit);
1039
1039
  node = new PrivateInExpression(pos, ast);
@@ -1043,12 +1043,12 @@ function walkPrivateInExpression(pos, ast, visitors) {
1043
1043
  walkPrivateIdentifier(pos + 8, ast, visitors);
1044
1044
  walkExpression(pos + 32, ast, visitors);
1045
1045
 
1046
- if (exit) exit(node);
1046
+ if (exit !== null) exit(node);
1047
1047
  }
1048
1048
 
1049
1049
  function walkLogicalExpression(pos, ast, visitors) {
1050
1050
  const enterExit = visitors[55];
1051
- let node, enter, exit;
1051
+ let node, enter, exit = null;
1052
1052
  if (enterExit !== null) {
1053
1053
  ({ enter, exit } = enterExit);
1054
1054
  node = new LogicalExpression(pos, ast);
@@ -1058,12 +1058,12 @@ function walkLogicalExpression(pos, ast, visitors) {
1058
1058
  walkExpression(pos + 8, ast, visitors);
1059
1059
  walkExpression(pos + 24, ast, visitors);
1060
1060
 
1061
- if (exit) exit(node);
1061
+ if (exit !== null) exit(node);
1062
1062
  }
1063
1063
 
1064
1064
  function walkConditionalExpression(pos, ast, visitors) {
1065
1065
  const enterExit = visitors[56];
1066
- let node, enter, exit;
1066
+ let node, enter, exit = null;
1067
1067
  if (enterExit !== null) {
1068
1068
  ({ enter, exit } = enterExit);
1069
1069
  node = new ConditionalExpression(pos, ast);
@@ -1074,12 +1074,12 @@ function walkConditionalExpression(pos, ast, visitors) {
1074
1074
  walkExpression(pos + 24, ast, visitors);
1075
1075
  walkExpression(pos + 40, ast, visitors);
1076
1076
 
1077
- if (exit) exit(node);
1077
+ if (exit !== null) exit(node);
1078
1078
  }
1079
1079
 
1080
1080
  function walkAssignmentExpression(pos, ast, visitors) {
1081
1081
  const enterExit = visitors[57];
1082
- let node, enter, exit;
1082
+ let node, enter, exit = null;
1083
1083
  if (enterExit !== null) {
1084
1084
  ({ enter, exit } = enterExit);
1085
1085
  node = new AssignmentExpression(pos, ast);
@@ -1089,7 +1089,7 @@ function walkAssignmentExpression(pos, ast, visitors) {
1089
1089
  walkAssignmentTarget(pos + 8, ast, visitors);
1090
1090
  walkExpression(pos + 24, ast, visitors);
1091
1091
 
1092
- if (exit) exit(node);
1092
+ if (exit !== null) exit(node);
1093
1093
  }
1094
1094
 
1095
1095
  function walkAssignmentTarget(pos, ast, visitors) {
@@ -1162,7 +1162,7 @@ function walkSimpleAssignmentTarget(pos, ast, visitors) {
1162
1162
 
1163
1163
  function walkArrayAssignmentTarget(pos, ast, visitors) {
1164
1164
  const enterExit = visitors[58];
1165
- let node, enter, exit;
1165
+ let node, enter, exit = null;
1166
1166
  if (enterExit !== null) {
1167
1167
  ({ enter, exit } = enterExit);
1168
1168
  node = new ArrayAssignmentTarget(pos, ast);
@@ -1171,12 +1171,12 @@ function walkArrayAssignmentTarget(pos, ast, visitors) {
1171
1171
 
1172
1172
  walkVecOptionAssignmentTargetMaybeDefault(pos + 8, ast, visitors);
1173
1173
 
1174
- if (exit) exit(node);
1174
+ if (exit !== null) exit(node);
1175
1175
  }
1176
1176
 
1177
1177
  function walkObjectAssignmentTarget(pos, ast, visitors) {
1178
1178
  const enterExit = visitors[59];
1179
- let node, enter, exit;
1179
+ let node, enter, exit = null;
1180
1180
  if (enterExit !== null) {
1181
1181
  ({ enter, exit } = enterExit);
1182
1182
  node = new ObjectAssignmentTarget(pos, ast);
@@ -1185,7 +1185,7 @@ function walkObjectAssignmentTarget(pos, ast, visitors) {
1185
1185
 
1186
1186
  walkVecAssignmentTargetProperty(pos + 8, ast, visitors);
1187
1187
 
1188
- if (exit) exit(node);
1188
+ if (exit !== null) exit(node);
1189
1189
  }
1190
1190
 
1191
1191
  function walkAssignmentTargetMaybeDefault(pos, ast, visitors) {
@@ -1230,7 +1230,7 @@ function walkAssignmentTargetMaybeDefault(pos, ast, visitors) {
1230
1230
 
1231
1231
  function walkAssignmentTargetWithDefault(pos, ast, visitors) {
1232
1232
  const enterExit = visitors[60];
1233
- let node, enter, exit;
1233
+ let node, enter, exit = null;
1234
1234
  if (enterExit !== null) {
1235
1235
  ({ enter, exit } = enterExit);
1236
1236
  node = new AssignmentTargetWithDefault(pos, ast);
@@ -1240,7 +1240,7 @@ function walkAssignmentTargetWithDefault(pos, ast, visitors) {
1240
1240
  walkAssignmentTarget(pos + 8, ast, visitors);
1241
1241
  walkExpression(pos + 24, ast, visitors);
1242
1242
 
1243
- if (exit) exit(node);
1243
+ if (exit !== null) exit(node);
1244
1244
  }
1245
1245
 
1246
1246
  function walkAssignmentTargetProperty(pos, ast, visitors) {
@@ -1258,7 +1258,7 @@ function walkAssignmentTargetProperty(pos, ast, visitors) {
1258
1258
 
1259
1259
  function walkAssignmentTargetPropertyIdentifier(pos, ast, visitors) {
1260
1260
  const enterExit = visitors[61];
1261
- let node, enter, exit;
1261
+ let node, enter, exit = null;
1262
1262
  if (enterExit !== null) {
1263
1263
  ({ enter, exit } = enterExit);
1264
1264
  node = new AssignmentTargetPropertyIdentifier(pos, ast);
@@ -1268,12 +1268,12 @@ function walkAssignmentTargetPropertyIdentifier(pos, ast, visitors) {
1268
1268
  walkIdentifierReference(pos + 8, ast, visitors);
1269
1269
  walkOptionExpression(pos + 40, ast, visitors);
1270
1270
 
1271
- if (exit) exit(node);
1271
+ if (exit !== null) exit(node);
1272
1272
  }
1273
1273
 
1274
1274
  function walkAssignmentTargetPropertyProperty(pos, ast, visitors) {
1275
1275
  const enterExit = visitors[62];
1276
- let node, enter, exit;
1276
+ let node, enter, exit = null;
1277
1277
  if (enterExit !== null) {
1278
1278
  ({ enter, exit } = enterExit);
1279
1279
  node = new AssignmentTargetPropertyProperty(pos, ast);
@@ -1283,12 +1283,12 @@ function walkAssignmentTargetPropertyProperty(pos, ast, visitors) {
1283
1283
  walkPropertyKey(pos + 8, ast, visitors);
1284
1284
  walkAssignmentTargetMaybeDefault(pos + 24, ast, visitors);
1285
1285
 
1286
- if (exit) exit(node);
1286
+ if (exit !== null) exit(node);
1287
1287
  }
1288
1288
 
1289
1289
  function walkSequenceExpression(pos, ast, visitors) {
1290
1290
  const enterExit = visitors[63];
1291
- let node, enter, exit;
1291
+ let node, enter, exit = null;
1292
1292
  if (enterExit !== null) {
1293
1293
  ({ enter, exit } = enterExit);
1294
1294
  node = new SequenceExpression(pos, ast);
@@ -1297,7 +1297,7 @@ function walkSequenceExpression(pos, ast, visitors) {
1297
1297
 
1298
1298
  walkVecExpression(pos + 8, ast, visitors);
1299
1299
 
1300
- if (exit) exit(node);
1300
+ if (exit !== null) exit(node);
1301
1301
  }
1302
1302
 
1303
1303
  function walkSuper(pos, ast, visitors) {
@@ -1307,7 +1307,7 @@ function walkSuper(pos, ast, visitors) {
1307
1307
 
1308
1308
  function walkAwaitExpression(pos, ast, visitors) {
1309
1309
  const enterExit = visitors[64];
1310
- let node, enter, exit;
1310
+ let node, enter, exit = null;
1311
1311
  if (enterExit !== null) {
1312
1312
  ({ enter, exit } = enterExit);
1313
1313
  node = new AwaitExpression(pos, ast);
@@ -1316,12 +1316,12 @@ function walkAwaitExpression(pos, ast, visitors) {
1316
1316
 
1317
1317
  walkExpression(pos + 8, ast, visitors);
1318
1318
 
1319
- if (exit) exit(node);
1319
+ if (exit !== null) exit(node);
1320
1320
  }
1321
1321
 
1322
1322
  function walkChainExpression(pos, ast, visitors) {
1323
1323
  const enterExit = visitors[65];
1324
- let node, enter, exit;
1324
+ let node, enter, exit = null;
1325
1325
  if (enterExit !== null) {
1326
1326
  ({ enter, exit } = enterExit);
1327
1327
  node = new ChainExpression(pos, ast);
@@ -1330,7 +1330,7 @@ function walkChainExpression(pos, ast, visitors) {
1330
1330
 
1331
1331
  walkChainElement(pos + 8, ast, visitors);
1332
1332
 
1333
- if (exit) exit(node);
1333
+ if (exit !== null) exit(node);
1334
1334
  }
1335
1335
 
1336
1336
  function walkChainElement(pos, ast, visitors) {
@@ -1357,7 +1357,7 @@ function walkChainElement(pos, ast, visitors) {
1357
1357
 
1358
1358
  function walkParenthesizedExpression(pos, ast, visitors) {
1359
1359
  const enterExit = visitors[66];
1360
- let node, enter, exit;
1360
+ let node, enter, exit = null;
1361
1361
  if (enterExit !== null) {
1362
1362
  ({ enter, exit } = enterExit);
1363
1363
  node = new ParenthesizedExpression(pos, ast);
@@ -1366,7 +1366,7 @@ function walkParenthesizedExpression(pos, ast, visitors) {
1366
1366
 
1367
1367
  walkExpression(pos + 8, ast, visitors);
1368
1368
 
1369
- if (exit) exit(node);
1369
+ if (exit !== null) exit(node);
1370
1370
  }
1371
1371
 
1372
1372
  function walkStatement(pos, ast, visitors) {
@@ -1479,7 +1479,7 @@ function walkHashbang(pos, ast, visitors) {
1479
1479
 
1480
1480
  function walkBlockStatement(pos, ast, visitors) {
1481
1481
  const enterExit = visitors[67];
1482
- let node, enter, exit;
1482
+ let node, enter, exit = null;
1483
1483
  if (enterExit !== null) {
1484
1484
  ({ enter, exit } = enterExit);
1485
1485
  node = new BlockStatement(pos, ast);
@@ -1488,7 +1488,7 @@ function walkBlockStatement(pos, ast, visitors) {
1488
1488
 
1489
1489
  walkVecStatement(pos + 8, ast, visitors);
1490
1490
 
1491
- if (exit) exit(node);
1491
+ if (exit !== null) exit(node);
1492
1492
  }
1493
1493
 
1494
1494
  function walkDeclaration(pos, ast, visitors) {
@@ -1524,7 +1524,7 @@ function walkDeclaration(pos, ast, visitors) {
1524
1524
 
1525
1525
  function walkVariableDeclaration(pos, ast, visitors) {
1526
1526
  const enterExit = visitors[68];
1527
- let node, enter, exit;
1527
+ let node, enter, exit = null;
1528
1528
  if (enterExit !== null) {
1529
1529
  ({ enter, exit } = enterExit);
1530
1530
  node = new VariableDeclaration(pos, ast);
@@ -1533,12 +1533,12 @@ function walkVariableDeclaration(pos, ast, visitors) {
1533
1533
 
1534
1534
  walkVecVariableDeclarator(pos + 8, ast, visitors);
1535
1535
 
1536
- if (exit) exit(node);
1536
+ if (exit !== null) exit(node);
1537
1537
  }
1538
1538
 
1539
1539
  function walkVariableDeclarator(pos, ast, visitors) {
1540
1540
  const enterExit = visitors[69];
1541
- let node, enter, exit;
1541
+ let node, enter, exit = null;
1542
1542
  if (enterExit !== null) {
1543
1543
  ({ enter, exit } = enterExit);
1544
1544
  node = new VariableDeclarator(pos, ast);
@@ -1548,7 +1548,7 @@ function walkVariableDeclarator(pos, ast, visitors) {
1548
1548
  walkBindingPattern(pos + 8, ast, visitors);
1549
1549
  walkOptionExpression(pos + 40, ast, visitors);
1550
1550
 
1551
- if (exit) exit(node);
1551
+ if (exit !== null) exit(node);
1552
1552
  }
1553
1553
 
1554
1554
  function walkEmptyStatement(pos, ast, visitors) {
@@ -1558,7 +1558,7 @@ function walkEmptyStatement(pos, ast, visitors) {
1558
1558
 
1559
1559
  function walkExpressionStatement(pos, ast, visitors) {
1560
1560
  const enterExit = visitors[70];
1561
- let node, enter, exit;
1561
+ let node, enter, exit = null;
1562
1562
  if (enterExit !== null) {
1563
1563
  ({ enter, exit } = enterExit);
1564
1564
  node = new ExpressionStatement(pos, ast);
@@ -1567,12 +1567,12 @@ function walkExpressionStatement(pos, ast, visitors) {
1567
1567
 
1568
1568
  walkExpression(pos + 8, ast, visitors);
1569
1569
 
1570
- if (exit) exit(node);
1570
+ if (exit !== null) exit(node);
1571
1571
  }
1572
1572
 
1573
1573
  function walkIfStatement(pos, ast, visitors) {
1574
1574
  const enterExit = visitors[71];
1575
- let node, enter, exit;
1575
+ let node, enter, exit = null;
1576
1576
  if (enterExit !== null) {
1577
1577
  ({ enter, exit } = enterExit);
1578
1578
  node = new IfStatement(pos, ast);
@@ -1583,12 +1583,12 @@ function walkIfStatement(pos, ast, visitors) {
1583
1583
  walkStatement(pos + 24, ast, visitors);
1584
1584
  walkOptionStatement(pos + 40, ast, visitors);
1585
1585
 
1586
- if (exit) exit(node);
1586
+ if (exit !== null) exit(node);
1587
1587
  }
1588
1588
 
1589
1589
  function walkDoWhileStatement(pos, ast, visitors) {
1590
1590
  const enterExit = visitors[72];
1591
- let node, enter, exit;
1591
+ let node, enter, exit = null;
1592
1592
  if (enterExit !== null) {
1593
1593
  ({ enter, exit } = enterExit);
1594
1594
  node = new DoWhileStatement(pos, ast);
@@ -1598,12 +1598,12 @@ function walkDoWhileStatement(pos, ast, visitors) {
1598
1598
  walkStatement(pos + 8, ast, visitors);
1599
1599
  walkExpression(pos + 24, ast, visitors);
1600
1600
 
1601
- if (exit) exit(node);
1601
+ if (exit !== null) exit(node);
1602
1602
  }
1603
1603
 
1604
1604
  function walkWhileStatement(pos, ast, visitors) {
1605
1605
  const enterExit = visitors[73];
1606
- let node, enter, exit;
1606
+ let node, enter, exit = null;
1607
1607
  if (enterExit !== null) {
1608
1608
  ({ enter, exit } = enterExit);
1609
1609
  node = new WhileStatement(pos, ast);
@@ -1613,12 +1613,12 @@ function walkWhileStatement(pos, ast, visitors) {
1613
1613
  walkExpression(pos + 8, ast, visitors);
1614
1614
  walkStatement(pos + 24, ast, visitors);
1615
1615
 
1616
- if (exit) exit(node);
1616
+ if (exit !== null) exit(node);
1617
1617
  }
1618
1618
 
1619
1619
  function walkForStatement(pos, ast, visitors) {
1620
1620
  const enterExit = visitors[74];
1621
- let node, enter, exit;
1621
+ let node, enter, exit = null;
1622
1622
  if (enterExit !== null) {
1623
1623
  ({ enter, exit } = enterExit);
1624
1624
  node = new ForStatement(pos, ast);
@@ -1630,7 +1630,7 @@ function walkForStatement(pos, ast, visitors) {
1630
1630
  walkOptionExpression(pos + 40, ast, visitors);
1631
1631
  walkStatement(pos + 56, ast, visitors);
1632
1632
 
1633
- if (exit) exit(node);
1633
+ if (exit !== null) exit(node);
1634
1634
  }
1635
1635
 
1636
1636
  function walkForStatementInit(pos, ast, visitors) {
@@ -1774,7 +1774,7 @@ function walkForStatementInit(pos, ast, visitors) {
1774
1774
 
1775
1775
  function walkForInStatement(pos, ast, visitors) {
1776
1776
  const enterExit = visitors[75];
1777
- let node, enter, exit;
1777
+ let node, enter, exit = null;
1778
1778
  if (enterExit !== null) {
1779
1779
  ({ enter, exit } = enterExit);
1780
1780
  node = new ForInStatement(pos, ast);
@@ -1785,7 +1785,7 @@ function walkForInStatement(pos, ast, visitors) {
1785
1785
  walkExpression(pos + 24, ast, visitors);
1786
1786
  walkStatement(pos + 40, ast, visitors);
1787
1787
 
1788
- if (exit) exit(node);
1788
+ if (exit !== null) exit(node);
1789
1789
  }
1790
1790
 
1791
1791
  function walkForStatementLeft(pos, ast, visitors) {
@@ -1830,7 +1830,7 @@ function walkForStatementLeft(pos, ast, visitors) {
1830
1830
 
1831
1831
  function walkForOfStatement(pos, ast, visitors) {
1832
1832
  const enterExit = visitors[76];
1833
- let node, enter, exit;
1833
+ let node, enter, exit = null;
1834
1834
  if (enterExit !== null) {
1835
1835
  ({ enter, exit } = enterExit);
1836
1836
  node = new ForOfStatement(pos, ast);
@@ -1841,12 +1841,12 @@ function walkForOfStatement(pos, ast, visitors) {
1841
1841
  walkExpression(pos + 24, ast, visitors);
1842
1842
  walkStatement(pos + 40, ast, visitors);
1843
1843
 
1844
- if (exit) exit(node);
1844
+ if (exit !== null) exit(node);
1845
1845
  }
1846
1846
 
1847
1847
  function walkContinueStatement(pos, ast, visitors) {
1848
1848
  const enterExit = visitors[77];
1849
- let node, enter, exit;
1849
+ let node, enter, exit = null;
1850
1850
  if (enterExit !== null) {
1851
1851
  ({ enter, exit } = enterExit);
1852
1852
  node = new ContinueStatement(pos, ast);
@@ -1855,12 +1855,12 @@ function walkContinueStatement(pos, ast, visitors) {
1855
1855
 
1856
1856
  walkOptionLabelIdentifier(pos + 8, ast, visitors);
1857
1857
 
1858
- if (exit) exit(node);
1858
+ if (exit !== null) exit(node);
1859
1859
  }
1860
1860
 
1861
1861
  function walkBreakStatement(pos, ast, visitors) {
1862
1862
  const enterExit = visitors[78];
1863
- let node, enter, exit;
1863
+ let node, enter, exit = null;
1864
1864
  if (enterExit !== null) {
1865
1865
  ({ enter, exit } = enterExit);
1866
1866
  node = new BreakStatement(pos, ast);
@@ -1869,12 +1869,12 @@ function walkBreakStatement(pos, ast, visitors) {
1869
1869
 
1870
1870
  walkOptionLabelIdentifier(pos + 8, ast, visitors);
1871
1871
 
1872
- if (exit) exit(node);
1872
+ if (exit !== null) exit(node);
1873
1873
  }
1874
1874
 
1875
1875
  function walkReturnStatement(pos, ast, visitors) {
1876
1876
  const enterExit = visitors[79];
1877
- let node, enter, exit;
1877
+ let node, enter, exit = null;
1878
1878
  if (enterExit !== null) {
1879
1879
  ({ enter, exit } = enterExit);
1880
1880
  node = new ReturnStatement(pos, ast);
@@ -1883,12 +1883,12 @@ function walkReturnStatement(pos, ast, visitors) {
1883
1883
 
1884
1884
  walkOptionExpression(pos + 8, ast, visitors);
1885
1885
 
1886
- if (exit) exit(node);
1886
+ if (exit !== null) exit(node);
1887
1887
  }
1888
1888
 
1889
1889
  function walkWithStatement(pos, ast, visitors) {
1890
1890
  const enterExit = visitors[80];
1891
- let node, enter, exit;
1891
+ let node, enter, exit = null;
1892
1892
  if (enterExit !== null) {
1893
1893
  ({ enter, exit } = enterExit);
1894
1894
  node = new WithStatement(pos, ast);
@@ -1898,12 +1898,12 @@ function walkWithStatement(pos, ast, visitors) {
1898
1898
  walkExpression(pos + 8, ast, visitors);
1899
1899
  walkStatement(pos + 24, ast, visitors);
1900
1900
 
1901
- if (exit) exit(node);
1901
+ if (exit !== null) exit(node);
1902
1902
  }
1903
1903
 
1904
1904
  function walkSwitchStatement(pos, ast, visitors) {
1905
1905
  const enterExit = visitors[81];
1906
- let node, enter, exit;
1906
+ let node, enter, exit = null;
1907
1907
  if (enterExit !== null) {
1908
1908
  ({ enter, exit } = enterExit);
1909
1909
  node = new SwitchStatement(pos, ast);
@@ -1913,12 +1913,12 @@ function walkSwitchStatement(pos, ast, visitors) {
1913
1913
  walkExpression(pos + 8, ast, visitors);
1914
1914
  walkVecSwitchCase(pos + 24, ast, visitors);
1915
1915
 
1916
- if (exit) exit(node);
1916
+ if (exit !== null) exit(node);
1917
1917
  }
1918
1918
 
1919
1919
  function walkSwitchCase(pos, ast, visitors) {
1920
1920
  const enterExit = visitors[82];
1921
- let node, enter, exit;
1921
+ let node, enter, exit = null;
1922
1922
  if (enterExit !== null) {
1923
1923
  ({ enter, exit } = enterExit);
1924
1924
  node = new SwitchCase(pos, ast);
@@ -1928,12 +1928,12 @@ function walkSwitchCase(pos, ast, visitors) {
1928
1928
  walkOptionExpression(pos + 8, ast, visitors);
1929
1929
  walkVecStatement(pos + 24, ast, visitors);
1930
1930
 
1931
- if (exit) exit(node);
1931
+ if (exit !== null) exit(node);
1932
1932
  }
1933
1933
 
1934
1934
  function walkLabeledStatement(pos, ast, visitors) {
1935
1935
  const enterExit = visitors[83];
1936
- let node, enter, exit;
1936
+ let node, enter, exit = null;
1937
1937
  if (enterExit !== null) {
1938
1938
  ({ enter, exit } = enterExit);
1939
1939
  node = new LabeledStatement(pos, ast);
@@ -1943,12 +1943,12 @@ function walkLabeledStatement(pos, ast, visitors) {
1943
1943
  walkLabelIdentifier(pos + 8, ast, visitors);
1944
1944
  walkStatement(pos + 32, ast, visitors);
1945
1945
 
1946
- if (exit) exit(node);
1946
+ if (exit !== null) exit(node);
1947
1947
  }
1948
1948
 
1949
1949
  function walkThrowStatement(pos, ast, visitors) {
1950
1950
  const enterExit = visitors[84];
1951
- let node, enter, exit;
1951
+ let node, enter, exit = null;
1952
1952
  if (enterExit !== null) {
1953
1953
  ({ enter, exit } = enterExit);
1954
1954
  node = new ThrowStatement(pos, ast);
@@ -1957,12 +1957,12 @@ function walkThrowStatement(pos, ast, visitors) {
1957
1957
 
1958
1958
  walkExpression(pos + 8, ast, visitors);
1959
1959
 
1960
- if (exit) exit(node);
1960
+ if (exit !== null) exit(node);
1961
1961
  }
1962
1962
 
1963
1963
  function walkTryStatement(pos, ast, visitors) {
1964
1964
  const enterExit = visitors[85];
1965
- let node, enter, exit;
1965
+ let node, enter, exit = null;
1966
1966
  if (enterExit !== null) {
1967
1967
  ({ enter, exit } = enterExit);
1968
1968
  node = new TryStatement(pos, ast);
@@ -1973,12 +1973,12 @@ function walkTryStatement(pos, ast, visitors) {
1973
1973
  walkOptionBoxCatchClause(pos + 16, ast, visitors);
1974
1974
  walkOptionBoxBlockStatement(pos + 24, ast, visitors);
1975
1975
 
1976
- if (exit) exit(node);
1976
+ if (exit !== null) exit(node);
1977
1977
  }
1978
1978
 
1979
1979
  function walkCatchClause(pos, ast, visitors) {
1980
1980
  const enterExit = visitors[86];
1981
- let node, enter, exit;
1981
+ let node, enter, exit = null;
1982
1982
  if (enterExit !== null) {
1983
1983
  ({ enter, exit } = enterExit);
1984
1984
  node = new CatchClause(pos, ast);
@@ -1988,7 +1988,7 @@ function walkCatchClause(pos, ast, visitors) {
1988
1988
  walkOptionCatchParameter(pos + 8, ast, visitors);
1989
1989
  walkBoxBlockStatement(pos + 48, ast, visitors);
1990
1990
 
1991
- if (exit) exit(node);
1991
+ if (exit !== null) exit(node);
1992
1992
  }
1993
1993
 
1994
1994
  function walkCatchParameter(pos, ast, visitors) {
@@ -2026,7 +2026,7 @@ function walkBindingPatternKind(pos, ast, visitors) {
2026
2026
 
2027
2027
  function walkAssignmentPattern(pos, ast, visitors) {
2028
2028
  const enterExit = visitors[87];
2029
- let node, enter, exit;
2029
+ let node, enter, exit = null;
2030
2030
  if (enterExit !== null) {
2031
2031
  ({ enter, exit } = enterExit);
2032
2032
  node = new AssignmentPattern(pos, ast);
@@ -2036,12 +2036,12 @@ function walkAssignmentPattern(pos, ast, visitors) {
2036
2036
  walkBindingPattern(pos + 8, ast, visitors);
2037
2037
  walkExpression(pos + 40, ast, visitors);
2038
2038
 
2039
- if (exit) exit(node);
2039
+ if (exit !== null) exit(node);
2040
2040
  }
2041
2041
 
2042
2042
  function walkObjectPattern(pos, ast, visitors) {
2043
2043
  const enterExit = visitors[88];
2044
- let node, enter, exit;
2044
+ let node, enter, exit = null;
2045
2045
  if (enterExit !== null) {
2046
2046
  ({ enter, exit } = enterExit);
2047
2047
  node = new ObjectPattern(pos, ast);
@@ -2050,12 +2050,12 @@ function walkObjectPattern(pos, ast, visitors) {
2050
2050
 
2051
2051
  walkVecBindingProperty(pos + 8, ast, visitors);
2052
2052
 
2053
- if (exit) exit(node);
2053
+ if (exit !== null) exit(node);
2054
2054
  }
2055
2055
 
2056
2056
  function walkBindingProperty(pos, ast, visitors) {
2057
2057
  const enterExit = visitors[89];
2058
- let node, enter, exit;
2058
+ let node, enter, exit = null;
2059
2059
  if (enterExit !== null) {
2060
2060
  ({ enter, exit } = enterExit);
2061
2061
  node = new BindingProperty(pos, ast);
@@ -2065,12 +2065,12 @@ function walkBindingProperty(pos, ast, visitors) {
2065
2065
  walkPropertyKey(pos + 8, ast, visitors);
2066
2066
  walkBindingPattern(pos + 24, ast, visitors);
2067
2067
 
2068
- if (exit) exit(node);
2068
+ if (exit !== null) exit(node);
2069
2069
  }
2070
2070
 
2071
2071
  function walkArrayPattern(pos, ast, visitors) {
2072
2072
  const enterExit = visitors[90];
2073
- let node, enter, exit;
2073
+ let node, enter, exit = null;
2074
2074
  if (enterExit !== null) {
2075
2075
  ({ enter, exit } = enterExit);
2076
2076
  node = new ArrayPattern(pos, ast);
@@ -2079,12 +2079,12 @@ function walkArrayPattern(pos, ast, visitors) {
2079
2079
 
2080
2080
  walkVecOptionBindingPattern(pos + 8, ast, visitors);
2081
2081
 
2082
- if (exit) exit(node);
2082
+ if (exit !== null) exit(node);
2083
2083
  }
2084
2084
 
2085
2085
  function walkFunction(pos, ast, visitors) {
2086
2086
  const enterExit = visitors[91];
2087
- let node, enter, exit;
2087
+ let node, enter, exit = null;
2088
2088
  if (enterExit !== null) {
2089
2089
  ({ enter, exit } = enterExit);
2090
2090
  node = new Function(pos, ast);
@@ -2097,12 +2097,12 @@ function walkFunction(pos, ast, visitors) {
2097
2097
  walkOptionBoxTSTypeAnnotation(pos + 64, ast, visitors);
2098
2098
  walkOptionBoxFunctionBody(pos + 72, ast, visitors);
2099
2099
 
2100
- if (exit) exit(node);
2100
+ if (exit !== null) exit(node);
2101
2101
  }
2102
2102
 
2103
2103
  function walkFormalParameters(pos, ast, visitors) {
2104
2104
  const enterExit = visitors[92];
2105
- let node, enter, exit;
2105
+ let node, enter, exit = null;
2106
2106
  if (enterExit !== null) {
2107
2107
  ({ enter, exit } = enterExit);
2108
2108
  node = new FormalParameters(pos, ast);
@@ -2111,7 +2111,7 @@ function walkFormalParameters(pos, ast, visitors) {
2111
2111
 
2112
2112
  walkVecFormalParameter(pos + 8, ast, visitors);
2113
2113
 
2114
- if (exit) exit(node);
2114
+ if (exit !== null) exit(node);
2115
2115
  }
2116
2116
 
2117
2117
  function walkFormalParameter(pos, ast, visitors) {
@@ -2121,7 +2121,7 @@ function walkFormalParameter(pos, ast, visitors) {
2121
2121
 
2122
2122
  function walkFunctionBody(pos, ast, visitors) {
2123
2123
  const enterExit = visitors[93];
2124
- let node, enter, exit;
2124
+ let node, enter, exit = null;
2125
2125
  if (enterExit !== null) {
2126
2126
  ({ enter, exit } = enterExit);
2127
2127
  node = new FunctionBody(pos, ast);
@@ -2130,12 +2130,12 @@ function walkFunctionBody(pos, ast, visitors) {
2130
2130
 
2131
2131
  walkVecStatement(pos + 32, ast, visitors);
2132
2132
 
2133
- if (exit) exit(node);
2133
+ if (exit !== null) exit(node);
2134
2134
  }
2135
2135
 
2136
2136
  function walkArrowFunctionExpression(pos, ast, visitors) {
2137
2137
  const enterExit = visitors[94];
2138
- let node, enter, exit;
2138
+ let node, enter, exit = null;
2139
2139
  if (enterExit !== null) {
2140
2140
  ({ enter, exit } = enterExit);
2141
2141
  node = new ArrowFunctionExpression(pos, ast);
@@ -2147,12 +2147,12 @@ function walkArrowFunctionExpression(pos, ast, visitors) {
2147
2147
  walkOptionBoxTSTypeAnnotation(pos + 24, ast, visitors);
2148
2148
  walkBoxFunctionBody(pos + 32, ast, visitors);
2149
2149
 
2150
- if (exit) exit(node);
2150
+ if (exit !== null) exit(node);
2151
2151
  }
2152
2152
 
2153
2153
  function walkYieldExpression(pos, ast, visitors) {
2154
2154
  const enterExit = visitors[95];
2155
- let node, enter, exit;
2155
+ let node, enter, exit = null;
2156
2156
  if (enterExit !== null) {
2157
2157
  ({ enter, exit } = enterExit);
2158
2158
  node = new YieldExpression(pos, ast);
@@ -2161,12 +2161,12 @@ function walkYieldExpression(pos, ast, visitors) {
2161
2161
 
2162
2162
  walkOptionExpression(pos + 8, ast, visitors);
2163
2163
 
2164
- if (exit) exit(node);
2164
+ if (exit !== null) exit(node);
2165
2165
  }
2166
2166
 
2167
2167
  function walkClass(pos, ast, visitors) {
2168
2168
  const enterExit = visitors[96];
2169
- let node, enter, exit;
2169
+ let node, enter, exit = null;
2170
2170
  if (enterExit !== null) {
2171
2171
  ({ enter, exit } = enterExit);
2172
2172
  node = new Class(pos, ast);
@@ -2181,12 +2181,12 @@ function walkClass(pos, ast, visitors) {
2181
2181
  walkVecTSClassImplements(pos + 96, ast, visitors);
2182
2182
  walkBoxClassBody(pos + 120, ast, visitors);
2183
2183
 
2184
- if (exit) exit(node);
2184
+ if (exit !== null) exit(node);
2185
2185
  }
2186
2186
 
2187
2187
  function walkClassBody(pos, ast, visitors) {
2188
2188
  const enterExit = visitors[97];
2189
- let node, enter, exit;
2189
+ let node, enter, exit = null;
2190
2190
  if (enterExit !== null) {
2191
2191
  ({ enter, exit } = enterExit);
2192
2192
  node = new ClassBody(pos, ast);
@@ -2195,7 +2195,7 @@ function walkClassBody(pos, ast, visitors) {
2195
2195
 
2196
2196
  walkVecClassElement(pos + 8, ast, visitors);
2197
2197
 
2198
- if (exit) exit(node);
2198
+ if (exit !== null) exit(node);
2199
2199
  }
2200
2200
 
2201
2201
  function walkClassElement(pos, ast, visitors) {
@@ -2222,7 +2222,7 @@ function walkClassElement(pos, ast, visitors) {
2222
2222
 
2223
2223
  function walkMethodDefinition(pos, ast, visitors) {
2224
2224
  const enterExit = visitors[98];
2225
- let node, enter, exit;
2225
+ let node, enter, exit = null;
2226
2226
  if (enterExit !== null) {
2227
2227
  ({ enter, exit } = enterExit);
2228
2228
  node = new MethodDefinition(pos, ast);
@@ -2233,12 +2233,12 @@ function walkMethodDefinition(pos, ast, visitors) {
2233
2233
  walkPropertyKey(pos + 32, ast, visitors);
2234
2234
  walkBoxFunction(pos + 48, ast, visitors);
2235
2235
 
2236
- if (exit) exit(node);
2236
+ if (exit !== null) exit(node);
2237
2237
  }
2238
2238
 
2239
2239
  function walkPropertyDefinition(pos, ast, visitors) {
2240
2240
  const enterExit = visitors[99];
2241
- let node, enter, exit;
2241
+ let node, enter, exit = null;
2242
2242
  if (enterExit !== null) {
2243
2243
  ({ enter, exit } = enterExit);
2244
2244
  node = new PropertyDefinition(pos, ast);
@@ -2250,7 +2250,7 @@ function walkPropertyDefinition(pos, ast, visitors) {
2250
2250
  walkOptionBoxTSTypeAnnotation(pos + 48, ast, visitors);
2251
2251
  walkOptionExpression(pos + 56, ast, visitors);
2252
2252
 
2253
- if (exit) exit(node);
2253
+ if (exit !== null) exit(node);
2254
2254
  }
2255
2255
 
2256
2256
  function walkPrivateIdentifier(pos, ast, visitors) {
@@ -2260,7 +2260,7 @@ function walkPrivateIdentifier(pos, ast, visitors) {
2260
2260
 
2261
2261
  function walkStaticBlock(pos, ast, visitors) {
2262
2262
  const enterExit = visitors[100];
2263
- let node, enter, exit;
2263
+ let node, enter, exit = null;
2264
2264
  if (enterExit !== null) {
2265
2265
  ({ enter, exit } = enterExit);
2266
2266
  node = new StaticBlock(pos, ast);
@@ -2269,12 +2269,12 @@ function walkStaticBlock(pos, ast, visitors) {
2269
2269
 
2270
2270
  walkVecStatement(pos + 8, ast, visitors);
2271
2271
 
2272
- if (exit) exit(node);
2272
+ if (exit !== null) exit(node);
2273
2273
  }
2274
2274
 
2275
2275
  function walkAccessorProperty(pos, ast, visitors) {
2276
2276
  const enterExit = visitors[101];
2277
- let node, enter, exit;
2277
+ let node, enter, exit = null;
2278
2278
  if (enterExit !== null) {
2279
2279
  ({ enter, exit } = enterExit);
2280
2280
  node = new AccessorProperty(pos, ast);
@@ -2286,12 +2286,12 @@ function walkAccessorProperty(pos, ast, visitors) {
2286
2286
  walkOptionBoxTSTypeAnnotation(pos + 48, ast, visitors);
2287
2287
  walkOptionExpression(pos + 56, ast, visitors);
2288
2288
 
2289
- if (exit) exit(node);
2289
+ if (exit !== null) exit(node);
2290
2290
  }
2291
2291
 
2292
2292
  function walkImportExpression(pos, ast, visitors) {
2293
2293
  const enterExit = visitors[102];
2294
- let node, enter, exit;
2294
+ let node, enter, exit = null;
2295
2295
  if (enterExit !== null) {
2296
2296
  ({ enter, exit } = enterExit);
2297
2297
  node = new ImportExpression(pos, ast);
@@ -2301,12 +2301,12 @@ function walkImportExpression(pos, ast, visitors) {
2301
2301
  walkExpression(pos + 8, ast, visitors);
2302
2302
  walkOptionExpression(pos + 24, ast, visitors);
2303
2303
 
2304
- if (exit) exit(node);
2304
+ if (exit !== null) exit(node);
2305
2305
  }
2306
2306
 
2307
2307
  function walkImportDeclaration(pos, ast, visitors) {
2308
2308
  const enterExit = visitors[103];
2309
- let node, enter, exit;
2309
+ let node, enter, exit = null;
2310
2310
  if (enterExit !== null) {
2311
2311
  ({ enter, exit } = enterExit);
2312
2312
  node = new ImportDeclaration(pos, ast);
@@ -2317,7 +2317,7 @@ function walkImportDeclaration(pos, ast, visitors) {
2317
2317
  walkStringLiteral(pos + 32, ast, visitors);
2318
2318
  walkOptionBoxWithClause(pos + 80, ast, visitors);
2319
2319
 
2320
- if (exit) exit(node);
2320
+ if (exit !== null) exit(node);
2321
2321
  }
2322
2322
 
2323
2323
  function walkImportDeclarationSpecifier(pos, ast, visitors) {
@@ -2338,7 +2338,7 @@ function walkImportDeclarationSpecifier(pos, ast, visitors) {
2338
2338
 
2339
2339
  function walkImportSpecifier(pos, ast, visitors) {
2340
2340
  const enterExit = visitors[104];
2341
- let node, enter, exit;
2341
+ let node, enter, exit = null;
2342
2342
  if (enterExit !== null) {
2343
2343
  ({ enter, exit } = enterExit);
2344
2344
  node = new ImportSpecifier(pos, ast);
@@ -2348,12 +2348,12 @@ function walkImportSpecifier(pos, ast, visitors) {
2348
2348
  walkModuleExportName(pos + 8, ast, visitors);
2349
2349
  walkBindingIdentifier(pos + 64, ast, visitors);
2350
2350
 
2351
- if (exit) exit(node);
2351
+ if (exit !== null) exit(node);
2352
2352
  }
2353
2353
 
2354
2354
  function walkImportDefaultSpecifier(pos, ast, visitors) {
2355
2355
  const enterExit = visitors[105];
2356
- let node, enter, exit;
2356
+ let node, enter, exit = null;
2357
2357
  if (enterExit !== null) {
2358
2358
  ({ enter, exit } = enterExit);
2359
2359
  node = new ImportDefaultSpecifier(pos, ast);
@@ -2362,12 +2362,12 @@ function walkImportDefaultSpecifier(pos, ast, visitors) {
2362
2362
 
2363
2363
  walkBindingIdentifier(pos + 8, ast, visitors);
2364
2364
 
2365
- if (exit) exit(node);
2365
+ if (exit !== null) exit(node);
2366
2366
  }
2367
2367
 
2368
2368
  function walkImportNamespaceSpecifier(pos, ast, visitors) {
2369
2369
  const enterExit = visitors[106];
2370
- let node, enter, exit;
2370
+ let node, enter, exit = null;
2371
2371
  if (enterExit !== null) {
2372
2372
  ({ enter, exit } = enterExit);
2373
2373
  node = new ImportNamespaceSpecifier(pos, ast);
@@ -2376,7 +2376,7 @@ function walkImportNamespaceSpecifier(pos, ast, visitors) {
2376
2376
 
2377
2377
  walkBindingIdentifier(pos + 8, ast, visitors);
2378
2378
 
2379
- if (exit) exit(node);
2379
+ if (exit !== null) exit(node);
2380
2380
  }
2381
2381
 
2382
2382
  function walkWithClause(pos, ast, visitors) {
@@ -2385,7 +2385,7 @@ function walkWithClause(pos, ast, visitors) {
2385
2385
 
2386
2386
  function walkImportAttribute(pos, ast, visitors) {
2387
2387
  const enterExit = visitors[107];
2388
- let node, enter, exit;
2388
+ let node, enter, exit = null;
2389
2389
  if (enterExit !== null) {
2390
2390
  ({ enter, exit } = enterExit);
2391
2391
  node = new ImportAttribute(pos, ast);
@@ -2395,7 +2395,7 @@ function walkImportAttribute(pos, ast, visitors) {
2395
2395
  walkImportAttributeKey(pos + 8, ast, visitors);
2396
2396
  walkStringLiteral(pos + 64, ast, visitors);
2397
2397
 
2398
- if (exit) exit(node);
2398
+ if (exit !== null) exit(node);
2399
2399
  }
2400
2400
 
2401
2401
  function walkImportAttributeKey(pos, ast, visitors) {
@@ -2413,7 +2413,7 @@ function walkImportAttributeKey(pos, ast, visitors) {
2413
2413
 
2414
2414
  function walkExportNamedDeclaration(pos, ast, visitors) {
2415
2415
  const enterExit = visitors[108];
2416
- let node, enter, exit;
2416
+ let node, enter, exit = null;
2417
2417
  if (enterExit !== null) {
2418
2418
  ({ enter, exit } = enterExit);
2419
2419
  node = new ExportNamedDeclaration(pos, ast);
@@ -2425,12 +2425,12 @@ function walkExportNamedDeclaration(pos, ast, visitors) {
2425
2425
  walkOptionStringLiteral(pos + 48, ast, visitors);
2426
2426
  walkOptionBoxWithClause(pos + 96, ast, visitors);
2427
2427
 
2428
- if (exit) exit(node);
2428
+ if (exit !== null) exit(node);
2429
2429
  }
2430
2430
 
2431
2431
  function walkExportDefaultDeclaration(pos, ast, visitors) {
2432
2432
  const enterExit = visitors[109];
2433
- let node, enter, exit;
2433
+ let node, enter, exit = null;
2434
2434
  if (enterExit !== null) {
2435
2435
  ({ enter, exit } = enterExit);
2436
2436
  node = new ExportDefaultDeclaration(pos, ast);
@@ -2439,12 +2439,12 @@ function walkExportDefaultDeclaration(pos, ast, visitors) {
2439
2439
 
2440
2440
  walkExportDefaultDeclarationKind(pos + 64, ast, visitors);
2441
2441
 
2442
- if (exit) exit(node);
2442
+ if (exit !== null) exit(node);
2443
2443
  }
2444
2444
 
2445
2445
  function walkExportAllDeclaration(pos, ast, visitors) {
2446
2446
  const enterExit = visitors[110];
2447
- let node, enter, exit;
2447
+ let node, enter, exit = null;
2448
2448
  if (enterExit !== null) {
2449
2449
  ({ enter, exit } = enterExit);
2450
2450
  node = new ExportAllDeclaration(pos, ast);
@@ -2455,12 +2455,12 @@ function walkExportAllDeclaration(pos, ast, visitors) {
2455
2455
  walkStringLiteral(pos + 64, ast, visitors);
2456
2456
  walkOptionBoxWithClause(pos + 112, ast, visitors);
2457
2457
 
2458
- if (exit) exit(node);
2458
+ if (exit !== null) exit(node);
2459
2459
  }
2460
2460
 
2461
2461
  function walkExportSpecifier(pos, ast, visitors) {
2462
2462
  const enterExit = visitors[111];
2463
- let node, enter, exit;
2463
+ let node, enter, exit = null;
2464
2464
  if (enterExit !== null) {
2465
2465
  ({ enter, exit } = enterExit);
2466
2466
  node = new ExportSpecifier(pos, ast);
@@ -2470,7 +2470,7 @@ function walkExportSpecifier(pos, ast, visitors) {
2470
2470
  walkModuleExportName(pos + 8, ast, visitors);
2471
2471
  walkModuleExportName(pos + 64, ast, visitors);
2472
2472
 
2473
- if (exit) exit(node);
2473
+ if (exit !== null) exit(node);
2474
2474
  }
2475
2475
 
2476
2476
  function walkExportDefaultDeclarationKind(pos, ast, visitors) {
@@ -2636,7 +2636,7 @@ function walkModuleExportName(pos, ast, visitors) {
2636
2636
 
2637
2637
  function walkV8IntrinsicExpression(pos, ast, visitors) {
2638
2638
  const enterExit = visitors[112];
2639
- let node, enter, exit;
2639
+ let node, enter, exit = null;
2640
2640
  if (enterExit !== null) {
2641
2641
  ({ enter, exit } = enterExit);
2642
2642
  node = new V8IntrinsicExpression(pos, ast);
@@ -2646,7 +2646,7 @@ function walkV8IntrinsicExpression(pos, ast, visitors) {
2646
2646
  walkIdentifierName(pos + 8, ast, visitors);
2647
2647
  walkVecArgument(pos + 32, ast, visitors);
2648
2648
 
2649
- if (exit) exit(node);
2649
+ if (exit !== null) exit(node);
2650
2650
  }
2651
2651
 
2652
2652
  function walkBooleanLiteral(pos, ast, visitors) {
@@ -2681,7 +2681,7 @@ function walkRegExpLiteral(pos, ast, visitors) {
2681
2681
 
2682
2682
  function walkJSXElement(pos, ast, visitors) {
2683
2683
  const enterExit = visitors[113];
2684
- let node, enter, exit;
2684
+ let node, enter, exit = null;
2685
2685
  if (enterExit !== null) {
2686
2686
  ({ enter, exit } = enterExit);
2687
2687
  node = new JSXElement(pos, ast);
@@ -2692,12 +2692,12 @@ function walkJSXElement(pos, ast, visitors) {
2692
2692
  walkVecJSXChild(pos + 16, ast, visitors);
2693
2693
  walkOptionBoxJSXClosingElement(pos + 40, ast, visitors);
2694
2694
 
2695
- if (exit) exit(node);
2695
+ if (exit !== null) exit(node);
2696
2696
  }
2697
2697
 
2698
2698
  function walkJSXOpeningElement(pos, ast, visitors) {
2699
2699
  const enterExit = visitors[114];
2700
- let node, enter, exit;
2700
+ let node, enter, exit = null;
2701
2701
  if (enterExit !== null) {
2702
2702
  ({ enter, exit } = enterExit);
2703
2703
  node = new JSXOpeningElement(pos, ast);
@@ -2708,12 +2708,12 @@ function walkJSXOpeningElement(pos, ast, visitors) {
2708
2708
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
2709
2709
  walkVecJSXAttributeItem(pos + 32, ast, visitors);
2710
2710
 
2711
- if (exit) exit(node);
2711
+ if (exit !== null) exit(node);
2712
2712
  }
2713
2713
 
2714
2714
  function walkJSXClosingElement(pos, ast, visitors) {
2715
2715
  const enterExit = visitors[115];
2716
- let node, enter, exit;
2716
+ let node, enter, exit = null;
2717
2717
  if (enterExit !== null) {
2718
2718
  ({ enter, exit } = enterExit);
2719
2719
  node = new JSXClosingElement(pos, ast);
@@ -2722,12 +2722,12 @@ function walkJSXClosingElement(pos, ast, visitors) {
2722
2722
 
2723
2723
  walkJSXElementName(pos + 8, ast, visitors);
2724
2724
 
2725
- if (exit) exit(node);
2725
+ if (exit !== null) exit(node);
2726
2726
  }
2727
2727
 
2728
2728
  function walkJSXFragment(pos, ast, visitors) {
2729
2729
  const enterExit = visitors[116];
2730
- let node, enter, exit;
2730
+ let node, enter, exit = null;
2731
2731
  if (enterExit !== null) {
2732
2732
  ({ enter, exit } = enterExit);
2733
2733
  node = new JSXFragment(pos, ast);
@@ -2738,7 +2738,7 @@ function walkJSXFragment(pos, ast, visitors) {
2738
2738
  walkVecJSXChild(pos + 16, ast, visitors);
2739
2739
  walkJSXClosingFragment(pos + 40, ast, visitors);
2740
2740
 
2741
- if (exit) exit(node);
2741
+ if (exit !== null) exit(node);
2742
2742
  }
2743
2743
 
2744
2744
  function walkJSXOpeningFragment(pos, ast, visitors) {
@@ -2775,7 +2775,7 @@ function walkJSXElementName(pos, ast, visitors) {
2775
2775
 
2776
2776
  function walkJSXNamespacedName(pos, ast, visitors) {
2777
2777
  const enterExit = visitors[117];
2778
- let node, enter, exit;
2778
+ let node, enter, exit = null;
2779
2779
  if (enterExit !== null) {
2780
2780
  ({ enter, exit } = enterExit);
2781
2781
  node = new JSXNamespacedName(pos, ast);
@@ -2785,12 +2785,12 @@ function walkJSXNamespacedName(pos, ast, visitors) {
2785
2785
  walkJSXIdentifier(pos + 8, ast, visitors);
2786
2786
  walkJSXIdentifier(pos + 32, ast, visitors);
2787
2787
 
2788
- if (exit) exit(node);
2788
+ if (exit !== null) exit(node);
2789
2789
  }
2790
2790
 
2791
2791
  function walkJSXMemberExpression(pos, ast, visitors) {
2792
2792
  const enterExit = visitors[118];
2793
- let node, enter, exit;
2793
+ let node, enter, exit = null;
2794
2794
  if (enterExit !== null) {
2795
2795
  ({ enter, exit } = enterExit);
2796
2796
  node = new JSXMemberExpression(pos, ast);
@@ -2800,7 +2800,7 @@ function walkJSXMemberExpression(pos, ast, visitors) {
2800
2800
  walkJSXMemberExpressionObject(pos + 8, ast, visitors);
2801
2801
  walkJSXIdentifier(pos + 24, ast, visitors);
2802
2802
 
2803
- if (exit) exit(node);
2803
+ if (exit !== null) exit(node);
2804
2804
  }
2805
2805
 
2806
2806
  function walkJSXMemberExpressionObject(pos, ast, visitors) {
@@ -2821,7 +2821,7 @@ function walkJSXMemberExpressionObject(pos, ast, visitors) {
2821
2821
 
2822
2822
  function walkJSXExpressionContainer(pos, ast, visitors) {
2823
2823
  const enterExit = visitors[119];
2824
- let node, enter, exit;
2824
+ let node, enter, exit = null;
2825
2825
  if (enterExit !== null) {
2826
2826
  ({ enter, exit } = enterExit);
2827
2827
  node = new JSXExpressionContainer(pos, ast);
@@ -2830,7 +2830,7 @@ function walkJSXExpressionContainer(pos, ast, visitors) {
2830
2830
 
2831
2831
  walkJSXExpression(pos + 8, ast, visitors);
2832
2832
 
2833
- if (exit) exit(node);
2833
+ if (exit !== null) exit(node);
2834
2834
  }
2835
2835
 
2836
2836
  function walkJSXExpression(pos, ast, visitors) {
@@ -2992,7 +2992,7 @@ function walkJSXAttributeItem(pos, ast, visitors) {
2992
2992
 
2993
2993
  function walkJSXAttribute(pos, ast, visitors) {
2994
2994
  const enterExit = visitors[120];
2995
- let node, enter, exit;
2995
+ let node, enter, exit = null;
2996
2996
  if (enterExit !== null) {
2997
2997
  ({ enter, exit } = enterExit);
2998
2998
  node = new JSXAttribute(pos, ast);
@@ -3002,12 +3002,12 @@ function walkJSXAttribute(pos, ast, visitors) {
3002
3002
  walkJSXAttributeName(pos + 8, ast, visitors);
3003
3003
  walkOptionJSXAttributeValue(pos + 24, ast, visitors);
3004
3004
 
3005
- if (exit) exit(node);
3005
+ if (exit !== null) exit(node);
3006
3006
  }
3007
3007
 
3008
3008
  function walkJSXSpreadAttribute(pos, ast, visitors) {
3009
3009
  const enterExit = visitors[121];
3010
- let node, enter, exit;
3010
+ let node, enter, exit = null;
3011
3011
  if (enterExit !== null) {
3012
3012
  ({ enter, exit } = enterExit);
3013
3013
  node = new JSXSpreadAttribute(pos, ast);
@@ -3016,7 +3016,7 @@ function walkJSXSpreadAttribute(pos, ast, visitors) {
3016
3016
 
3017
3017
  walkExpression(pos + 8, ast, visitors);
3018
3018
 
3019
- if (exit) exit(node);
3019
+ if (exit !== null) exit(node);
3020
3020
  }
3021
3021
 
3022
3022
  function walkJSXAttributeName(pos, ast, visitors) {
@@ -3080,7 +3080,7 @@ function walkJSXChild(pos, ast, visitors) {
3080
3080
 
3081
3081
  function walkJSXSpreadChild(pos, ast, visitors) {
3082
3082
  const enterExit = visitors[122];
3083
- let node, enter, exit;
3083
+ let node, enter, exit = null;
3084
3084
  if (enterExit !== null) {
3085
3085
  ({ enter, exit } = enterExit);
3086
3086
  node = new JSXSpreadChild(pos, ast);
@@ -3089,7 +3089,7 @@ function walkJSXSpreadChild(pos, ast, visitors) {
3089
3089
 
3090
3090
  walkExpression(pos + 8, ast, visitors);
3091
3091
 
3092
- if (exit) exit(node);
3092
+ if (exit !== null) exit(node);
3093
3093
  }
3094
3094
 
3095
3095
  function walkJSXText(pos, ast, visitors) {
@@ -3099,7 +3099,7 @@ function walkJSXText(pos, ast, visitors) {
3099
3099
 
3100
3100
  function walkTSEnumDeclaration(pos, ast, visitors) {
3101
3101
  const enterExit = visitors[123];
3102
- let node, enter, exit;
3102
+ let node, enter, exit = null;
3103
3103
  if (enterExit !== null) {
3104
3104
  ({ enter, exit } = enterExit);
3105
3105
  node = new TSEnumDeclaration(pos, ast);
@@ -3109,12 +3109,12 @@ function walkTSEnumDeclaration(pos, ast, visitors) {
3109
3109
  walkBindingIdentifier(pos + 8, ast, visitors);
3110
3110
  walkTSEnumBody(pos + 40, ast, visitors);
3111
3111
 
3112
- if (exit) exit(node);
3112
+ if (exit !== null) exit(node);
3113
3113
  }
3114
3114
 
3115
3115
  function walkTSEnumBody(pos, ast, visitors) {
3116
3116
  const enterExit = visitors[124];
3117
- let node, enter, exit;
3117
+ let node, enter, exit = null;
3118
3118
  if (enterExit !== null) {
3119
3119
  ({ enter, exit } = enterExit);
3120
3120
  node = new TSEnumBody(pos, ast);
@@ -3123,12 +3123,12 @@ function walkTSEnumBody(pos, ast, visitors) {
3123
3123
 
3124
3124
  walkVecTSEnumMember(pos + 8, ast, visitors);
3125
3125
 
3126
- if (exit) exit(node);
3126
+ if (exit !== null) exit(node);
3127
3127
  }
3128
3128
 
3129
3129
  function walkTSEnumMember(pos, ast, visitors) {
3130
3130
  const enterExit = visitors[125];
3131
- let node, enter, exit;
3131
+ let node, enter, exit = null;
3132
3132
  if (enterExit !== null) {
3133
3133
  ({ enter, exit } = enterExit);
3134
3134
  node = new TSEnumMember(pos, ast);
@@ -3138,7 +3138,7 @@ function walkTSEnumMember(pos, ast, visitors) {
3138
3138
  walkTSEnumMemberName(pos + 8, ast, visitors);
3139
3139
  walkOptionExpression(pos + 24, ast, visitors);
3140
3140
 
3141
- if (exit) exit(node);
3141
+ if (exit !== null) exit(node);
3142
3142
  }
3143
3143
 
3144
3144
  function walkTSEnumMemberName(pos, ast, visitors) {
@@ -3162,7 +3162,7 @@ function walkTSEnumMemberName(pos, ast, visitors) {
3162
3162
 
3163
3163
  function walkTSTypeAnnotation(pos, ast, visitors) {
3164
3164
  const enterExit = visitors[126];
3165
- let node, enter, exit;
3165
+ let node, enter, exit = null;
3166
3166
  if (enterExit !== null) {
3167
3167
  ({ enter, exit } = enterExit);
3168
3168
  node = new TSTypeAnnotation(pos, ast);
@@ -3171,12 +3171,12 @@ function walkTSTypeAnnotation(pos, ast, visitors) {
3171
3171
 
3172
3172
  walkTSType(pos + 8, ast, visitors);
3173
3173
 
3174
- if (exit) exit(node);
3174
+ if (exit !== null) exit(node);
3175
3175
  }
3176
3176
 
3177
3177
  function walkTSLiteralType(pos, ast, visitors) {
3178
3178
  const enterExit = visitors[127];
3179
- let node, enter, exit;
3179
+ let node, enter, exit = null;
3180
3180
  if (enterExit !== null) {
3181
3181
  ({ enter, exit } = enterExit);
3182
3182
  node = new TSLiteralType(pos, ast);
@@ -3185,7 +3185,7 @@ function walkTSLiteralType(pos, ast, visitors) {
3185
3185
 
3186
3186
  walkTSLiteral(pos + 8, ast, visitors);
3187
3187
 
3188
- if (exit) exit(node);
3188
+ if (exit !== null) exit(node);
3189
3189
  }
3190
3190
 
3191
3191
  function walkTSLiteral(pos, ast, visitors) {
@@ -3333,7 +3333,7 @@ function walkTSType(pos, ast, visitors) {
3333
3333
 
3334
3334
  function walkTSConditionalType(pos, ast, visitors) {
3335
3335
  const enterExit = visitors[128];
3336
- let node, enter, exit;
3336
+ let node, enter, exit = null;
3337
3337
  if (enterExit !== null) {
3338
3338
  ({ enter, exit } = enterExit);
3339
3339
  node = new TSConditionalType(pos, ast);
@@ -3345,12 +3345,12 @@ function walkTSConditionalType(pos, ast, visitors) {
3345
3345
  walkTSType(pos + 40, ast, visitors);
3346
3346
  walkTSType(pos + 56, ast, visitors);
3347
3347
 
3348
- if (exit) exit(node);
3348
+ if (exit !== null) exit(node);
3349
3349
  }
3350
3350
 
3351
3351
  function walkTSUnionType(pos, ast, visitors) {
3352
3352
  const enterExit = visitors[129];
3353
- let node, enter, exit;
3353
+ let node, enter, exit = null;
3354
3354
  if (enterExit !== null) {
3355
3355
  ({ enter, exit } = enterExit);
3356
3356
  node = new TSUnionType(pos, ast);
@@ -3359,12 +3359,12 @@ function walkTSUnionType(pos, ast, visitors) {
3359
3359
 
3360
3360
  walkVecTSType(pos + 8, ast, visitors);
3361
3361
 
3362
- if (exit) exit(node);
3362
+ if (exit !== null) exit(node);
3363
3363
  }
3364
3364
 
3365
3365
  function walkTSIntersectionType(pos, ast, visitors) {
3366
3366
  const enterExit = visitors[130];
3367
- let node, enter, exit;
3367
+ let node, enter, exit = null;
3368
3368
  if (enterExit !== null) {
3369
3369
  ({ enter, exit } = enterExit);
3370
3370
  node = new TSIntersectionType(pos, ast);
@@ -3373,12 +3373,12 @@ function walkTSIntersectionType(pos, ast, visitors) {
3373
3373
 
3374
3374
  walkVecTSType(pos + 8, ast, visitors);
3375
3375
 
3376
- if (exit) exit(node);
3376
+ if (exit !== null) exit(node);
3377
3377
  }
3378
3378
 
3379
3379
  function walkTSParenthesizedType(pos, ast, visitors) {
3380
3380
  const enterExit = visitors[131];
3381
- let node, enter, exit;
3381
+ let node, enter, exit = null;
3382
3382
  if (enterExit !== null) {
3383
3383
  ({ enter, exit } = enterExit);
3384
3384
  node = new TSParenthesizedType(pos, ast);
@@ -3387,12 +3387,12 @@ function walkTSParenthesizedType(pos, ast, visitors) {
3387
3387
 
3388
3388
  walkTSType(pos + 8, ast, visitors);
3389
3389
 
3390
- if (exit) exit(node);
3390
+ if (exit !== null) exit(node);
3391
3391
  }
3392
3392
 
3393
3393
  function walkTSTypeOperator(pos, ast, visitors) {
3394
3394
  const enterExit = visitors[132];
3395
- let node, enter, exit;
3395
+ let node, enter, exit = null;
3396
3396
  if (enterExit !== null) {
3397
3397
  ({ enter, exit } = enterExit);
3398
3398
  node = new TSTypeOperator(pos, ast);
@@ -3401,12 +3401,12 @@ function walkTSTypeOperator(pos, ast, visitors) {
3401
3401
 
3402
3402
  walkTSType(pos + 8, ast, visitors);
3403
3403
 
3404
- if (exit) exit(node);
3404
+ if (exit !== null) exit(node);
3405
3405
  }
3406
3406
 
3407
3407
  function walkTSArrayType(pos, ast, visitors) {
3408
3408
  const enterExit = visitors[133];
3409
- let node, enter, exit;
3409
+ let node, enter, exit = null;
3410
3410
  if (enterExit !== null) {
3411
3411
  ({ enter, exit } = enterExit);
3412
3412
  node = new TSArrayType(pos, ast);
@@ -3415,12 +3415,12 @@ function walkTSArrayType(pos, ast, visitors) {
3415
3415
 
3416
3416
  walkTSType(pos + 8, ast, visitors);
3417
3417
 
3418
- if (exit) exit(node);
3418
+ if (exit !== null) exit(node);
3419
3419
  }
3420
3420
 
3421
3421
  function walkTSIndexedAccessType(pos, ast, visitors) {
3422
3422
  const enterExit = visitors[134];
3423
- let node, enter, exit;
3423
+ let node, enter, exit = null;
3424
3424
  if (enterExit !== null) {
3425
3425
  ({ enter, exit } = enterExit);
3426
3426
  node = new TSIndexedAccessType(pos, ast);
@@ -3430,12 +3430,12 @@ function walkTSIndexedAccessType(pos, ast, visitors) {
3430
3430
  walkTSType(pos + 8, ast, visitors);
3431
3431
  walkTSType(pos + 24, ast, visitors);
3432
3432
 
3433
- if (exit) exit(node);
3433
+ if (exit !== null) exit(node);
3434
3434
  }
3435
3435
 
3436
3436
  function walkTSTupleType(pos, ast, visitors) {
3437
3437
  const enterExit = visitors[135];
3438
- let node, enter, exit;
3438
+ let node, enter, exit = null;
3439
3439
  if (enterExit !== null) {
3440
3440
  ({ enter, exit } = enterExit);
3441
3441
  node = new TSTupleType(pos, ast);
@@ -3444,12 +3444,12 @@ function walkTSTupleType(pos, ast, visitors) {
3444
3444
 
3445
3445
  walkVecTSTupleElement(pos + 8, ast, visitors);
3446
3446
 
3447
- if (exit) exit(node);
3447
+ if (exit !== null) exit(node);
3448
3448
  }
3449
3449
 
3450
3450
  function walkTSNamedTupleMember(pos, ast, visitors) {
3451
3451
  const enterExit = visitors[136];
3452
- let node, enter, exit;
3452
+ let node, enter, exit = null;
3453
3453
  if (enterExit !== null) {
3454
3454
  ({ enter, exit } = enterExit);
3455
3455
  node = new TSNamedTupleMember(pos, ast);
@@ -3459,12 +3459,12 @@ function walkTSNamedTupleMember(pos, ast, visitors) {
3459
3459
  walkIdentifierName(pos + 8, ast, visitors);
3460
3460
  walkTSTupleElement(pos + 32, ast, visitors);
3461
3461
 
3462
- if (exit) exit(node);
3462
+ if (exit !== null) exit(node);
3463
3463
  }
3464
3464
 
3465
3465
  function walkTSOptionalType(pos, ast, visitors) {
3466
3466
  const enterExit = visitors[137];
3467
- let node, enter, exit;
3467
+ let node, enter, exit = null;
3468
3468
  if (enterExit !== null) {
3469
3469
  ({ enter, exit } = enterExit);
3470
3470
  node = new TSOptionalType(pos, ast);
@@ -3473,12 +3473,12 @@ function walkTSOptionalType(pos, ast, visitors) {
3473
3473
 
3474
3474
  walkTSType(pos + 8, ast, visitors);
3475
3475
 
3476
- if (exit) exit(node);
3476
+ if (exit !== null) exit(node);
3477
3477
  }
3478
3478
 
3479
3479
  function walkTSRestType(pos, ast, visitors) {
3480
3480
  const enterExit = visitors[138];
3481
- let node, enter, exit;
3481
+ let node, enter, exit = null;
3482
3482
  if (enterExit !== null) {
3483
3483
  ({ enter, exit } = enterExit);
3484
3484
  node = new TSRestType(pos, ast);
@@ -3487,7 +3487,7 @@ function walkTSRestType(pos, ast, visitors) {
3487
3487
 
3488
3488
  walkTSType(pos + 8, ast, visitors);
3489
3489
 
3490
- if (exit) exit(node);
3490
+ if (exit !== null) exit(node);
3491
3491
  }
3492
3492
 
3493
3493
  function walkTSTupleElement(pos, ast, visitors) {
@@ -3686,7 +3686,7 @@ function walkTSBigIntKeyword(pos, ast, visitors) {
3686
3686
 
3687
3687
  function walkTSTypeReference(pos, ast, visitors) {
3688
3688
  const enterExit = visitors[139];
3689
- let node, enter, exit;
3689
+ let node, enter, exit = null;
3690
3690
  if (enterExit !== null) {
3691
3691
  ({ enter, exit } = enterExit);
3692
3692
  node = new TSTypeReference(pos, ast);
@@ -3696,7 +3696,7 @@ function walkTSTypeReference(pos, ast, visitors) {
3696
3696
  walkTSTypeName(pos + 8, ast, visitors);
3697
3697
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
3698
3698
 
3699
- if (exit) exit(node);
3699
+ if (exit !== null) exit(node);
3700
3700
  }
3701
3701
 
3702
3702
  function walkTSTypeName(pos, ast, visitors) {
@@ -3717,7 +3717,7 @@ function walkTSTypeName(pos, ast, visitors) {
3717
3717
 
3718
3718
  function walkTSQualifiedName(pos, ast, visitors) {
3719
3719
  const enterExit = visitors[140];
3720
- let node, enter, exit;
3720
+ let node, enter, exit = null;
3721
3721
  if (enterExit !== null) {
3722
3722
  ({ enter, exit } = enterExit);
3723
3723
  node = new TSQualifiedName(pos, ast);
@@ -3727,12 +3727,12 @@ function walkTSQualifiedName(pos, ast, visitors) {
3727
3727
  walkTSTypeName(pos + 8, ast, visitors);
3728
3728
  walkIdentifierName(pos + 24, ast, visitors);
3729
3729
 
3730
- if (exit) exit(node);
3730
+ if (exit !== null) exit(node);
3731
3731
  }
3732
3732
 
3733
3733
  function walkTSTypeParameterInstantiation(pos, ast, visitors) {
3734
3734
  const enterExit = visitors[141];
3735
- let node, enter, exit;
3735
+ let node, enter, exit = null;
3736
3736
  if (enterExit !== null) {
3737
3737
  ({ enter, exit } = enterExit);
3738
3738
  node = new TSTypeParameterInstantiation(pos, ast);
@@ -3741,12 +3741,12 @@ function walkTSTypeParameterInstantiation(pos, ast, visitors) {
3741
3741
 
3742
3742
  walkVecTSType(pos + 8, ast, visitors);
3743
3743
 
3744
- if (exit) exit(node);
3744
+ if (exit !== null) exit(node);
3745
3745
  }
3746
3746
 
3747
3747
  function walkTSTypeParameter(pos, ast, visitors) {
3748
3748
  const enterExit = visitors[142];
3749
- let node, enter, exit;
3749
+ let node, enter, exit = null;
3750
3750
  if (enterExit !== null) {
3751
3751
  ({ enter, exit } = enterExit);
3752
3752
  node = new TSTypeParameter(pos, ast);
@@ -3757,12 +3757,12 @@ function walkTSTypeParameter(pos, ast, visitors) {
3757
3757
  walkOptionTSType(pos + 40, ast, visitors);
3758
3758
  walkOptionTSType(pos + 56, ast, visitors);
3759
3759
 
3760
- if (exit) exit(node);
3760
+ if (exit !== null) exit(node);
3761
3761
  }
3762
3762
 
3763
3763
  function walkTSTypeParameterDeclaration(pos, ast, visitors) {
3764
3764
  const enterExit = visitors[143];
3765
- let node, enter, exit;
3765
+ let node, enter, exit = null;
3766
3766
  if (enterExit !== null) {
3767
3767
  ({ enter, exit } = enterExit);
3768
3768
  node = new TSTypeParameterDeclaration(pos, ast);
@@ -3771,12 +3771,12 @@ function walkTSTypeParameterDeclaration(pos, ast, visitors) {
3771
3771
 
3772
3772
  walkVecTSTypeParameter(pos + 8, ast, visitors);
3773
3773
 
3774
- if (exit) exit(node);
3774
+ if (exit !== null) exit(node);
3775
3775
  }
3776
3776
 
3777
3777
  function walkTSTypeAliasDeclaration(pos, ast, visitors) {
3778
3778
  const enterExit = visitors[144];
3779
- let node, enter, exit;
3779
+ let node, enter, exit = null;
3780
3780
  if (enterExit !== null) {
3781
3781
  ({ enter, exit } = enterExit);
3782
3782
  node = new TSTypeAliasDeclaration(pos, ast);
@@ -3787,12 +3787,12 @@ function walkTSTypeAliasDeclaration(pos, ast, visitors) {
3787
3787
  walkOptionBoxTSTypeParameterDeclaration(pos + 40, ast, visitors);
3788
3788
  walkTSType(pos + 48, ast, visitors);
3789
3789
 
3790
- if (exit) exit(node);
3790
+ if (exit !== null) exit(node);
3791
3791
  }
3792
3792
 
3793
3793
  function walkTSClassImplements(pos, ast, visitors) {
3794
3794
  const enterExit = visitors[145];
3795
- let node, enter, exit;
3795
+ let node, enter, exit = null;
3796
3796
  if (enterExit !== null) {
3797
3797
  ({ enter, exit } = enterExit);
3798
3798
  node = new TSClassImplements(pos, ast);
@@ -3802,12 +3802,12 @@ function walkTSClassImplements(pos, ast, visitors) {
3802
3802
  walkTSTypeName(pos + 8, ast, visitors);
3803
3803
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
3804
3804
 
3805
- if (exit) exit(node);
3805
+ if (exit !== null) exit(node);
3806
3806
  }
3807
3807
 
3808
3808
  function walkTSInterfaceDeclaration(pos, ast, visitors) {
3809
3809
  const enterExit = visitors[146];
3810
- let node, enter, exit;
3810
+ let node, enter, exit = null;
3811
3811
  if (enterExit !== null) {
3812
3812
  ({ enter, exit } = enterExit);
3813
3813
  node = new TSInterfaceDeclaration(pos, ast);
@@ -3819,12 +3819,12 @@ function walkTSInterfaceDeclaration(pos, ast, visitors) {
3819
3819
  walkVecTSInterfaceHeritage(pos + 48, ast, visitors);
3820
3820
  walkBoxTSInterfaceBody(pos + 72, ast, visitors);
3821
3821
 
3822
- if (exit) exit(node);
3822
+ if (exit !== null) exit(node);
3823
3823
  }
3824
3824
 
3825
3825
  function walkTSInterfaceBody(pos, ast, visitors) {
3826
3826
  const enterExit = visitors[147];
3827
- let node, enter, exit;
3827
+ let node, enter, exit = null;
3828
3828
  if (enterExit !== null) {
3829
3829
  ({ enter, exit } = enterExit);
3830
3830
  node = new TSInterfaceBody(pos, ast);
@@ -3833,12 +3833,12 @@ function walkTSInterfaceBody(pos, ast, visitors) {
3833
3833
 
3834
3834
  walkVecTSSignature(pos + 8, ast, visitors);
3835
3835
 
3836
- if (exit) exit(node);
3836
+ if (exit !== null) exit(node);
3837
3837
  }
3838
3838
 
3839
3839
  function walkTSPropertySignature(pos, ast, visitors) {
3840
3840
  const enterExit = visitors[148];
3841
- let node, enter, exit;
3841
+ let node, enter, exit = null;
3842
3842
  if (enterExit !== null) {
3843
3843
  ({ enter, exit } = enterExit);
3844
3844
  node = new TSPropertySignature(pos, ast);
@@ -3848,7 +3848,7 @@ function walkTSPropertySignature(pos, ast, visitors) {
3848
3848
  walkPropertyKey(pos + 8, ast, visitors);
3849
3849
  walkOptionBoxTSTypeAnnotation(pos + 24, ast, visitors);
3850
3850
 
3851
- if (exit) exit(node);
3851
+ if (exit !== null) exit(node);
3852
3852
  }
3853
3853
 
3854
3854
  function walkTSSignature(pos, ast, visitors) {
@@ -3875,7 +3875,7 @@ function walkTSSignature(pos, ast, visitors) {
3875
3875
 
3876
3876
  function walkTSIndexSignature(pos, ast, visitors) {
3877
3877
  const enterExit = visitors[149];
3878
- let node, enter, exit;
3878
+ let node, enter, exit = null;
3879
3879
  if (enterExit !== null) {
3880
3880
  ({ enter, exit } = enterExit);
3881
3881
  node = new TSIndexSignature(pos, ast);
@@ -3885,12 +3885,12 @@ function walkTSIndexSignature(pos, ast, visitors) {
3885
3885
  walkVecTSIndexSignatureName(pos + 8, ast, visitors);
3886
3886
  walkBoxTSTypeAnnotation(pos + 32, ast, visitors);
3887
3887
 
3888
- if (exit) exit(node);
3888
+ if (exit !== null) exit(node);
3889
3889
  }
3890
3890
 
3891
3891
  function walkTSCallSignatureDeclaration(pos, ast, visitors) {
3892
3892
  const enterExit = visitors[150];
3893
- let node, enter, exit;
3893
+ let node, enter, exit = null;
3894
3894
  if (enterExit !== null) {
3895
3895
  ({ enter, exit } = enterExit);
3896
3896
  node = new TSCallSignatureDeclaration(pos, ast);
@@ -3901,12 +3901,12 @@ function walkTSCallSignatureDeclaration(pos, ast, visitors) {
3901
3901
  walkBoxFormalParameters(pos + 24, ast, visitors);
3902
3902
  walkOptionBoxTSTypeAnnotation(pos + 32, ast, visitors);
3903
3903
 
3904
- if (exit) exit(node);
3904
+ if (exit !== null) exit(node);
3905
3905
  }
3906
3906
 
3907
3907
  function walkTSMethodSignature(pos, ast, visitors) {
3908
3908
  const enterExit = visitors[151];
3909
- let node, enter, exit;
3909
+ let node, enter, exit = null;
3910
3910
  if (enterExit !== null) {
3911
3911
  ({ enter, exit } = enterExit);
3912
3912
  node = new TSMethodSignature(pos, ast);
@@ -3918,12 +3918,12 @@ function walkTSMethodSignature(pos, ast, visitors) {
3918
3918
  walkBoxFormalParameters(pos + 40, ast, visitors);
3919
3919
  walkOptionBoxTSTypeAnnotation(pos + 48, ast, visitors);
3920
3920
 
3921
- if (exit) exit(node);
3921
+ if (exit !== null) exit(node);
3922
3922
  }
3923
3923
 
3924
3924
  function walkTSConstructSignatureDeclaration(pos, ast, visitors) {
3925
3925
  const enterExit = visitors[152];
3926
- let node, enter, exit;
3926
+ let node, enter, exit = null;
3927
3927
  if (enterExit !== null) {
3928
3928
  ({ enter, exit } = enterExit);
3929
3929
  node = new TSConstructSignatureDeclaration(pos, ast);
@@ -3934,12 +3934,12 @@ function walkTSConstructSignatureDeclaration(pos, ast, visitors) {
3934
3934
  walkBoxFormalParameters(pos + 16, ast, visitors);
3935
3935
  walkOptionBoxTSTypeAnnotation(pos + 24, ast, visitors);
3936
3936
 
3937
- if (exit) exit(node);
3937
+ if (exit !== null) exit(node);
3938
3938
  }
3939
3939
 
3940
3940
  function walkTSIndexSignatureName(pos, ast, visitors) {
3941
3941
  const enterExit = visitors[153];
3942
- let node, enter, exit;
3942
+ let node, enter, exit = null;
3943
3943
  if (enterExit !== null) {
3944
3944
  ({ enter, exit } = enterExit);
3945
3945
  node = new TSIndexSignatureName(pos, ast);
@@ -3948,12 +3948,12 @@ function walkTSIndexSignatureName(pos, ast, visitors) {
3948
3948
 
3949
3949
  walkBoxTSTypeAnnotation(pos + 24, ast, visitors);
3950
3950
 
3951
- if (exit) exit(node);
3951
+ if (exit !== null) exit(node);
3952
3952
  }
3953
3953
 
3954
3954
  function walkTSInterfaceHeritage(pos, ast, visitors) {
3955
3955
  const enterExit = visitors[154];
3956
- let node, enter, exit;
3956
+ let node, enter, exit = null;
3957
3957
  if (enterExit !== null) {
3958
3958
  ({ enter, exit } = enterExit);
3959
3959
  node = new TSInterfaceHeritage(pos, ast);
@@ -3963,12 +3963,12 @@ function walkTSInterfaceHeritage(pos, ast, visitors) {
3963
3963
  walkExpression(pos + 8, ast, visitors);
3964
3964
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
3965
3965
 
3966
- if (exit) exit(node);
3966
+ if (exit !== null) exit(node);
3967
3967
  }
3968
3968
 
3969
3969
  function walkTSTypePredicate(pos, ast, visitors) {
3970
3970
  const enterExit = visitors[155];
3971
- let node, enter, exit;
3971
+ let node, enter, exit = null;
3972
3972
  if (enterExit !== null) {
3973
3973
  ({ enter, exit } = enterExit);
3974
3974
  node = new TSTypePredicate(pos, ast);
@@ -3978,7 +3978,7 @@ function walkTSTypePredicate(pos, ast, visitors) {
3978
3978
  walkTSTypePredicateName(pos + 8, ast, visitors);
3979
3979
  walkOptionBoxTSTypeAnnotation(pos + 24, ast, visitors);
3980
3980
 
3981
- if (exit) exit(node);
3981
+ if (exit !== null) exit(node);
3982
3982
  }
3983
3983
 
3984
3984
  function walkTSTypePredicateName(pos, ast, visitors) {
@@ -3996,7 +3996,7 @@ function walkTSTypePredicateName(pos, ast, visitors) {
3996
3996
 
3997
3997
  function walkTSModuleDeclaration(pos, ast, visitors) {
3998
3998
  const enterExit = visitors[156];
3999
- let node, enter, exit;
3999
+ let node, enter, exit = null;
4000
4000
  if (enterExit !== null) {
4001
4001
  ({ enter, exit } = enterExit);
4002
4002
  node = new TSModuleDeclaration(pos, ast);
@@ -4006,7 +4006,7 @@ function walkTSModuleDeclaration(pos, ast, visitors) {
4006
4006
  walkTSModuleDeclarationName(pos + 8, ast, visitors);
4007
4007
  walkOptionTSModuleDeclarationBody(pos + 64, ast, visitors);
4008
4008
 
4009
- if (exit) exit(node);
4009
+ if (exit !== null) exit(node);
4010
4010
  }
4011
4011
 
4012
4012
  function walkTSModuleDeclarationName(pos, ast, visitors) {
@@ -4037,7 +4037,7 @@ function walkTSModuleDeclarationBody(pos, ast, visitors) {
4037
4037
 
4038
4038
  function walkTSModuleBlock(pos, ast, visitors) {
4039
4039
  const enterExit = visitors[157];
4040
- let node, enter, exit;
4040
+ let node, enter, exit = null;
4041
4041
  if (enterExit !== null) {
4042
4042
  ({ enter, exit } = enterExit);
4043
4043
  node = new TSModuleBlock(pos, ast);
@@ -4046,12 +4046,12 @@ function walkTSModuleBlock(pos, ast, visitors) {
4046
4046
 
4047
4047
  walkVecStatement(pos + 32, ast, visitors);
4048
4048
 
4049
- if (exit) exit(node);
4049
+ if (exit !== null) exit(node);
4050
4050
  }
4051
4051
 
4052
4052
  function walkTSTypeLiteral(pos, ast, visitors) {
4053
4053
  const enterExit = visitors[158];
4054
- let node, enter, exit;
4054
+ let node, enter, exit = null;
4055
4055
  if (enterExit !== null) {
4056
4056
  ({ enter, exit } = enterExit);
4057
4057
  node = new TSTypeLiteral(pos, ast);
@@ -4060,12 +4060,12 @@ function walkTSTypeLiteral(pos, ast, visitors) {
4060
4060
 
4061
4061
  walkVecTSSignature(pos + 8, ast, visitors);
4062
4062
 
4063
- if (exit) exit(node);
4063
+ if (exit !== null) exit(node);
4064
4064
  }
4065
4065
 
4066
4066
  function walkTSInferType(pos, ast, visitors) {
4067
4067
  const enterExit = visitors[159];
4068
- let node, enter, exit;
4068
+ let node, enter, exit = null;
4069
4069
  if (enterExit !== null) {
4070
4070
  ({ enter, exit } = enterExit);
4071
4071
  node = new TSInferType(pos, ast);
@@ -4074,12 +4074,12 @@ function walkTSInferType(pos, ast, visitors) {
4074
4074
 
4075
4075
  walkBoxTSTypeParameter(pos + 8, ast, visitors);
4076
4076
 
4077
- if (exit) exit(node);
4077
+ if (exit !== null) exit(node);
4078
4078
  }
4079
4079
 
4080
4080
  function walkTSTypeQuery(pos, ast, visitors) {
4081
4081
  const enterExit = visitors[160];
4082
- let node, enter, exit;
4082
+ let node, enter, exit = null;
4083
4083
  if (enterExit !== null) {
4084
4084
  ({ enter, exit } = enterExit);
4085
4085
  node = new TSTypeQuery(pos, ast);
@@ -4089,7 +4089,7 @@ function walkTSTypeQuery(pos, ast, visitors) {
4089
4089
  walkTSTypeQueryExprName(pos + 8, ast, visitors);
4090
4090
  walkOptionBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
4091
4091
 
4092
- if (exit) exit(node);
4092
+ if (exit !== null) exit(node);
4093
4093
  }
4094
4094
 
4095
4095
  function walkTSTypeQueryExprName(pos, ast, visitors) {
@@ -4113,7 +4113,7 @@ function walkTSTypeQueryExprName(pos, ast, visitors) {
4113
4113
 
4114
4114
  function walkTSImportType(pos, ast, visitors) {
4115
4115
  const enterExit = visitors[161];
4116
- let node, enter, exit;
4116
+ let node, enter, exit = null;
4117
4117
  if (enterExit !== null) {
4118
4118
  ({ enter, exit } = enterExit);
4119
4119
  node = new TSImportType(pos, ast);
@@ -4125,12 +4125,12 @@ function walkTSImportType(pos, ast, visitors) {
4125
4125
  walkOptionTSTypeName(pos + 32, ast, visitors);
4126
4126
  walkOptionBoxTSTypeParameterInstantiation(pos + 48, ast, visitors);
4127
4127
 
4128
- if (exit) exit(node);
4128
+ if (exit !== null) exit(node);
4129
4129
  }
4130
4130
 
4131
4131
  function walkTSFunctionType(pos, ast, visitors) {
4132
4132
  const enterExit = visitors[162];
4133
- let node, enter, exit;
4133
+ let node, enter, exit = null;
4134
4134
  if (enterExit !== null) {
4135
4135
  ({ enter, exit } = enterExit);
4136
4136
  node = new TSFunctionType(pos, ast);
@@ -4141,12 +4141,12 @@ function walkTSFunctionType(pos, ast, visitors) {
4141
4141
  walkBoxFormalParameters(pos + 24, ast, visitors);
4142
4142
  walkBoxTSTypeAnnotation(pos + 32, ast, visitors);
4143
4143
 
4144
- if (exit) exit(node);
4144
+ if (exit !== null) exit(node);
4145
4145
  }
4146
4146
 
4147
4147
  function walkTSConstructorType(pos, ast, visitors) {
4148
4148
  const enterExit = visitors[163];
4149
- let node, enter, exit;
4149
+ let node, enter, exit = null;
4150
4150
  if (enterExit !== null) {
4151
4151
  ({ enter, exit } = enterExit);
4152
4152
  node = new TSConstructorType(pos, ast);
@@ -4157,12 +4157,12 @@ function walkTSConstructorType(pos, ast, visitors) {
4157
4157
  walkBoxFormalParameters(pos + 16, ast, visitors);
4158
4158
  walkBoxTSTypeAnnotation(pos + 24, ast, visitors);
4159
4159
 
4160
- if (exit) exit(node);
4160
+ if (exit !== null) exit(node);
4161
4161
  }
4162
4162
 
4163
4163
  function walkTSMappedType(pos, ast, visitors) {
4164
4164
  const enterExit = visitors[164];
4165
- let node, enter, exit;
4165
+ let node, enter, exit = null;
4166
4166
  if (enterExit !== null) {
4167
4167
  ({ enter, exit } = enterExit);
4168
4168
  node = new TSMappedType(pos, ast);
@@ -4172,12 +4172,12 @@ function walkTSMappedType(pos, ast, visitors) {
4172
4172
  walkOptionTSType(pos + 16, ast, visitors);
4173
4173
  walkOptionTSType(pos + 32, ast, visitors);
4174
4174
 
4175
- if (exit) exit(node);
4175
+ if (exit !== null) exit(node);
4176
4176
  }
4177
4177
 
4178
4178
  function walkTSTemplateLiteralType(pos, ast, visitors) {
4179
4179
  const enterExit = visitors[165];
4180
- let node, enter, exit;
4180
+ let node, enter, exit = null;
4181
4181
  if (enterExit !== null) {
4182
4182
  ({ enter, exit } = enterExit);
4183
4183
  node = new TSTemplateLiteralType(pos, ast);
@@ -4187,12 +4187,12 @@ function walkTSTemplateLiteralType(pos, ast, visitors) {
4187
4187
  walkVecTemplateElement(pos + 8, ast, visitors);
4188
4188
  walkVecTSType(pos + 32, ast, visitors);
4189
4189
 
4190
- if (exit) exit(node);
4190
+ if (exit !== null) exit(node);
4191
4191
  }
4192
4192
 
4193
4193
  function walkTSAsExpression(pos, ast, visitors) {
4194
4194
  const enterExit = visitors[166];
4195
- let node, enter, exit;
4195
+ let node, enter, exit = null;
4196
4196
  if (enterExit !== null) {
4197
4197
  ({ enter, exit } = enterExit);
4198
4198
  node = new TSAsExpression(pos, ast);
@@ -4202,12 +4202,12 @@ function walkTSAsExpression(pos, ast, visitors) {
4202
4202
  walkExpression(pos + 8, ast, visitors);
4203
4203
  walkTSType(pos + 24, ast, visitors);
4204
4204
 
4205
- if (exit) exit(node);
4205
+ if (exit !== null) exit(node);
4206
4206
  }
4207
4207
 
4208
4208
  function walkTSSatisfiesExpression(pos, ast, visitors) {
4209
4209
  const enterExit = visitors[167];
4210
- let node, enter, exit;
4210
+ let node, enter, exit = null;
4211
4211
  if (enterExit !== null) {
4212
4212
  ({ enter, exit } = enterExit);
4213
4213
  node = new TSSatisfiesExpression(pos, ast);
@@ -4217,12 +4217,12 @@ function walkTSSatisfiesExpression(pos, ast, visitors) {
4217
4217
  walkExpression(pos + 8, ast, visitors);
4218
4218
  walkTSType(pos + 24, ast, visitors);
4219
4219
 
4220
- if (exit) exit(node);
4220
+ if (exit !== null) exit(node);
4221
4221
  }
4222
4222
 
4223
4223
  function walkTSTypeAssertion(pos, ast, visitors) {
4224
4224
  const enterExit = visitors[168];
4225
- let node, enter, exit;
4225
+ let node, enter, exit = null;
4226
4226
  if (enterExit !== null) {
4227
4227
  ({ enter, exit } = enterExit);
4228
4228
  node = new TSTypeAssertion(pos, ast);
@@ -4232,12 +4232,12 @@ function walkTSTypeAssertion(pos, ast, visitors) {
4232
4232
  walkTSType(pos + 8, ast, visitors);
4233
4233
  walkExpression(pos + 24, ast, visitors);
4234
4234
 
4235
- if (exit) exit(node);
4235
+ if (exit !== null) exit(node);
4236
4236
  }
4237
4237
 
4238
4238
  function walkTSImportEqualsDeclaration(pos, ast, visitors) {
4239
4239
  const enterExit = visitors[169];
4240
- let node, enter, exit;
4240
+ let node, enter, exit = null;
4241
4241
  if (enterExit !== null) {
4242
4242
  ({ enter, exit } = enterExit);
4243
4243
  node = new TSImportEqualsDeclaration(pos, ast);
@@ -4247,7 +4247,7 @@ function walkTSImportEqualsDeclaration(pos, ast, visitors) {
4247
4247
  walkBindingIdentifier(pos + 8, ast, visitors);
4248
4248
  walkTSModuleReference(pos + 40, ast, visitors);
4249
4249
 
4250
- if (exit) exit(node);
4250
+ if (exit !== null) exit(node);
4251
4251
  }
4252
4252
 
4253
4253
  function walkTSModuleReference(pos, ast, visitors) {
@@ -4271,7 +4271,7 @@ function walkTSModuleReference(pos, ast, visitors) {
4271
4271
 
4272
4272
  function walkTSExternalModuleReference(pos, ast, visitors) {
4273
4273
  const enterExit = visitors[170];
4274
- let node, enter, exit;
4274
+ let node, enter, exit = null;
4275
4275
  if (enterExit !== null) {
4276
4276
  ({ enter, exit } = enterExit);
4277
4277
  node = new TSExternalModuleReference(pos, ast);
@@ -4280,12 +4280,12 @@ function walkTSExternalModuleReference(pos, ast, visitors) {
4280
4280
 
4281
4281
  walkStringLiteral(pos + 8, ast, visitors);
4282
4282
 
4283
- if (exit) exit(node);
4283
+ if (exit !== null) exit(node);
4284
4284
  }
4285
4285
 
4286
4286
  function walkTSNonNullExpression(pos, ast, visitors) {
4287
4287
  const enterExit = visitors[171];
4288
- let node, enter, exit;
4288
+ let node, enter, exit = null;
4289
4289
  if (enterExit !== null) {
4290
4290
  ({ enter, exit } = enterExit);
4291
4291
  node = new TSNonNullExpression(pos, ast);
@@ -4294,12 +4294,12 @@ function walkTSNonNullExpression(pos, ast, visitors) {
4294
4294
 
4295
4295
  walkExpression(pos + 8, ast, visitors);
4296
4296
 
4297
- if (exit) exit(node);
4297
+ if (exit !== null) exit(node);
4298
4298
  }
4299
4299
 
4300
4300
  function walkDecorator(pos, ast, visitors) {
4301
4301
  const enterExit = visitors[172];
4302
- let node, enter, exit;
4302
+ let node, enter, exit = null;
4303
4303
  if (enterExit !== null) {
4304
4304
  ({ enter, exit } = enterExit);
4305
4305
  node = new Decorator(pos, ast);
@@ -4308,12 +4308,12 @@ function walkDecorator(pos, ast, visitors) {
4308
4308
 
4309
4309
  walkExpression(pos + 8, ast, visitors);
4310
4310
 
4311
- if (exit) exit(node);
4311
+ if (exit !== null) exit(node);
4312
4312
  }
4313
4313
 
4314
4314
  function walkTSExportAssignment(pos, ast, visitors) {
4315
4315
  const enterExit = visitors[173];
4316
- let node, enter, exit;
4316
+ let node, enter, exit = null;
4317
4317
  if (enterExit !== null) {
4318
4318
  ({ enter, exit } = enterExit);
4319
4319
  node = new TSExportAssignment(pos, ast);
@@ -4322,12 +4322,12 @@ function walkTSExportAssignment(pos, ast, visitors) {
4322
4322
 
4323
4323
  walkExpression(pos + 8, ast, visitors);
4324
4324
 
4325
- if (exit) exit(node);
4325
+ if (exit !== null) exit(node);
4326
4326
  }
4327
4327
 
4328
4328
  function walkTSNamespaceExportDeclaration(pos, ast, visitors) {
4329
4329
  const enterExit = visitors[174];
4330
- let node, enter, exit;
4330
+ let node, enter, exit = null;
4331
4331
  if (enterExit !== null) {
4332
4332
  ({ enter, exit } = enterExit);
4333
4333
  node = new TSNamespaceExportDeclaration(pos, ast);
@@ -4336,12 +4336,12 @@ function walkTSNamespaceExportDeclaration(pos, ast, visitors) {
4336
4336
 
4337
4337
  walkIdentifierName(pos + 8, ast, visitors);
4338
4338
 
4339
- if (exit) exit(node);
4339
+ if (exit !== null) exit(node);
4340
4340
  }
4341
4341
 
4342
4342
  function walkTSInstantiationExpression(pos, ast, visitors) {
4343
4343
  const enterExit = visitors[175];
4344
- let node, enter, exit;
4344
+ let node, enter, exit = null;
4345
4345
  if (enterExit !== null) {
4346
4346
  ({ enter, exit } = enterExit);
4347
4347
  node = new TSInstantiationExpression(pos, ast);
@@ -4351,12 +4351,12 @@ function walkTSInstantiationExpression(pos, ast, visitors) {
4351
4351
  walkExpression(pos + 8, ast, visitors);
4352
4352
  walkBoxTSTypeParameterInstantiation(pos + 24, ast, visitors);
4353
4353
 
4354
- if (exit) exit(node);
4354
+ if (exit !== null) exit(node);
4355
4355
  }
4356
4356
 
4357
4357
  function walkJSDocNullableType(pos, ast, visitors) {
4358
4358
  const enterExit = visitors[176];
4359
- let node, enter, exit;
4359
+ let node, enter, exit = null;
4360
4360
  if (enterExit !== null) {
4361
4361
  ({ enter, exit } = enterExit);
4362
4362
  node = new JSDocNullableType(pos, ast);
@@ -4365,12 +4365,12 @@ function walkJSDocNullableType(pos, ast, visitors) {
4365
4365
 
4366
4366
  walkTSType(pos + 8, ast, visitors);
4367
4367
 
4368
- if (exit) exit(node);
4368
+ if (exit !== null) exit(node);
4369
4369
  }
4370
4370
 
4371
4371
  function walkJSDocNonNullableType(pos, ast, visitors) {
4372
4372
  const enterExit = visitors[177];
4373
- let node, enter, exit;
4373
+ let node, enter, exit = null;
4374
4374
  if (enterExit !== null) {
4375
4375
  ({ enter, exit } = enterExit);
4376
4376
  node = new JSDocNonNullableType(pos, ast);
@@ -4379,7 +4379,7 @@ function walkJSDocNonNullableType(pos, ast, visitors) {
4379
4379
 
4380
4380
  walkTSType(pos + 8, ast, visitors);
4381
4381
 
4382
- if (exit) exit(node);
4382
+ if (exit !== null) exit(node);
4383
4383
  }
4384
4384
 
4385
4385
  function walkJSDocUnknownType(pos, ast, visitors) {