oxc-parser 0.121.0 → 0.123.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.
@@ -39,8 +39,8 @@ function deserializeProgram(pos) {
39
39
  start,
40
40
  end,
41
41
  };
42
- program.hashbang = deserializeOptionHashbang(pos + 48);
43
- (program.body = deserializeVecDirective(pos + 80)).push(...deserializeVecStatement(pos + 104));
42
+ program.hashbang = deserializeOptionHashbang(pos + 56);
43
+ (program.body = deserializeVecDirective(pos + 88)).push(...deserializeVecStatement(pos + 112));
44
44
  return program;
45
45
  }
46
46
 
@@ -140,7 +140,7 @@ function deserializeExpression(pos) {
140
140
  function deserializeIdentifierName(pos) {
141
141
  return {
142
142
  type: "Identifier",
143
- name: deserializeStr(pos + 8),
143
+ name: deserializeStr(pos + 16),
144
144
  start: deserializeU32(pos),
145
145
  end: deserializeU32(pos + 4),
146
146
  };
@@ -149,7 +149,7 @@ function deserializeIdentifierName(pos) {
149
149
  function deserializeIdentifierReference(pos) {
150
150
  return {
151
151
  type: "Identifier",
152
- name: deserializeStr(pos + 8),
152
+ name: deserializeStr(pos + 16),
153
153
  start: deserializeU32(pos),
154
154
  end: deserializeU32(pos + 4),
155
155
  };
@@ -158,7 +158,7 @@ function deserializeIdentifierReference(pos) {
158
158
  function deserializeBindingIdentifier(pos) {
159
159
  return {
160
160
  type: "Identifier",
161
- name: deserializeStr(pos + 8),
161
+ name: deserializeStr(pos + 16),
162
162
  start: deserializeU32(pos),
163
163
  end: deserializeU32(pos + 4),
164
164
  };
@@ -167,7 +167,7 @@ function deserializeBindingIdentifier(pos) {
167
167
  function deserializeLabelIdentifier(pos) {
168
168
  return {
169
169
  type: "Identifier",
170
- name: deserializeStr(pos + 8),
170
+ name: deserializeStr(pos + 16),
171
171
  start: deserializeU32(pos),
172
172
  end: deserializeU32(pos + 4),
173
173
  };
@@ -188,7 +188,7 @@ function deserializeArrayExpression(pos) {
188
188
  start: deserializeU32(pos),
189
189
  end: deserializeU32(pos + 4),
190
190
  };
191
- node.elements = deserializeVecArrayExpressionElement(pos + 8);
191
+ node.elements = deserializeVecArrayExpressionElement(pos + 16);
192
192
  return node;
193
193
  }
194
194
 
@@ -300,7 +300,7 @@ function deserializeObjectExpression(pos) {
300
300
  start: deserializeU32(pos),
301
301
  end: deserializeU32(pos + 4),
302
302
  };
303
- node.properties = deserializeVecObjectPropertyKind(pos + 8);
303
+ node.properties = deserializeVecObjectPropertyKind(pos + 16);
304
304
  return node;
305
305
  }
306
306
 
@@ -318,17 +318,17 @@ function deserializeObjectPropertyKind(pos) {
318
318
  function deserializeObjectProperty(pos) {
319
319
  let node = {
320
320
  type: "Property",
321
- kind: deserializePropertyKind(pos + 44),
321
+ kind: deserializePropertyKind(pos + 12),
322
322
  key: null,
323
323
  value: null,
324
- method: deserializeBool(pos + 45),
325
- shorthand: deserializeBool(pos + 46),
326
- computed: deserializeBool(pos + 47),
324
+ method: deserializeBool(pos + 13),
325
+ shorthand: deserializeBool(pos + 14),
326
+ computed: deserializeBool(pos + 15),
327
327
  start: deserializeU32(pos),
328
328
  end: deserializeU32(pos + 4),
329
329
  };
330
- node.key = deserializePropertyKey(pos + 8);
331
- node.value = deserializeExpression(pos + 24);
330
+ node.key = deserializePropertyKey(pos + 16);
331
+ node.value = deserializeExpression(pos + 32);
332
332
  return node;
333
333
  }
334
334
 
@@ -450,8 +450,8 @@ function deserializeTemplateLiteral(pos) {
450
450
  start: deserializeU32(pos),
451
451
  end: deserializeU32(pos + 4),
452
452
  };
453
- node.quasis = deserializeVecTemplateElement(pos + 8);
454
- node.expressions = deserializeVecExpression(pos + 32);
453
+ node.quasis = deserializeVecTemplateElement(pos + 16);
454
+ node.expressions = deserializeVecExpression(pos + 40);
455
455
  return node;
456
456
  }
457
457
 
@@ -463,18 +463,18 @@ function deserializeTaggedTemplateExpression(pos) {
463
463
  start: deserializeU32(pos),
464
464
  end: deserializeU32(pos + 4),
465
465
  };
466
- node.tag = deserializeExpression(pos + 8);
467
- node.quasi = deserializeTemplateLiteral(pos + 32);
466
+ node.tag = deserializeExpression(pos + 16);
467
+ node.quasi = deserializeTemplateLiteral(pos + 40);
468
468
  return node;
469
469
  }
470
470
 
471
471
  function deserializeTemplateElement(pos) {
472
- let tail = deserializeBool(pos + 44),
472
+ let tail = deserializeBool(pos + 12),
473
473
  start = deserializeU32(pos),
474
474
  end = deserializeU32(pos + 4),
475
- value = deserializeTemplateElementValue(pos + 8);
475
+ value = deserializeTemplateElementValue(pos + 16);
476
476
  value.cooked !== null &&
477
- deserializeBool(pos + 45) &&
477
+ deserializeBool(pos + 13) &&
478
478
  (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) =>
479
479
  String.fromCodePoint(parseInt(hex, 16)),
480
480
  ));
@@ -499,13 +499,13 @@ function deserializeComputedMemberExpression(pos) {
499
499
  type: "MemberExpression",
500
500
  object: null,
501
501
  property: null,
502
- optional: deserializeBool(pos + 44),
502
+ optional: deserializeBool(pos + 12),
503
503
  computed: null,
504
504
  start: deserializeU32(pos),
505
505
  end: deserializeU32(pos + 4),
506
506
  };
507
- node.object = deserializeExpression(pos + 8);
508
- node.property = deserializeExpression(pos + 24);
507
+ node.object = deserializeExpression(pos + 16);
508
+ node.property = deserializeExpression(pos + 32);
509
509
  node.computed = true;
510
510
  return node;
511
511
  }
@@ -515,13 +515,13 @@ function deserializeStaticMemberExpression(pos) {
515
515
  type: "MemberExpression",
516
516
  object: null,
517
517
  property: null,
518
- optional: deserializeBool(pos + 60),
518
+ optional: deserializeBool(pos + 12),
519
519
  computed: null,
520
520
  start: deserializeU32(pos),
521
521
  end: deserializeU32(pos + 4),
522
522
  };
523
- node.object = deserializeExpression(pos + 8);
524
- node.property = deserializeIdentifierName(pos + 24);
523
+ node.object = deserializeExpression(pos + 16);
524
+ node.property = deserializeIdentifierName(pos + 32);
525
525
  node.computed = false;
526
526
  return node;
527
527
  }
@@ -531,13 +531,13 @@ function deserializePrivateFieldExpression(pos) {
531
531
  type: "MemberExpression",
532
532
  object: null,
533
533
  property: null,
534
- optional: deserializeBool(pos + 60),
534
+ optional: deserializeBool(pos + 12),
535
535
  computed: null,
536
536
  start: deserializeU32(pos),
537
537
  end: deserializeU32(pos + 4),
538
538
  };
539
- node.object = deserializeExpression(pos + 8);
540
- node.property = deserializePrivateIdentifier(pos + 24);
539
+ node.object = deserializeExpression(pos + 16);
540
+ node.property = deserializePrivateIdentifier(pos + 32);
541
541
  node.computed = false;
542
542
  return node;
543
543
  }
@@ -547,12 +547,12 @@ function deserializeCallExpression(pos) {
547
547
  type: "CallExpression",
548
548
  callee: null,
549
549
  arguments: null,
550
- optional: deserializeBool(pos + 60),
550
+ optional: deserializeBool(pos + 12),
551
551
  start: deserializeU32(pos),
552
552
  end: deserializeU32(pos + 4),
553
553
  };
554
- node.callee = deserializeExpression(pos + 8);
555
- node.arguments = deserializeVecArgument(pos + 32);
554
+ node.callee = deserializeExpression(pos + 16);
555
+ node.arguments = deserializeVecArgument(pos + 40);
556
556
  return node;
557
557
  }
558
558
 
@@ -564,8 +564,8 @@ function deserializeNewExpression(pos) {
564
564
  start: deserializeU32(pos),
565
565
  end: deserializeU32(pos + 4),
566
566
  };
567
- node.callee = deserializeExpression(pos + 8);
568
- node.arguments = deserializeVecArgument(pos + 32);
567
+ node.callee = deserializeExpression(pos + 16);
568
+ node.arguments = deserializeVecArgument(pos + 40);
569
569
  return node;
570
570
  }
571
571
 
@@ -577,8 +577,8 @@ function deserializeMetaProperty(pos) {
577
577
  start: deserializeU32(pos),
578
578
  end: deserializeU32(pos + 4),
579
579
  };
580
- node.meta = deserializeIdentifierName(pos + 8);
581
- node.property = deserializeIdentifierName(pos + 40);
580
+ node.meta = deserializeIdentifierName(pos + 16);
581
+ node.property = deserializeIdentifierName(pos + 48);
582
582
  return node;
583
583
  }
584
584
 
@@ -589,7 +589,7 @@ function deserializeSpreadElement(pos) {
589
589
  start: deserializeU32(pos),
590
590
  end: deserializeU32(pos + 4),
591
591
  };
592
- node.argument = deserializeExpression(pos + 8);
592
+ node.argument = deserializeExpression(pos + 16);
593
593
  return node;
594
594
  }
595
595
 
@@ -691,26 +691,26 @@ function deserializeArgument(pos) {
691
691
  function deserializeUpdateExpression(pos) {
692
692
  let node = {
693
693
  type: "UpdateExpression",
694
- operator: deserializeUpdateOperator(pos + 28),
695
- prefix: deserializeBool(pos + 29),
694
+ operator: deserializeUpdateOperator(pos + 12),
695
+ prefix: deserializeBool(pos + 13),
696
696
  argument: null,
697
697
  start: deserializeU32(pos),
698
698
  end: deserializeU32(pos + 4),
699
699
  };
700
- node.argument = deserializeSimpleAssignmentTarget(pos + 8);
700
+ node.argument = deserializeSimpleAssignmentTarget(pos + 16);
701
701
  return node;
702
702
  }
703
703
 
704
704
  function deserializeUnaryExpression(pos) {
705
705
  let node = {
706
706
  type: "UnaryExpression",
707
- operator: deserializeUnaryOperator(pos + 28),
707
+ operator: deserializeUnaryOperator(pos + 12),
708
708
  argument: null,
709
709
  prefix: null,
710
710
  start: deserializeU32(pos),
711
711
  end: deserializeU32(pos + 4),
712
712
  };
713
- node.argument = deserializeExpression(pos + 8);
713
+ node.argument = deserializeExpression(pos + 16);
714
714
  node.prefix = true;
715
715
  return node;
716
716
  }
@@ -719,13 +719,13 @@ function deserializeBinaryExpression(pos) {
719
719
  let node = {
720
720
  type: "BinaryExpression",
721
721
  left: null,
722
- operator: deserializeBinaryOperator(pos + 44),
722
+ operator: deserializeBinaryOperator(pos + 12),
723
723
  right: null,
724
724
  start: deserializeU32(pos),
725
725
  end: deserializeU32(pos + 4),
726
726
  };
727
- node.left = deserializeExpression(pos + 8);
728
- node.right = deserializeExpression(pos + 24);
727
+ node.left = deserializeExpression(pos + 16);
728
+ node.right = deserializeExpression(pos + 32);
729
729
  return node;
730
730
  }
731
731
 
@@ -738,9 +738,9 @@ function deserializePrivateInExpression(pos) {
738
738
  start: deserializeU32(pos),
739
739
  end: deserializeU32(pos + 4),
740
740
  };
741
- node.left = deserializePrivateIdentifier(pos + 8);
741
+ node.left = deserializePrivateIdentifier(pos + 16);
742
742
  node.operator = "in";
743
- node.right = deserializeExpression(pos + 40);
743
+ node.right = deserializeExpression(pos + 48);
744
744
  return node;
745
745
  }
746
746
 
@@ -748,13 +748,13 @@ function deserializeLogicalExpression(pos) {
748
748
  let node = {
749
749
  type: "LogicalExpression",
750
750
  left: null,
751
- operator: deserializeLogicalOperator(pos + 44),
751
+ operator: deserializeLogicalOperator(pos + 12),
752
752
  right: null,
753
753
  start: deserializeU32(pos),
754
754
  end: deserializeU32(pos + 4),
755
755
  };
756
- node.left = deserializeExpression(pos + 8);
757
- node.right = deserializeExpression(pos + 24);
756
+ node.left = deserializeExpression(pos + 16);
757
+ node.right = deserializeExpression(pos + 32);
758
758
  return node;
759
759
  }
760
760
 
@@ -767,23 +767,23 @@ function deserializeConditionalExpression(pos) {
767
767
  start: deserializeU32(pos),
768
768
  end: deserializeU32(pos + 4),
769
769
  };
770
- node.test = deserializeExpression(pos + 8);
771
- node.consequent = deserializeExpression(pos + 24);
772
- node.alternate = deserializeExpression(pos + 40);
770
+ node.test = deserializeExpression(pos + 16);
771
+ node.consequent = deserializeExpression(pos + 32);
772
+ node.alternate = deserializeExpression(pos + 48);
773
773
  return node;
774
774
  }
775
775
 
776
776
  function deserializeAssignmentExpression(pos) {
777
777
  let node = {
778
778
  type: "AssignmentExpression",
779
- operator: deserializeAssignmentOperator(pos + 44),
779
+ operator: deserializeAssignmentOperator(pos + 12),
780
780
  left: null,
781
781
  right: null,
782
782
  start: deserializeU32(pos),
783
783
  end: deserializeU32(pos + 4),
784
784
  };
785
- node.left = deserializeAssignmentTarget(pos + 8);
786
- node.right = deserializeExpression(pos + 24);
785
+ node.left = deserializeAssignmentTarget(pos + 16);
786
+ node.right = deserializeExpression(pos + 32);
787
787
  return node;
788
788
  }
789
789
 
@@ -844,8 +844,8 @@ function deserializeArrayAssignmentTarget(pos) {
844
844
  start: deserializeU32(pos),
845
845
  end: deserializeU32(pos + 4),
846
846
  },
847
- elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 8),
848
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
847
+ elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 16),
848
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
849
849
  rest !== null && elements.push(rest);
850
850
  node.elements = elements;
851
851
  return node;
@@ -858,8 +858,8 @@ function deserializeObjectAssignmentTarget(pos) {
858
858
  start: deserializeU32(pos),
859
859
  end: deserializeU32(pos + 4),
860
860
  },
861
- properties = deserializeVecAssignmentTargetProperty(pos + 8),
862
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
861
+ properties = deserializeVecAssignmentTargetProperty(pos + 16),
862
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
863
863
  rest !== null && properties.push(rest);
864
864
  node.properties = properties;
865
865
  return node;
@@ -872,7 +872,7 @@ function deserializeAssignmentTargetRest(pos) {
872
872
  start: deserializeU32(pos),
873
873
  end: deserializeU32(pos + 4),
874
874
  };
875
- node.argument = deserializeAssignmentTarget(pos + 8);
875
+ node.argument = deserializeAssignmentTarget(pos + 16);
876
876
  return node;
877
877
  }
878
878
 
@@ -913,8 +913,8 @@ function deserializeAssignmentTargetWithDefault(pos) {
913
913
  start: deserializeU32(pos),
914
914
  end: deserializeU32(pos + 4),
915
915
  };
916
- node.left = deserializeAssignmentTarget(pos + 8);
917
- node.right = deserializeExpression(pos + 24);
916
+ node.left = deserializeAssignmentTarget(pos + 16);
917
+ node.right = deserializeExpression(pos + 32);
918
918
  return node;
919
919
  }
920
920
 
@@ -943,14 +943,14 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
943
943
  start,
944
944
  end,
945
945
  },
946
- key = deserializeIdentifierReference(pos + 8),
946
+ key = deserializeIdentifierReference(pos + 16),
947
947
  value = {
948
948
  type: "Identifier",
949
949
  name: key.name,
950
950
  start: key.start,
951
951
  end: key.end,
952
952
  },
953
- init = deserializeOptionExpression(pos + 40);
953
+ init = deserializeOptionExpression(pos + 48);
954
954
  init !== null &&
955
955
  (value = {
956
956
  type: "AssignmentPattern",
@@ -976,13 +976,13 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
976
976
  value: null,
977
977
  method: null,
978
978
  shorthand: null,
979
- computed: deserializeBool(pos + 44),
979
+ computed: deserializeBool(pos + 12),
980
980
  start: deserializeU32(pos),
981
981
  end: deserializeU32(pos + 4),
982
982
  };
983
983
  node.kind = "init";
984
- node.key = deserializePropertyKey(pos + 8);
985
- node.value = deserializeAssignmentTargetMaybeDefault(pos + 24);
984
+ node.key = deserializePropertyKey(pos + 16);
985
+ node.value = deserializeAssignmentTargetMaybeDefault(pos + 32);
986
986
  node.method = false;
987
987
  node.shorthand = false;
988
988
  return node;
@@ -995,7 +995,7 @@ function deserializeSequenceExpression(pos) {
995
995
  start: deserializeU32(pos),
996
996
  end: deserializeU32(pos + 4),
997
997
  };
998
- node.expressions = deserializeVecExpression(pos + 8);
998
+ node.expressions = deserializeVecExpression(pos + 16);
999
999
  return node;
1000
1000
  }
1001
1001
 
@@ -1014,7 +1014,7 @@ function deserializeAwaitExpression(pos) {
1014
1014
  start: deserializeU32(pos),
1015
1015
  end: deserializeU32(pos + 4),
1016
1016
  };
1017
- node.argument = deserializeExpression(pos + 8);
1017
+ node.argument = deserializeExpression(pos + 16);
1018
1018
  return node;
1019
1019
  }
1020
1020
 
@@ -1025,7 +1025,7 @@ function deserializeChainExpression(pos) {
1025
1025
  start: deserializeU32(pos),
1026
1026
  end: deserializeU32(pos + 4),
1027
1027
  };
1028
- node.expression = deserializeChainElement(pos + 8);
1028
+ node.expression = deserializeChainElement(pos + 16);
1029
1029
  return node;
1030
1030
  }
1031
1031
 
@@ -1054,7 +1054,7 @@ function deserializeParenthesizedExpression(pos) {
1054
1054
  start: deserializeU32(pos),
1055
1055
  end: deserializeU32(pos + 4),
1056
1056
  };
1057
- node.expression = deserializeExpression(pos + 8);
1057
+ node.expression = deserializeExpression(pos + 16);
1058
1058
  return node;
1059
1059
  }
1060
1060
 
@@ -1135,18 +1135,18 @@ function deserializeDirective(pos) {
1135
1135
  let node = {
1136
1136
  type: "ExpressionStatement",
1137
1137
  expression: null,
1138
- directive: deserializeStr(pos + 56),
1138
+ directive: deserializeStr(pos + 64),
1139
1139
  start: deserializeU32(pos),
1140
1140
  end: deserializeU32(pos + 4),
1141
1141
  };
1142
- node.expression = deserializeStringLiteral(pos + 8);
1142
+ node.expression = deserializeStringLiteral(pos + 16);
1143
1143
  return node;
1144
1144
  }
1145
1145
 
1146
1146
  function deserializeHashbang(pos) {
1147
1147
  return {
1148
1148
  type: "Hashbang",
1149
- value: deserializeStr(pos + 8),
1149
+ value: deserializeStr(pos + 16),
1150
1150
  start: deserializeU32(pos),
1151
1151
  end: deserializeU32(pos + 4),
1152
1152
  };
@@ -1159,7 +1159,7 @@ function deserializeBlockStatement(pos) {
1159
1159
  start: deserializeU32(pos),
1160
1160
  end: deserializeU32(pos + 4),
1161
1161
  };
1162
- node.body = deserializeVecStatement(pos + 8);
1162
+ node.body = deserializeVecStatement(pos + 16);
1163
1163
  return node;
1164
1164
  }
1165
1165
 
@@ -1191,12 +1191,12 @@ function deserializeDeclaration(pos) {
1191
1191
  function deserializeVariableDeclaration(pos) {
1192
1192
  let node = {
1193
1193
  type: "VariableDeclaration",
1194
- kind: deserializeVariableDeclarationKind(pos + 36),
1194
+ kind: deserializeVariableDeclarationKind(pos + 12),
1195
1195
  declarations: null,
1196
1196
  start: deserializeU32(pos),
1197
1197
  end: deserializeU32(pos + 4),
1198
1198
  };
1199
- node.declarations = deserializeVecVariableDeclarator(pos + 8);
1199
+ node.declarations = deserializeVecVariableDeclarator(pos + 16);
1200
1200
  return node;
1201
1201
  }
1202
1202
 
@@ -1218,16 +1218,16 @@ function deserializeVariableDeclarationKind(pos) {
1218
1218
  }
1219
1219
 
1220
1220
  function deserializeVariableDeclarator(pos) {
1221
- let variableDeclarator = {
1221
+ let node = {
1222
1222
  type: "VariableDeclarator",
1223
1223
  id: null,
1224
1224
  init: null,
1225
1225
  start: deserializeU32(pos),
1226
1226
  end: deserializeU32(pos + 4),
1227
1227
  };
1228
- variableDeclarator.id = deserializeBindingPattern(pos + 8);
1229
- variableDeclarator.init = deserializeOptionExpression(pos + 32);
1230
- return variableDeclarator;
1228
+ node.id = deserializeBindingPattern(pos + 16);
1229
+ node.init = deserializeOptionExpression(pos + 40);
1230
+ return node;
1231
1231
  }
1232
1232
 
1233
1233
  function deserializeEmptyStatement(pos) {
@@ -1245,7 +1245,7 @@ function deserializeExpressionStatement(pos) {
1245
1245
  start: deserializeU32(pos),
1246
1246
  end: deserializeU32(pos + 4),
1247
1247
  };
1248
- node.expression = deserializeExpression(pos + 8);
1248
+ node.expression = deserializeExpression(pos + 16);
1249
1249
  return node;
1250
1250
  }
1251
1251
 
@@ -1258,9 +1258,9 @@ function deserializeIfStatement(pos) {
1258
1258
  start: deserializeU32(pos),
1259
1259
  end: deserializeU32(pos + 4),
1260
1260
  };
1261
- node.test = deserializeExpression(pos + 8);
1262
- node.consequent = deserializeStatement(pos + 24);
1263
- node.alternate = deserializeOptionStatement(pos + 40);
1261
+ node.test = deserializeExpression(pos + 16);
1262
+ node.consequent = deserializeStatement(pos + 32);
1263
+ node.alternate = deserializeOptionStatement(pos + 48);
1264
1264
  return node;
1265
1265
  }
1266
1266
 
@@ -1272,8 +1272,8 @@ function deserializeDoWhileStatement(pos) {
1272
1272
  start: deserializeU32(pos),
1273
1273
  end: deserializeU32(pos + 4),
1274
1274
  };
1275
- node.body = deserializeStatement(pos + 8);
1276
- node.test = deserializeExpression(pos + 24);
1275
+ node.body = deserializeStatement(pos + 16);
1276
+ node.test = deserializeExpression(pos + 32);
1277
1277
  return node;
1278
1278
  }
1279
1279
 
@@ -1285,8 +1285,8 @@ function deserializeWhileStatement(pos) {
1285
1285
  start: deserializeU32(pos),
1286
1286
  end: deserializeU32(pos + 4),
1287
1287
  };
1288
- node.test = deserializeExpression(pos + 8);
1289
- node.body = deserializeStatement(pos + 24);
1288
+ node.test = deserializeExpression(pos + 16);
1289
+ node.body = deserializeStatement(pos + 32);
1290
1290
  return node;
1291
1291
  }
1292
1292
 
@@ -1300,10 +1300,10 @@ function deserializeForStatement(pos) {
1300
1300
  start: deserializeU32(pos),
1301
1301
  end: deserializeU32(pos + 4),
1302
1302
  };
1303
- node.init = deserializeOptionForStatementInit(pos + 8);
1304
- node.test = deserializeOptionExpression(pos + 24);
1305
- node.update = deserializeOptionExpression(pos + 40);
1306
- node.body = deserializeStatement(pos + 56);
1303
+ node.init = deserializeOptionForStatementInit(pos + 16);
1304
+ node.test = deserializeOptionExpression(pos + 32);
1305
+ node.update = deserializeOptionExpression(pos + 48);
1306
+ node.body = deserializeStatement(pos + 64);
1307
1307
  return node;
1308
1308
  }
1309
1309
 
@@ -1411,9 +1411,9 @@ function deserializeForInStatement(pos) {
1411
1411
  start: deserializeU32(pos),
1412
1412
  end: deserializeU32(pos + 4),
1413
1413
  };
1414
- node.left = deserializeForStatementLeft(pos + 8);
1415
- node.right = deserializeExpression(pos + 24);
1416
- node.body = deserializeStatement(pos + 40);
1414
+ node.left = deserializeForStatementLeft(pos + 16);
1415
+ node.right = deserializeExpression(pos + 32);
1416
+ node.body = deserializeStatement(pos + 48);
1417
1417
  return node;
1418
1418
  }
1419
1419
 
@@ -1456,9 +1456,9 @@ function deserializeForOfStatement(pos) {
1456
1456
  start: deserializeU32(pos),
1457
1457
  end: deserializeU32(pos + 4),
1458
1458
  };
1459
- node.left = deserializeForStatementLeft(pos + 8);
1460
- node.right = deserializeExpression(pos + 24);
1461
- node.body = deserializeStatement(pos + 40);
1459
+ node.left = deserializeForStatementLeft(pos + 16);
1460
+ node.right = deserializeExpression(pos + 32);
1461
+ node.body = deserializeStatement(pos + 48);
1462
1462
  return node;
1463
1463
  }
1464
1464
 
@@ -1469,7 +1469,7 @@ function deserializeContinueStatement(pos) {
1469
1469
  start: deserializeU32(pos),
1470
1470
  end: deserializeU32(pos + 4),
1471
1471
  };
1472
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1472
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1473
1473
  return node;
1474
1474
  }
1475
1475
 
@@ -1480,7 +1480,7 @@ function deserializeBreakStatement(pos) {
1480
1480
  start: deserializeU32(pos),
1481
1481
  end: deserializeU32(pos + 4),
1482
1482
  };
1483
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1483
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1484
1484
  return node;
1485
1485
  }
1486
1486
 
@@ -1491,7 +1491,7 @@ function deserializeReturnStatement(pos) {
1491
1491
  start: deserializeU32(pos),
1492
1492
  end: deserializeU32(pos + 4),
1493
1493
  };
1494
- node.argument = deserializeOptionExpression(pos + 8);
1494
+ node.argument = deserializeOptionExpression(pos + 16);
1495
1495
  return node;
1496
1496
  }
1497
1497
 
@@ -1503,8 +1503,8 @@ function deserializeWithStatement(pos) {
1503
1503
  start: deserializeU32(pos),
1504
1504
  end: deserializeU32(pos + 4),
1505
1505
  };
1506
- node.object = deserializeExpression(pos + 8);
1507
- node.body = deserializeStatement(pos + 24);
1506
+ node.object = deserializeExpression(pos + 16);
1507
+ node.body = deserializeStatement(pos + 32);
1508
1508
  return node;
1509
1509
  }
1510
1510
 
@@ -1516,8 +1516,8 @@ function deserializeSwitchStatement(pos) {
1516
1516
  start: deserializeU32(pos),
1517
1517
  end: deserializeU32(pos + 4),
1518
1518
  };
1519
- node.discriminant = deserializeExpression(pos + 8);
1520
- node.cases = deserializeVecSwitchCase(pos + 24);
1519
+ node.discriminant = deserializeExpression(pos + 16);
1520
+ node.cases = deserializeVecSwitchCase(pos + 32);
1521
1521
  return node;
1522
1522
  }
1523
1523
 
@@ -1529,8 +1529,8 @@ function deserializeSwitchCase(pos) {
1529
1529
  start: deserializeU32(pos),
1530
1530
  end: deserializeU32(pos + 4),
1531
1531
  };
1532
- node.test = deserializeOptionExpression(pos + 8);
1533
- node.consequent = deserializeVecStatement(pos + 24);
1532
+ node.test = deserializeOptionExpression(pos + 16);
1533
+ node.consequent = deserializeVecStatement(pos + 32);
1534
1534
  return node;
1535
1535
  }
1536
1536
 
@@ -1542,8 +1542,8 @@ function deserializeLabeledStatement(pos) {
1542
1542
  start: deserializeU32(pos),
1543
1543
  end: deserializeU32(pos + 4),
1544
1544
  };
1545
- node.label = deserializeLabelIdentifier(pos + 8);
1546
- node.body = deserializeStatement(pos + 40);
1545
+ node.label = deserializeLabelIdentifier(pos + 16);
1546
+ node.body = deserializeStatement(pos + 48);
1547
1547
  return node;
1548
1548
  }
1549
1549
 
@@ -1554,7 +1554,7 @@ function deserializeThrowStatement(pos) {
1554
1554
  start: deserializeU32(pos),
1555
1555
  end: deserializeU32(pos + 4),
1556
1556
  };
1557
- node.argument = deserializeExpression(pos + 8);
1557
+ node.argument = deserializeExpression(pos + 16);
1558
1558
  return node;
1559
1559
  }
1560
1560
 
@@ -1567,9 +1567,9 @@ function deserializeTryStatement(pos) {
1567
1567
  start: deserializeU32(pos),
1568
1568
  end: deserializeU32(pos + 4),
1569
1569
  };
1570
- node.block = deserializeBoxBlockStatement(pos + 8);
1571
- node.handler = deserializeOptionBoxCatchClause(pos + 16);
1572
- node.finalizer = deserializeOptionBoxBlockStatement(pos + 24);
1570
+ node.block = deserializeBoxBlockStatement(pos + 16);
1571
+ node.handler = deserializeOptionBoxCatchClause(pos + 24);
1572
+ node.finalizer = deserializeOptionBoxBlockStatement(pos + 32);
1573
1573
  return node;
1574
1574
  }
1575
1575
 
@@ -1581,13 +1581,13 @@ function deserializeCatchClause(pos) {
1581
1581
  start: deserializeU32(pos),
1582
1582
  end: deserializeU32(pos + 4),
1583
1583
  };
1584
- node.param = deserializeOptionCatchParameter(pos + 8);
1585
- node.body = deserializeBoxBlockStatement(pos + 48);
1584
+ node.param = deserializeOptionCatchParameter(pos + 16);
1585
+ node.body = deserializeBoxBlockStatement(pos + 56);
1586
1586
  return node;
1587
1587
  }
1588
1588
 
1589
1589
  function deserializeCatchParameter(pos) {
1590
- return deserializeBindingPattern(pos + 8);
1590
+ return deserializeBindingPattern(pos + 16);
1591
1591
  }
1592
1592
 
1593
1593
  function deserializeDebuggerStatement(pos) {
@@ -1621,8 +1621,8 @@ function deserializeAssignmentPattern(pos) {
1621
1621
  start: deserializeU32(pos),
1622
1622
  end: deserializeU32(pos + 4),
1623
1623
  };
1624
- node.left = deserializeBindingPattern(pos + 8);
1625
- node.right = deserializeExpression(pos + 24);
1624
+ node.left = deserializeBindingPattern(pos + 16);
1625
+ node.right = deserializeExpression(pos + 32);
1626
1626
  return node;
1627
1627
  }
1628
1628
 
@@ -1633,8 +1633,8 @@ function deserializeObjectPattern(pos) {
1633
1633
  start: deserializeU32(pos),
1634
1634
  end: deserializeU32(pos + 4),
1635
1635
  },
1636
- properties = deserializeVecBindingProperty(pos + 8),
1637
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1636
+ properties = deserializeVecBindingProperty(pos + 16),
1637
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1638
1638
  rest !== null && properties.push(rest);
1639
1639
  node.properties = properties;
1640
1640
  return node;
@@ -1647,14 +1647,14 @@ function deserializeBindingProperty(pos) {
1647
1647
  key: null,
1648
1648
  value: null,
1649
1649
  method: null,
1650
- shorthand: deserializeBool(pos + 44),
1651
- computed: deserializeBool(pos + 45),
1650
+ shorthand: deserializeBool(pos + 12),
1651
+ computed: deserializeBool(pos + 13),
1652
1652
  start: deserializeU32(pos),
1653
1653
  end: deserializeU32(pos + 4),
1654
1654
  };
1655
1655
  node.kind = "init";
1656
- node.key = deserializePropertyKey(pos + 8);
1657
- node.value = deserializeBindingPattern(pos + 24);
1656
+ node.key = deserializePropertyKey(pos + 16);
1657
+ node.value = deserializeBindingPattern(pos + 32);
1658
1658
  node.method = false;
1659
1659
  return node;
1660
1660
  }
@@ -1666,8 +1666,8 @@ function deserializeArrayPattern(pos) {
1666
1666
  start: deserializeU32(pos),
1667
1667
  end: deserializeU32(pos + 4),
1668
1668
  },
1669
- elements = deserializeVecOptionBindingPattern(pos + 8),
1670
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1669
+ elements = deserializeVecOptionBindingPattern(pos + 16),
1670
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1671
1671
  rest !== null && elements.push(rest);
1672
1672
  node.elements = elements;
1673
1673
  return node;
@@ -1680,7 +1680,7 @@ function deserializeBindingRestElement(pos) {
1680
1680
  start: deserializeU32(pos),
1681
1681
  end: deserializeU32(pos + 4),
1682
1682
  };
1683
- node.argument = deserializeBindingPattern(pos + 8);
1683
+ node.argument = deserializeBindingPattern(pos + 16);
1684
1684
  return node;
1685
1685
  }
1686
1686
 
@@ -1696,10 +1696,10 @@ function deserializeFunction(pos) {
1696
1696
  start: deserializeU32(pos),
1697
1697
  end: deserializeU32(pos + 4),
1698
1698
  },
1699
- params = deserializeBoxFormalParameters(pos + 56);
1700
- node.id = deserializeOptionBindingIdentifier(pos + 8);
1699
+ params = deserializeBoxFormalParameters(pos + 64);
1700
+ node.id = deserializeOptionBindingIdentifier(pos + 16);
1701
1701
  node.params = params;
1702
- node.body = deserializeOptionBoxFunctionBody(pos + 72);
1702
+ node.body = deserializeOptionBoxFunctionBody(pos + 80);
1703
1703
  node.expression = false;
1704
1704
  return node;
1705
1705
  }
@@ -1720,16 +1720,16 @@ function deserializeFunctionType(pos) {
1720
1720
  }
1721
1721
 
1722
1722
  function deserializeFormalParameters(pos) {
1723
- let params = deserializeVecFormalParameter(pos + 8);
1724
- if (uint32[(pos + 32) >> 2] !== 0 && uint32[(pos + 36) >> 2] !== 0) {
1725
- pos = uint32[(pos + 32) >> 2];
1723
+ let params = deserializeVecFormalParameter(pos + 16);
1724
+ if (uint32[(pos + 40) >> 2] !== 0 && uint32[(pos + 44) >> 2] !== 0) {
1725
+ pos = uint32[(pos + 40) >> 2];
1726
1726
  let rest = {
1727
1727
  type: "RestElement",
1728
1728
  argument: null,
1729
- start: deserializeU32(pos + 32),
1730
- end: deserializeU32(pos + 36),
1729
+ start: deserializeU32(pos + 40),
1730
+ end: deserializeU32(pos + 44),
1731
1731
  };
1732
- rest.argument = deserializeBindingPattern(pos + 40);
1732
+ rest.argument = deserializeBindingPattern(pos + 56);
1733
1733
  params.push(rest);
1734
1734
  }
1735
1735
  return params;
@@ -1737,7 +1737,7 @@ function deserializeFormalParameters(pos) {
1737
1737
 
1738
1738
  function deserializeFormalParameter(pos) {
1739
1739
  let param;
1740
- if (uint32[(pos + 56) >> 2] !== 0 && uint32[(pos + 60) >> 2] !== 0) {
1740
+ if (uint32[(pos + 64) >> 2] !== 0 && uint32[(pos + 68) >> 2] !== 0) {
1741
1741
  param = {
1742
1742
  type: "AssignmentPattern",
1743
1743
  left: null,
@@ -1745,9 +1745,9 @@ function deserializeFormalParameter(pos) {
1745
1745
  start: deserializeU32(pos),
1746
1746
  end: deserializeU32(pos + 4),
1747
1747
  };
1748
- param.left = deserializeBindingPattern(pos + 32);
1749
- param.right = deserializeOptionBoxExpression(pos + 56);
1750
- } else param = deserializeBindingPattern(pos + 32);
1748
+ param.left = deserializeBindingPattern(pos + 40);
1749
+ param.right = deserializeOptionBoxExpression(pos + 64);
1750
+ } else param = deserializeBindingPattern(pos + 40);
1751
1751
  return param;
1752
1752
  }
1753
1753
 
@@ -1758,8 +1758,8 @@ function deserializeFunctionBody(pos) {
1758
1758
  start: deserializeU32(pos),
1759
1759
  end: deserializeU32(pos + 4),
1760
1760
  },
1761
- body = deserializeVecDirective(pos + 8);
1762
- body.push(...deserializeVecStatement(pos + 32));
1761
+ body = deserializeVecDirective(pos + 16);
1762
+ body.push(...deserializeVecStatement(pos + 40));
1763
1763
  node.body = body;
1764
1764
  return node;
1765
1765
  }
@@ -1777,9 +1777,9 @@ function deserializeArrowFunctionExpression(pos) {
1777
1777
  start: deserializeU32(pos),
1778
1778
  end: deserializeU32(pos + 4),
1779
1779
  },
1780
- body = deserializeBoxFunctionBody(pos + 32);
1780
+ body = deserializeBoxFunctionBody(pos + 40);
1781
1781
  expression === true && (body = body.body[0].expression);
1782
- node.params = deserializeBoxFormalParameters(pos + 16);
1782
+ node.params = deserializeBoxFormalParameters(pos + 24);
1783
1783
  node.body = body;
1784
1784
  node.generator = false;
1785
1785
  return node;
@@ -1788,12 +1788,12 @@ function deserializeArrowFunctionExpression(pos) {
1788
1788
  function deserializeYieldExpression(pos) {
1789
1789
  let node = {
1790
1790
  type: "YieldExpression",
1791
- delegate: deserializeBool(pos + 28),
1791
+ delegate: deserializeBool(pos + 12),
1792
1792
  argument: null,
1793
1793
  start: deserializeU32(pos),
1794
1794
  end: deserializeU32(pos + 4),
1795
1795
  };
1796
- node.argument = deserializeOptionExpression(pos + 8);
1796
+ node.argument = deserializeOptionExpression(pos + 16);
1797
1797
  return node;
1798
1798
  }
1799
1799
 
@@ -1807,10 +1807,10 @@ function deserializeClass(pos) {
1807
1807
  start: deserializeU32(pos),
1808
1808
  end: deserializeU32(pos + 4),
1809
1809
  };
1810
- node.decorators = deserializeVecDecorator(pos + 8);
1811
- node.id = deserializeOptionBindingIdentifier(pos + 32);
1812
- node.superClass = deserializeOptionExpression(pos + 72);
1813
- node.body = deserializeBoxClassBody(pos + 120);
1810
+ node.decorators = deserializeVecDecorator(pos + 16);
1811
+ node.id = deserializeOptionBindingIdentifier(pos + 40);
1812
+ node.superClass = deserializeOptionExpression(pos + 80);
1813
+ node.body = deserializeBoxClassBody(pos + 128);
1814
1814
  return node;
1815
1815
  }
1816
1816
 
@@ -1832,7 +1832,7 @@ function deserializeClassBody(pos) {
1832
1832
  start: deserializeU32(pos),
1833
1833
  end: deserializeU32(pos + 4),
1834
1834
  };
1835
- node.body = deserializeVecClassElement(pos + 8);
1835
+ node.body = deserializeVecClassElement(pos + 16);
1836
1836
  return node;
1837
1837
  }
1838
1838
 
@@ -1855,19 +1855,19 @@ function deserializeClassElement(pos) {
1855
1855
 
1856
1856
  function deserializeMethodDefinition(pos) {
1857
1857
  let node = {
1858
- type: deserializeMethodDefinitionType(pos + 60),
1858
+ type: deserializeMethodDefinitionType(pos + 12),
1859
1859
  decorators: null,
1860
1860
  key: null,
1861
1861
  value: null,
1862
- kind: deserializeMethodDefinitionKind(pos + 61),
1863
- computed: deserializeBool(pos + 62),
1864
- static: deserializeBool(pos + 63),
1862
+ kind: deserializeMethodDefinitionKind(pos + 13),
1863
+ computed: deserializeBool(pos + 14),
1864
+ static: deserializeBool(pos + 15),
1865
1865
  start: deserializeU32(pos),
1866
1866
  end: deserializeU32(pos + 4),
1867
1867
  };
1868
- node.decorators = deserializeVecDecorator(pos + 8);
1869
- node.key = deserializePropertyKey(pos + 32);
1870
- node.value = deserializeBoxFunction(pos + 48);
1868
+ node.decorators = deserializeVecDecorator(pos + 16);
1869
+ node.key = deserializePropertyKey(pos + 40);
1870
+ node.value = deserializeBoxFunction(pos + 56);
1871
1871
  return node;
1872
1872
  }
1873
1873
 
@@ -1884,18 +1884,18 @@ function deserializeMethodDefinitionType(pos) {
1884
1884
 
1885
1885
  function deserializePropertyDefinition(pos) {
1886
1886
  let node = {
1887
- type: deserializePropertyDefinitionType(pos + 76),
1887
+ type: deserializePropertyDefinitionType(pos + 12),
1888
1888
  decorators: null,
1889
1889
  key: null,
1890
1890
  value: null,
1891
- computed: deserializeBool(pos + 77),
1892
- static: deserializeBool(pos + 78),
1891
+ computed: deserializeBool(pos + 13),
1892
+ static: deserializeBool(pos + 14),
1893
1893
  start: deserializeU32(pos),
1894
1894
  end: deserializeU32(pos + 4),
1895
1895
  };
1896
- node.decorators = deserializeVecDecorator(pos + 8);
1897
- node.key = deserializePropertyKey(pos + 32);
1898
- node.value = deserializeOptionExpression(pos + 56);
1896
+ node.decorators = deserializeVecDecorator(pos + 16);
1897
+ node.key = deserializePropertyKey(pos + 40);
1898
+ node.value = deserializeOptionExpression(pos + 64);
1899
1899
  return node;
1900
1900
  }
1901
1901
 
@@ -1928,7 +1928,7 @@ function deserializeMethodDefinitionKind(pos) {
1928
1928
  function deserializePrivateIdentifier(pos) {
1929
1929
  return {
1930
1930
  type: "PrivateIdentifier",
1931
- name: deserializeStr(pos + 8),
1931
+ name: deserializeStr(pos + 16),
1932
1932
  start: deserializeU32(pos),
1933
1933
  end: deserializeU32(pos + 4),
1934
1934
  };
@@ -1941,7 +1941,7 @@ function deserializeStaticBlock(pos) {
1941
1941
  start: deserializeU32(pos),
1942
1942
  end: deserializeU32(pos + 4),
1943
1943
  };
1944
- node.body = deserializeVecStatement(pos + 8);
1944
+ node.body = deserializeVecStatement(pos + 16);
1945
1945
  return node;
1946
1946
  }
1947
1947
 
@@ -1958,18 +1958,18 @@ function deserializeAccessorPropertyType(pos) {
1958
1958
 
1959
1959
  function deserializeAccessorProperty(pos) {
1960
1960
  let node = {
1961
- type: deserializeAccessorPropertyType(pos + 76),
1961
+ type: deserializeAccessorPropertyType(pos + 12),
1962
1962
  decorators: null,
1963
1963
  key: null,
1964
1964
  value: null,
1965
- computed: deserializeBool(pos + 77),
1966
- static: deserializeBool(pos + 78),
1965
+ computed: deserializeBool(pos + 13),
1966
+ static: deserializeBool(pos + 14),
1967
1967
  start: deserializeU32(pos),
1968
1968
  end: deserializeU32(pos + 4),
1969
1969
  };
1970
- node.decorators = deserializeVecDecorator(pos + 8);
1971
- node.key = deserializePropertyKey(pos + 32);
1972
- node.value = deserializeOptionExpression(pos + 56);
1970
+ node.decorators = deserializeVecDecorator(pos + 16);
1971
+ node.key = deserializePropertyKey(pos + 40);
1972
+ node.value = deserializeOptionExpression(pos + 64);
1973
1973
  return node;
1974
1974
  }
1975
1975
 
@@ -1978,12 +1978,12 @@ function deserializeImportExpression(pos) {
1978
1978
  type: "ImportExpression",
1979
1979
  source: null,
1980
1980
  options: null,
1981
- phase: deserializeOptionImportPhase(pos + 44),
1981
+ phase: deserializeOptionImportPhase(pos + 12),
1982
1982
  start: deserializeU32(pos),
1983
1983
  end: deserializeU32(pos + 4),
1984
1984
  };
1985
- node.source = deserializeExpression(pos + 8);
1986
- node.options = deserializeOptionExpression(pos + 24);
1985
+ node.source = deserializeExpression(pos + 16);
1986
+ node.options = deserializeOptionExpression(pos + 32);
1987
1987
  return node;
1988
1988
  }
1989
1989
 
@@ -1992,16 +1992,16 @@ function deserializeImportDeclaration(pos) {
1992
1992
  type: "ImportDeclaration",
1993
1993
  specifiers: null,
1994
1994
  source: null,
1995
- phase: deserializeOptionImportPhase(pos + 92),
1995
+ phase: deserializeOptionImportPhase(pos + 12),
1996
1996
  attributes: null,
1997
1997
  start: deserializeU32(pos),
1998
1998
  end: deserializeU32(pos + 4),
1999
1999
  },
2000
- specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 8);
2000
+ specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 16);
2001
2001
  specifiers === null && (specifiers = []);
2002
- let withClause = deserializeOptionBoxWithClause(pos + 80);
2002
+ let withClause = deserializeOptionBoxWithClause(pos + 88);
2003
2003
  node.specifiers = specifiers;
2004
- node.source = deserializeStringLiteral(pos + 32);
2004
+ node.source = deserializeStringLiteral(pos + 40);
2005
2005
  node.attributes = withClause === null ? [] : withClause.attributes;
2006
2006
  return node;
2007
2007
  }
@@ -2038,8 +2038,8 @@ function deserializeImportSpecifier(pos) {
2038
2038
  start: deserializeU32(pos),
2039
2039
  end: deserializeU32(pos + 4),
2040
2040
  };
2041
- node.imported = deserializeModuleExportName(pos + 8);
2042
- node.local = deserializeBindingIdentifier(pos + 64);
2041
+ node.imported = deserializeModuleExportName(pos + 16);
2042
+ node.local = deserializeBindingIdentifier(pos + 72);
2043
2043
  return node;
2044
2044
  }
2045
2045
 
@@ -2050,7 +2050,7 @@ function deserializeImportDefaultSpecifier(pos) {
2050
2050
  start: deserializeU32(pos),
2051
2051
  end: deserializeU32(pos + 4),
2052
2052
  };
2053
- node.local = deserializeBindingIdentifier(pos + 8);
2053
+ node.local = deserializeBindingIdentifier(pos + 16);
2054
2054
  return node;
2055
2055
  }
2056
2056
 
@@ -2061,16 +2061,12 @@ function deserializeImportNamespaceSpecifier(pos) {
2061
2061
  start: deserializeU32(pos),
2062
2062
  end: deserializeU32(pos + 4),
2063
2063
  };
2064
- node.local = deserializeBindingIdentifier(pos + 8);
2064
+ node.local = deserializeBindingIdentifier(pos + 16);
2065
2065
  return node;
2066
2066
  }
2067
2067
 
2068
2068
  function deserializeWithClause(pos) {
2069
- return {
2070
- attributes: deserializeVecImportAttribute(pos + 8),
2071
- start: deserializeU32(pos),
2072
- end: deserializeU32(pos + 4),
2073
- };
2069
+ return { attributes: deserializeVecImportAttribute(pos + 16) };
2074
2070
  }
2075
2071
 
2076
2072
  function deserializeImportAttribute(pos) {
@@ -2081,8 +2077,8 @@ function deserializeImportAttribute(pos) {
2081
2077
  start: deserializeU32(pos),
2082
2078
  end: deserializeU32(pos + 4),
2083
2079
  };
2084
- node.key = deserializeImportAttributeKey(pos + 8);
2085
- node.value = deserializeStringLiteral(pos + 64);
2080
+ node.key = deserializeImportAttributeKey(pos + 16);
2081
+ node.value = deserializeStringLiteral(pos + 72);
2086
2082
  return node;
2087
2083
  }
2088
2084
 
@@ -2107,10 +2103,10 @@ function deserializeExportNamedDeclaration(pos) {
2107
2103
  start: deserializeU32(pos),
2108
2104
  end: deserializeU32(pos + 4),
2109
2105
  },
2110
- withClause = deserializeOptionBoxWithClause(pos + 96);
2111
- node.declaration = deserializeOptionDeclaration(pos + 8);
2112
- node.specifiers = deserializeVecExportSpecifier(pos + 24);
2113
- node.source = deserializeOptionStringLiteral(pos + 48);
2106
+ withClause = deserializeOptionBoxWithClause(pos + 104);
2107
+ node.declaration = deserializeOptionDeclaration(pos + 16);
2108
+ node.specifiers = deserializeVecExportSpecifier(pos + 32);
2109
+ node.source = deserializeOptionStringLiteral(pos + 56);
2114
2110
  node.attributes = withClause === null ? [] : withClause.attributes;
2115
2111
  return node;
2116
2112
  }
@@ -2122,7 +2118,7 @@ function deserializeExportDefaultDeclaration(pos) {
2122
2118
  start: deserializeU32(pos),
2123
2119
  end: deserializeU32(pos + 4),
2124
2120
  };
2125
- node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2121
+ node.declaration = deserializeExportDefaultDeclarationKind(pos + 16);
2126
2122
  return node;
2127
2123
  }
2128
2124
 
@@ -2135,9 +2131,9 @@ function deserializeExportAllDeclaration(pos) {
2135
2131
  start: deserializeU32(pos),
2136
2132
  end: deserializeU32(pos + 4),
2137
2133
  },
2138
- withClause = deserializeOptionBoxWithClause(pos + 112);
2139
- node.exported = deserializeOptionModuleExportName(pos + 8);
2140
- node.source = deserializeStringLiteral(pos + 64);
2134
+ withClause = deserializeOptionBoxWithClause(pos + 120);
2135
+ node.exported = deserializeOptionModuleExportName(pos + 16);
2136
+ node.source = deserializeStringLiteral(pos + 72);
2141
2137
  node.attributes = withClause === null ? [] : withClause.attributes;
2142
2138
  return node;
2143
2139
  }
@@ -2150,8 +2146,8 @@ function deserializeExportSpecifier(pos) {
2150
2146
  start: deserializeU32(pos),
2151
2147
  end: deserializeU32(pos + 4),
2152
2148
  };
2153
- node.local = deserializeModuleExportName(pos + 8);
2154
- node.exported = deserializeModuleExportName(pos + 64);
2149
+ node.local = deserializeModuleExportName(pos + 16);
2150
+ node.exported = deserializeModuleExportName(pos + 72);
2155
2151
  return node;
2156
2152
  }
2157
2153
 
@@ -2275,8 +2271,8 @@ function deserializeV8IntrinsicExpression(pos) {
2275
2271
  start: deserializeU32(pos),
2276
2272
  end: deserializeU32(pos + 4),
2277
2273
  };
2278
- node.name = deserializeIdentifierName(pos + 8);
2279
- node.arguments = deserializeVecArgument(pos + 40);
2274
+ node.name = deserializeIdentifierName(pos + 16);
2275
+ node.arguments = deserializeVecArgument(pos + 48);
2280
2276
  return node;
2281
2277
  }
2282
2278
 
@@ -2312,7 +2308,7 @@ function deserializeNullLiteral(pos) {
2312
2308
  function deserializeNumericLiteral(pos) {
2313
2309
  return {
2314
2310
  type: "Literal",
2315
- value: deserializeF64(pos + 8),
2311
+ value: deserializeF64(pos + 32),
2316
2312
  raw: deserializeOptionStr(pos + 16),
2317
2313
  start: deserializeU32(pos),
2318
2314
  end: deserializeU32(pos + 4),
@@ -2323,12 +2319,12 @@ function deserializeStringLiteral(pos) {
2323
2319
  let node = {
2324
2320
  type: "Literal",
2325
2321
  value: null,
2326
- raw: deserializeOptionStr(pos + 24),
2322
+ raw: deserializeOptionStr(pos + 32),
2327
2323
  start: deserializeU32(pos),
2328
2324
  end: deserializeU32(pos + 4),
2329
2325
  },
2330
- value = deserializeStr(pos + 8);
2331
- deserializeBool(pos + 44) &&
2326
+ value = deserializeStr(pos + 16);
2327
+ deserializeBool(pos + 12) &&
2332
2328
  (value = value.replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))));
2333
2329
  node.value = value;
2334
2330
  return node;
@@ -2338,12 +2334,12 @@ function deserializeBigIntLiteral(pos) {
2338
2334
  let node = {
2339
2335
  type: "Literal",
2340
2336
  value: null,
2341
- raw: deserializeOptionStr(pos + 24),
2337
+ raw: deserializeOptionStr(pos + 32),
2342
2338
  bigint: null,
2343
2339
  start: deserializeU32(pos),
2344
2340
  end: deserializeU32(pos + 4),
2345
2341
  },
2346
- bigint = deserializeStr(pos + 8);
2342
+ bigint = deserializeStr(pos + 16);
2347
2343
  node.value = BigInt(bigint);
2348
2344
  node.bigint = bigint;
2349
2345
  return node;
@@ -2353,12 +2349,12 @@ function deserializeRegExpLiteral(pos) {
2353
2349
  let node = {
2354
2350
  type: "Literal",
2355
2351
  value: null,
2356
- raw: deserializeOptionStr(pos + 40),
2352
+ raw: deserializeOptionStr(pos + 48),
2357
2353
  regex: null,
2358
2354
  start: deserializeU32(pos),
2359
2355
  end: deserializeU32(pos + 4),
2360
2356
  },
2361
- regex = deserializeRegExp(pos + 8),
2357
+ regex = deserializeRegExp(pos + 16),
2362
2358
  value = null;
2363
2359
  try {
2364
2360
  value = new RegExp(regex.pattern, regex.flags);
@@ -2399,11 +2395,11 @@ function deserializeJSXElement(pos) {
2399
2395
  start: deserializeU32(pos),
2400
2396
  end: deserializeU32(pos + 4),
2401
2397
  },
2402
- closingElement = deserializeOptionBoxJSXClosingElement(pos + 40),
2403
- openingElement = deserializeBoxJSXOpeningElement(pos + 8);
2398
+ closingElement = deserializeOptionBoxJSXClosingElement(pos + 48),
2399
+ openingElement = deserializeBoxJSXOpeningElement(pos + 16);
2404
2400
  closingElement === null && (openingElement.selfClosing = true);
2405
2401
  node.openingElement = openingElement;
2406
- node.children = deserializeVecJSXChild(pos + 16);
2402
+ node.children = deserializeVecJSXChild(pos + 24);
2407
2403
  node.closingElement = closingElement;
2408
2404
  return node;
2409
2405
  }
@@ -2417,8 +2413,8 @@ function deserializeJSXOpeningElement(pos) {
2417
2413
  start: deserializeU32(pos),
2418
2414
  end: deserializeU32(pos + 4),
2419
2415
  };
2420
- node.name = deserializeJSXElementName(pos + 8);
2421
- node.attributes = deserializeVecJSXAttributeItem(pos + 32);
2416
+ node.name = deserializeJSXElementName(pos + 16);
2417
+ node.attributes = deserializeVecJSXAttributeItem(pos + 40);
2422
2418
  node.selfClosing = false;
2423
2419
  return node;
2424
2420
  }
@@ -2430,7 +2426,7 @@ function deserializeJSXClosingElement(pos) {
2430
2426
  start: deserializeU32(pos),
2431
2427
  end: deserializeU32(pos + 4),
2432
2428
  };
2433
- node.name = deserializeJSXElementName(pos + 8);
2429
+ node.name = deserializeJSXElementName(pos + 16);
2434
2430
  return node;
2435
2431
  }
2436
2432
 
@@ -2443,9 +2439,9 @@ function deserializeJSXFragment(pos) {
2443
2439
  start: deserializeU32(pos),
2444
2440
  end: deserializeU32(pos + 4),
2445
2441
  };
2446
- node.openingFragment = deserializeJSXOpeningFragment(pos + 8);
2447
- node.children = deserializeVecJSXChild(pos + 24);
2448
- node.closingFragment = deserializeJSXClosingFragment(pos + 48);
2442
+ node.openingFragment = deserializeJSXOpeningFragment(pos + 16);
2443
+ node.children = deserializeVecJSXChild(pos + 32);
2444
+ node.closingFragment = deserializeJSXClosingFragment(pos + 56);
2449
2445
  return node;
2450
2446
  }
2451
2447
 
@@ -2507,8 +2503,8 @@ function deserializeJSXNamespacedName(pos) {
2507
2503
  start: deserializeU32(pos),
2508
2504
  end: deserializeU32(pos + 4),
2509
2505
  };
2510
- node.namespace = deserializeJSXIdentifier(pos + 8);
2511
- node.name = deserializeJSXIdentifier(pos + 40);
2506
+ node.namespace = deserializeJSXIdentifier(pos + 16);
2507
+ node.name = deserializeJSXIdentifier(pos + 48);
2512
2508
  return node;
2513
2509
  }
2514
2510
 
@@ -2520,8 +2516,8 @@ function deserializeJSXMemberExpression(pos) {
2520
2516
  start: deserializeU32(pos),
2521
2517
  end: deserializeU32(pos + 4),
2522
2518
  };
2523
- node.object = deserializeJSXMemberExpressionObject(pos + 8);
2524
- node.property = deserializeJSXIdentifier(pos + 24);
2519
+ node.object = deserializeJSXMemberExpressionObject(pos + 16);
2520
+ node.property = deserializeJSXIdentifier(pos + 32);
2525
2521
  return node;
2526
2522
  }
2527
2523
 
@@ -2557,7 +2553,7 @@ function deserializeJSXExpressionContainer(pos) {
2557
2553
  start: deserializeU32(pos),
2558
2554
  end: deserializeU32(pos + 4),
2559
2555
  };
2560
- node.expression = deserializeJSXExpression(pos + 8);
2556
+ node.expression = deserializeJSXExpression(pos + 16);
2561
2557
  return node;
2562
2558
  }
2563
2559
 
@@ -2683,8 +2679,8 @@ function deserializeJSXAttribute(pos) {
2683
2679
  start: deserializeU32(pos),
2684
2680
  end: deserializeU32(pos + 4),
2685
2681
  };
2686
- node.name = deserializeJSXAttributeName(pos + 8);
2687
- node.value = deserializeOptionJSXAttributeValue(pos + 24);
2682
+ node.name = deserializeJSXAttributeName(pos + 16);
2683
+ node.value = deserializeOptionJSXAttributeValue(pos + 32);
2688
2684
  return node;
2689
2685
  }
2690
2686
 
@@ -2695,7 +2691,7 @@ function deserializeJSXSpreadAttribute(pos) {
2695
2691
  start: deserializeU32(pos),
2696
2692
  end: deserializeU32(pos + 4),
2697
2693
  };
2698
- node.argument = deserializeExpression(pos + 8);
2694
+ node.argument = deserializeExpression(pos + 16);
2699
2695
  return node;
2700
2696
  }
2701
2697
 
@@ -2728,7 +2724,7 @@ function deserializeJSXAttributeValue(pos) {
2728
2724
  function deserializeJSXIdentifier(pos) {
2729
2725
  return {
2730
2726
  type: "JSXIdentifier",
2731
- name: deserializeStr(pos + 8),
2727
+ name: deserializeStr(pos + 16),
2732
2728
  start: deserializeU32(pos),
2733
2729
  end: deserializeU32(pos + 4),
2734
2730
  };
@@ -2758,15 +2754,15 @@ function deserializeJSXSpreadChild(pos) {
2758
2754
  start: deserializeU32(pos),
2759
2755
  end: deserializeU32(pos + 4),
2760
2756
  };
2761
- node.expression = deserializeExpression(pos + 8);
2757
+ node.expression = deserializeExpression(pos + 16);
2762
2758
  return node;
2763
2759
  }
2764
2760
 
2765
2761
  function deserializeJSXText(pos) {
2766
2762
  return {
2767
2763
  type: "JSXText",
2768
- value: deserializeStr(pos + 8),
2769
- raw: deserializeOptionStr(pos + 24),
2764
+ value: deserializeStr(pos + 16),
2765
+ raw: deserializeOptionStr(pos + 32),
2770
2766
  start: deserializeU32(pos),
2771
2767
  end: deserializeU32(pos + 4),
2772
2768
  };
@@ -2785,7 +2781,7 @@ function deserializeTSThisParameter(pos) {
2785
2781
  node.decorators = [];
2786
2782
  node.name = "this";
2787
2783
  node.optional = false;
2788
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 16);
2784
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
2789
2785
  return node;
2790
2786
  }
2791
2787
 
@@ -2794,13 +2790,13 @@ function deserializeTSEnumDeclaration(pos) {
2794
2790
  type: "TSEnumDeclaration",
2795
2791
  id: null,
2796
2792
  body: null,
2797
- const: deserializeBool(pos + 84),
2798
- declare: deserializeBool(pos + 85),
2793
+ const: deserializeBool(pos + 12),
2794
+ declare: deserializeBool(pos + 13),
2799
2795
  start: deserializeU32(pos),
2800
2796
  end: deserializeU32(pos + 4),
2801
2797
  };
2802
- node.id = deserializeBindingIdentifier(pos + 8);
2803
- node.body = deserializeTSEnumBody(pos + 40);
2798
+ node.id = deserializeBindingIdentifier(pos + 16);
2799
+ node.body = deserializeTSEnumBody(pos + 48);
2804
2800
  return node;
2805
2801
  }
2806
2802
 
@@ -2811,7 +2807,7 @@ function deserializeTSEnumBody(pos) {
2811
2807
  start: deserializeU32(pos),
2812
2808
  end: deserializeU32(pos + 4),
2813
2809
  };
2814
- node.members = deserializeVecTSEnumMember(pos + 8);
2810
+ node.members = deserializeVecTSEnumMember(pos + 16);
2815
2811
  return node;
2816
2812
  }
2817
2813
 
@@ -2824,9 +2820,9 @@ function deserializeTSEnumMember(pos) {
2824
2820
  start: deserializeU32(pos),
2825
2821
  end: deserializeU32(pos + 4),
2826
2822
  };
2827
- node.id = deserializeTSEnumMemberName(pos + 8);
2828
- node.initializer = deserializeOptionExpression(pos + 24);
2829
- node.computed = deserializeU8(pos + 8) > 1;
2823
+ node.id = deserializeTSEnumMemberName(pos + 16);
2824
+ node.initializer = deserializeOptionExpression(pos + 32);
2825
+ node.computed = deserializeU8(pos + 16) > 1;
2830
2826
  return node;
2831
2827
  }
2832
2828
 
@@ -2852,7 +2848,7 @@ function deserializeTSTypeAnnotation(pos) {
2852
2848
  start: deserializeU32(pos),
2853
2849
  end: deserializeU32(pos + 4),
2854
2850
  };
2855
- node.typeAnnotation = deserializeTSType(pos + 8);
2851
+ node.typeAnnotation = deserializeTSType(pos + 16);
2856
2852
  return node;
2857
2853
  }
2858
2854
 
@@ -2863,7 +2859,7 @@ function deserializeTSLiteralType(pos) {
2863
2859
  start: deserializeU32(pos),
2864
2860
  end: deserializeU32(pos + 4),
2865
2861
  };
2866
- node.literal = deserializeTSLiteral(pos + 8);
2862
+ node.literal = deserializeTSLiteral(pos + 16);
2867
2863
  return node;
2868
2864
  }
2869
2865
 
@@ -2977,10 +2973,10 @@ function deserializeTSConditionalType(pos) {
2977
2973
  start: deserializeU32(pos),
2978
2974
  end: deserializeU32(pos + 4),
2979
2975
  };
2980
- node.checkType = deserializeTSType(pos + 8);
2981
- node.extendsType = deserializeTSType(pos + 24);
2982
- node.trueType = deserializeTSType(pos + 40);
2983
- node.falseType = deserializeTSType(pos + 56);
2976
+ node.checkType = deserializeTSType(pos + 16);
2977
+ node.extendsType = deserializeTSType(pos + 32);
2978
+ node.trueType = deserializeTSType(pos + 48);
2979
+ node.falseType = deserializeTSType(pos + 64);
2984
2980
  return node;
2985
2981
  }
2986
2982
 
@@ -2991,7 +2987,7 @@ function deserializeTSUnionType(pos) {
2991
2987
  start: deserializeU32(pos),
2992
2988
  end: deserializeU32(pos + 4),
2993
2989
  };
2994
- node.types = deserializeVecTSType(pos + 8);
2990
+ node.types = deserializeVecTSType(pos + 16);
2995
2991
  return node;
2996
2992
  }
2997
2993
 
@@ -3002,7 +2998,7 @@ function deserializeTSIntersectionType(pos) {
3002
2998
  start: deserializeU32(pos),
3003
2999
  end: deserializeU32(pos + 4),
3004
3000
  };
3005
- node.types = deserializeVecTSType(pos + 8);
3001
+ node.types = deserializeVecTSType(pos + 16);
3006
3002
  return node;
3007
3003
  }
3008
3004
 
@@ -3014,19 +3010,19 @@ function deserializeTSParenthesizedType(pos) {
3014
3010
  start: deserializeU32(pos),
3015
3011
  end: deserializeU32(pos + 4),
3016
3012
  };
3017
- node.typeAnnotation = deserializeTSType(pos + 8);
3013
+ node.typeAnnotation = deserializeTSType(pos + 16);
3018
3014
  return node;
3019
3015
  }
3020
3016
 
3021
3017
  function deserializeTSTypeOperator(pos) {
3022
3018
  let node = {
3023
3019
  type: "TSTypeOperator",
3024
- operator: deserializeTSTypeOperatorOperator(pos + 28),
3020
+ operator: deserializeTSTypeOperatorOperator(pos + 12),
3025
3021
  typeAnnotation: null,
3026
3022
  start: deserializeU32(pos),
3027
3023
  end: deserializeU32(pos + 4),
3028
3024
  };
3029
- node.typeAnnotation = deserializeTSType(pos + 8);
3025
+ node.typeAnnotation = deserializeTSType(pos + 16);
3030
3026
  return node;
3031
3027
  }
3032
3028
 
@@ -3050,7 +3046,7 @@ function deserializeTSArrayType(pos) {
3050
3046
  start: deserializeU32(pos),
3051
3047
  end: deserializeU32(pos + 4),
3052
3048
  };
3053
- node.elementType = deserializeTSType(pos + 8);
3049
+ node.elementType = deserializeTSType(pos + 16);
3054
3050
  return node;
3055
3051
  }
3056
3052
 
@@ -3062,8 +3058,8 @@ function deserializeTSIndexedAccessType(pos) {
3062
3058
  start: deserializeU32(pos),
3063
3059
  end: deserializeU32(pos + 4),
3064
3060
  };
3065
- node.objectType = deserializeTSType(pos + 8);
3066
- node.indexType = deserializeTSType(pos + 24);
3061
+ node.objectType = deserializeTSType(pos + 16);
3062
+ node.indexType = deserializeTSType(pos + 32);
3067
3063
  return node;
3068
3064
  }
3069
3065
 
@@ -3074,7 +3070,7 @@ function deserializeTSTupleType(pos) {
3074
3070
  start: deserializeU32(pos),
3075
3071
  end: deserializeU32(pos + 4),
3076
3072
  };
3077
- node.elementTypes = deserializeVecTSTupleElement(pos + 8);
3073
+ node.elementTypes = deserializeVecTSTupleElement(pos + 16);
3078
3074
  return node;
3079
3075
  }
3080
3076
 
@@ -3083,12 +3079,12 @@ function deserializeTSNamedTupleMember(pos) {
3083
3079
  type: "TSNamedTupleMember",
3084
3080
  label: null,
3085
3081
  elementType: null,
3086
- optional: deserializeBool(pos + 60),
3082
+ optional: deserializeBool(pos + 12),
3087
3083
  start: deserializeU32(pos),
3088
3084
  end: deserializeU32(pos + 4),
3089
3085
  };
3090
- node.label = deserializeIdentifierName(pos + 8);
3091
- node.elementType = deserializeTSTupleElement(pos + 40);
3086
+ node.label = deserializeIdentifierName(pos + 16);
3087
+ node.elementType = deserializeTSTupleElement(pos + 48);
3092
3088
  return node;
3093
3089
  }
3094
3090
 
@@ -3099,7 +3095,7 @@ function deserializeTSOptionalType(pos) {
3099
3095
  start: deserializeU32(pos),
3100
3096
  end: deserializeU32(pos + 4),
3101
3097
  };
3102
- node.typeAnnotation = deserializeTSType(pos + 8);
3098
+ node.typeAnnotation = deserializeTSType(pos + 16);
3103
3099
  return node;
3104
3100
  }
3105
3101
 
@@ -3110,7 +3106,7 @@ function deserializeTSRestType(pos) {
3110
3106
  start: deserializeU32(pos),
3111
3107
  end: deserializeU32(pos + 4),
3112
3108
  };
3113
- node.typeAnnotation = deserializeTSType(pos + 8);
3109
+ node.typeAnnotation = deserializeTSType(pos + 16);
3114
3110
  return node;
3115
3111
  }
3116
3112
 
@@ -3319,8 +3315,8 @@ function deserializeTSTypeReference(pos) {
3319
3315
  start: deserializeU32(pos),
3320
3316
  end: deserializeU32(pos + 4),
3321
3317
  };
3322
- node.typeName = deserializeTSTypeName(pos + 8);
3323
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3318
+ node.typeName = deserializeTSTypeName(pos + 16);
3319
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3324
3320
  return node;
3325
3321
  }
3326
3322
 
@@ -3345,8 +3341,8 @@ function deserializeTSQualifiedName(pos) {
3345
3341
  start: deserializeU32(pos),
3346
3342
  end: deserializeU32(pos + 4),
3347
3343
  };
3348
- node.left = deserializeTSTypeName(pos + 8);
3349
- node.right = deserializeIdentifierName(pos + 24);
3344
+ node.left = deserializeTSTypeName(pos + 16);
3345
+ node.right = deserializeIdentifierName(pos + 32);
3350
3346
  return node;
3351
3347
  }
3352
3348
 
@@ -3357,7 +3353,7 @@ function deserializeTSTypeParameterInstantiation(pos) {
3357
3353
  start: deserializeU32(pos),
3358
3354
  end: deserializeU32(pos + 4),
3359
3355
  };
3360
- node.params = deserializeVecTSType(pos + 8);
3356
+ node.params = deserializeVecTSType(pos + 16);
3361
3357
  return node;
3362
3358
  }
3363
3359
 
@@ -3367,15 +3363,15 @@ function deserializeTSTypeParameter(pos) {
3367
3363
  name: null,
3368
3364
  constraint: null,
3369
3365
  default: null,
3370
- in: deserializeBool(pos + 76),
3371
- out: deserializeBool(pos + 77),
3372
- const: deserializeBool(pos + 78),
3366
+ in: deserializeBool(pos + 12),
3367
+ out: deserializeBool(pos + 13),
3368
+ const: deserializeBool(pos + 14),
3373
3369
  start: deserializeU32(pos),
3374
3370
  end: deserializeU32(pos + 4),
3375
3371
  };
3376
- node.name = deserializeBindingIdentifier(pos + 8);
3377
- node.constraint = deserializeOptionTSType(pos + 40);
3378
- node.default = deserializeOptionTSType(pos + 56);
3372
+ node.name = deserializeBindingIdentifier(pos + 16);
3373
+ node.constraint = deserializeOptionTSType(pos + 48);
3374
+ node.default = deserializeOptionTSType(pos + 64);
3379
3375
  return node;
3380
3376
  }
3381
3377
 
@@ -3386,7 +3382,7 @@ function deserializeTSTypeParameterDeclaration(pos) {
3386
3382
  start: deserializeU32(pos),
3387
3383
  end: deserializeU32(pos + 4),
3388
3384
  };
3389
- node.params = deserializeVecTSTypeParameter(pos + 8);
3385
+ node.params = deserializeVecTSTypeParameter(pos + 16);
3390
3386
  return node;
3391
3387
  }
3392
3388
 
@@ -3400,9 +3396,9 @@ function deserializeTSTypeAliasDeclaration(pos) {
3400
3396
  start: deserializeU32(pos),
3401
3397
  end: deserializeU32(pos + 4),
3402
3398
  };
3403
- node.id = deserializeBindingIdentifier(pos + 8);
3404
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3405
- node.typeAnnotation = deserializeTSType(pos + 48);
3399
+ node.id = deserializeBindingIdentifier(pos + 16);
3400
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3401
+ node.typeAnnotation = deserializeTSType(pos + 56);
3406
3402
  return node;
3407
3403
  }
3408
3404
 
@@ -3417,10 +3413,10 @@ function deserializeTSInterfaceDeclaration(pos) {
3417
3413
  start: deserializeU32(pos),
3418
3414
  end: deserializeU32(pos + 4),
3419
3415
  };
3420
- node.id = deserializeBindingIdentifier(pos + 8);
3421
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3422
- node.extends = deserializeVecTSInterfaceHeritage(pos + 48);
3423
- node.body = deserializeBoxTSInterfaceBody(pos + 72);
3416
+ node.id = deserializeBindingIdentifier(pos + 16);
3417
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3418
+ node.extends = deserializeVecTSInterfaceHeritage(pos + 56);
3419
+ node.body = deserializeBoxTSInterfaceBody(pos + 80);
3424
3420
  return node;
3425
3421
  }
3426
3422
 
@@ -3431,16 +3427,16 @@ function deserializeTSInterfaceBody(pos) {
3431
3427
  start: deserializeU32(pos),
3432
3428
  end: deserializeU32(pos + 4),
3433
3429
  };
3434
- node.body = deserializeVecTSSignature(pos + 8);
3430
+ node.body = deserializeVecTSSignature(pos + 16);
3435
3431
  return node;
3436
3432
  }
3437
3433
 
3438
3434
  function deserializeTSPropertySignature(pos) {
3439
3435
  let node = {
3440
3436
  type: "TSPropertySignature",
3441
- computed: deserializeBool(pos + 36),
3442
- optional: deserializeBool(pos + 37),
3443
- readonly: deserializeBool(pos + 38),
3437
+ computed: deserializeBool(pos + 12),
3438
+ optional: deserializeBool(pos + 13),
3439
+ readonly: deserializeBool(pos + 14),
3444
3440
  key: null,
3445
3441
  typeAnnotation: null,
3446
3442
  accessibility: null,
@@ -3448,8 +3444,8 @@ function deserializeTSPropertySignature(pos) {
3448
3444
  start: deserializeU32(pos),
3449
3445
  end: deserializeU32(pos + 4),
3450
3446
  };
3451
- node.key = deserializePropertyKey(pos + 8);
3452
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3447
+ node.key = deserializePropertyKey(pos + 16);
3448
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3453
3449
  node.static = false;
3454
3450
  return node;
3455
3451
  }
@@ -3476,14 +3472,14 @@ function deserializeTSIndexSignature(pos) {
3476
3472
  type: "TSIndexSignature",
3477
3473
  parameters: null,
3478
3474
  typeAnnotation: null,
3479
- readonly: deserializeBool(pos + 44),
3480
- static: deserializeBool(pos + 45),
3475
+ readonly: deserializeBool(pos + 12),
3476
+ static: deserializeBool(pos + 13),
3481
3477
  accessibility: null,
3482
3478
  start: deserializeU32(pos),
3483
3479
  end: deserializeU32(pos + 4),
3484
3480
  };
3485
- node.parameters = deserializeVecTSIndexSignatureName(pos + 8);
3486
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3481
+ node.parameters = deserializeVecTSIndexSignatureName(pos + 16);
3482
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 40);
3487
3483
  return node;
3488
3484
  }
3489
3485
 
@@ -3496,12 +3492,12 @@ function deserializeTSCallSignatureDeclaration(pos) {
3496
3492
  start: deserializeU32(pos),
3497
3493
  end: deserializeU32(pos + 4),
3498
3494
  },
3499
- params = deserializeBoxFormalParameters(pos + 24),
3500
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
3495
+ params = deserializeBoxFormalParameters(pos + 32),
3496
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
3501
3497
  thisParam !== null && params.unshift(thisParam);
3502
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3498
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3503
3499
  node.params = params;
3504
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3500
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 40);
3505
3501
  return node;
3506
3502
  }
3507
3503
 
@@ -3534,13 +3530,13 @@ function deserializeTSMethodSignature(pos) {
3534
3530
  start: deserializeU32(pos),
3535
3531
  end: deserializeU32(pos + 4),
3536
3532
  },
3537
- params = deserializeBoxFormalParameters(pos + 40),
3538
- thisParam = deserializeOptionBoxTSThisParameter(pos + 32);
3533
+ params = deserializeBoxFormalParameters(pos + 48),
3534
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 40);
3539
3535
  thisParam !== null && params.unshift(thisParam);
3540
- node.key = deserializePropertyKey(pos + 8);
3541
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 24);
3536
+ node.key = deserializePropertyKey(pos + 16);
3537
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 32);
3542
3538
  node.params = params;
3543
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 48);
3539
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 56);
3544
3540
  node.readonly = false;
3545
3541
  node.static = false;
3546
3542
  return node;
@@ -3555,9 +3551,9 @@ function deserializeTSConstructSignatureDeclaration(pos) {
3555
3551
  start: deserializeU32(pos),
3556
3552
  end: deserializeU32(pos + 4),
3557
3553
  };
3558
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3559
- node.params = deserializeBoxFormalParameters(pos + 16);
3560
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3554
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3555
+ node.params = deserializeBoxFormalParameters(pos + 24);
3556
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3561
3557
  return node;
3562
3558
  }
3563
3559
 
@@ -3565,7 +3561,7 @@ function deserializeTSIndexSignatureName(pos) {
3565
3561
  let node = {
3566
3562
  type: "Identifier",
3567
3563
  decorators: null,
3568
- name: deserializeStr(pos + 8),
3564
+ name: deserializeStr(pos + 16),
3569
3565
  optional: null,
3570
3566
  typeAnnotation: null,
3571
3567
  start: deserializeU32(pos),
@@ -3573,7 +3569,7 @@ function deserializeTSIndexSignatureName(pos) {
3573
3569
  };
3574
3570
  node.decorators = [];
3575
3571
  node.optional = false;
3576
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 24);
3572
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3577
3573
  return node;
3578
3574
  }
3579
3575
 
@@ -3585,8 +3581,8 @@ function deserializeTSInterfaceHeritage(pos) {
3585
3581
  start: deserializeU32(pos),
3586
3582
  end: deserializeU32(pos + 4),
3587
3583
  };
3588
- node.expression = deserializeExpression(pos + 8);
3589
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3584
+ node.expression = deserializeExpression(pos + 16);
3585
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3590
3586
  return node;
3591
3587
  }
3592
3588
 
@@ -3594,13 +3590,13 @@ function deserializeTSTypePredicate(pos) {
3594
3590
  let node = {
3595
3591
  type: "TSTypePredicate",
3596
3592
  parameterName: null,
3597
- asserts: deserializeBool(pos + 44),
3593
+ asserts: deserializeBool(pos + 12),
3598
3594
  typeAnnotation: null,
3599
3595
  start: deserializeU32(pos),
3600
3596
  end: deserializeU32(pos + 4),
3601
3597
  };
3602
- node.parameterName = deserializeTSTypePredicateName(pos + 8);
3603
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3598
+ node.parameterName = deserializeTSTypePredicateName(pos + 16);
3599
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 40);
3604
3600
  return node;
3605
3601
  }
3606
3602
 
@@ -3621,7 +3617,7 @@ function deserializeTSModuleDeclaration(pos) {
3621
3617
  end = deserializeU32(pos + 4),
3622
3618
  declare = deserializeBool(pos + 89),
3623
3619
  node,
3624
- body = deserializeOptionTSModuleDeclarationBody(pos + 64);
3620
+ body = deserializeOptionTSModuleDeclarationBody(pos + 72);
3625
3621
  if (body === null) {
3626
3622
  node = {
3627
3623
  type: "TSModuleDeclaration",
@@ -3632,7 +3628,7 @@ function deserializeTSModuleDeclaration(pos) {
3632
3628
  start,
3633
3629
  end,
3634
3630
  };
3635
- node.id = deserializeTSModuleDeclarationName(pos + 8);
3631
+ node.id = deserializeTSModuleDeclarationName(pos + 16);
3636
3632
  } else {
3637
3633
  node = {
3638
3634
  type: "TSModuleDeclaration",
@@ -3644,7 +3640,7 @@ function deserializeTSModuleDeclaration(pos) {
3644
3640
  start,
3645
3641
  end,
3646
3642
  };
3647
- let id = deserializeTSModuleDeclarationName(pos + 8);
3643
+ let id = deserializeTSModuleDeclarationName(pos + 16);
3648
3644
  if (body.type === "TSModuleBlock") node.id = id;
3649
3645
  else {
3650
3646
  let innerId = body.id;
@@ -3731,10 +3727,10 @@ function deserializeTSGlobalDeclaration(pos) {
3731
3727
  node.id = {
3732
3728
  type: "Identifier",
3733
3729
  name: "global",
3734
- start: deserializeU32(pos + 8),
3735
- end: deserializeU32(pos + 12),
3730
+ start: deserializeU32(pos + 16),
3731
+ end: deserializeU32(pos + 20),
3736
3732
  };
3737
- node.body = deserializeTSModuleBlock(pos + 16);
3733
+ node.body = deserializeTSModuleBlock(pos + 24);
3738
3734
  node.kind = "global";
3739
3735
  node.global = true;
3740
3736
  return node;
@@ -3747,8 +3743,8 @@ function deserializeTSModuleBlock(pos) {
3747
3743
  start: deserializeU32(pos),
3748
3744
  end: deserializeU32(pos + 4),
3749
3745
  },
3750
- body = deserializeVecDirective(pos + 8);
3751
- body.push(...deserializeVecStatement(pos + 32));
3746
+ body = deserializeVecDirective(pos + 16);
3747
+ body.push(...deserializeVecStatement(pos + 40));
3752
3748
  node.body = body;
3753
3749
  return node;
3754
3750
  }
@@ -3760,7 +3756,7 @@ function deserializeTSTypeLiteral(pos) {
3760
3756
  start: deserializeU32(pos),
3761
3757
  end: deserializeU32(pos + 4),
3762
3758
  };
3763
- node.members = deserializeVecTSSignature(pos + 8);
3759
+ node.members = deserializeVecTSSignature(pos + 16);
3764
3760
  return node;
3765
3761
  }
3766
3762
 
@@ -3771,7 +3767,7 @@ function deserializeTSInferType(pos) {
3771
3767
  start: deserializeU32(pos),
3772
3768
  end: deserializeU32(pos + 4),
3773
3769
  };
3774
- node.typeParameter = deserializeBoxTSTypeParameter(pos + 8);
3770
+ node.typeParameter = deserializeBoxTSTypeParameter(pos + 16);
3775
3771
  return node;
3776
3772
  }
3777
3773
 
@@ -3783,8 +3779,8 @@ function deserializeTSTypeQuery(pos) {
3783
3779
  start: deserializeU32(pos),
3784
3780
  end: deserializeU32(pos + 4),
3785
3781
  };
3786
- node.exprName = deserializeTSTypeQueryExprName(pos + 8);
3787
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3782
+ node.exprName = deserializeTSTypeQueryExprName(pos + 16);
3783
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3788
3784
  return node;
3789
3785
  }
3790
3786
 
@@ -3813,10 +3809,10 @@ function deserializeTSImportType(pos) {
3813
3809
  start: deserializeU32(pos),
3814
3810
  end: deserializeU32(pos + 4),
3815
3811
  };
3816
- node.source = deserializeStringLiteral(pos + 8);
3817
- node.options = deserializeOptionBoxObjectExpression(pos + 56);
3818
- node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 64);
3819
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 80);
3812
+ node.source = deserializeStringLiteral(pos + 16);
3813
+ node.options = deserializeOptionBoxObjectExpression(pos + 64);
3814
+ node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 72);
3815
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 88);
3820
3816
  return node;
3821
3817
  }
3822
3818
 
@@ -3839,8 +3835,8 @@ function deserializeTSImportTypeQualifiedName(pos) {
3839
3835
  start: deserializeU32(pos),
3840
3836
  end: deserializeU32(pos + 4),
3841
3837
  };
3842
- node.left = deserializeTSImportTypeQualifier(pos + 8);
3843
- node.right = deserializeIdentifierName(pos + 24);
3838
+ node.left = deserializeTSImportTypeQualifier(pos + 16);
3839
+ node.right = deserializeIdentifierName(pos + 32);
3844
3840
  return node;
3845
3841
  }
3846
3842
 
@@ -3853,12 +3849,12 @@ function deserializeTSFunctionType(pos) {
3853
3849
  start: deserializeU32(pos),
3854
3850
  end: deserializeU32(pos + 4),
3855
3851
  },
3856
- params = deserializeBoxFormalParameters(pos + 24),
3857
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
3852
+ params = deserializeBoxFormalParameters(pos + 32),
3853
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
3858
3854
  thisParam !== null && params.unshift(thisParam);
3859
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3855
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3860
3856
  node.params = params;
3861
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
3857
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 40);
3862
3858
  return node;
3863
3859
  }
3864
3860
 
@@ -3872,9 +3868,9 @@ function deserializeTSConstructorType(pos) {
3872
3868
  start: deserializeU32(pos),
3873
3869
  end: deserializeU32(pos + 4),
3874
3870
  };
3875
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3876
- node.params = deserializeBoxFormalParameters(pos + 16);
3877
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 24);
3871
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3872
+ node.params = deserializeBoxFormalParameters(pos + 24);
3873
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
3878
3874
  return node;
3879
3875
  }
3880
3876
 
@@ -3892,10 +3888,10 @@ function deserializeTSMappedType(pos) {
3892
3888
  },
3893
3889
  optional = deserializeOptionTSMappedTypeModifierOperator(pos + 96);
3894
3890
  optional === null && (optional = false);
3895
- node.key = deserializeBindingIdentifier(pos + 8);
3896
- node.constraint = deserializeTSType(pos + 40);
3897
- node.nameType = deserializeOptionTSType(pos + 56);
3898
- node.typeAnnotation = deserializeOptionTSType(pos + 72);
3891
+ node.key = deserializeBindingIdentifier(pos + 16);
3892
+ node.constraint = deserializeTSType(pos + 48);
3893
+ node.nameType = deserializeOptionTSType(pos + 64);
3894
+ node.typeAnnotation = deserializeOptionTSType(pos + 80);
3899
3895
  node.optional = optional;
3900
3896
  return node;
3901
3897
  }
@@ -3921,8 +3917,8 @@ function deserializeTSTemplateLiteralType(pos) {
3921
3917
  start: deserializeU32(pos),
3922
3918
  end: deserializeU32(pos + 4),
3923
3919
  };
3924
- node.quasis = deserializeVecTemplateElement(pos + 8);
3925
- node.types = deserializeVecTSType(pos + 32);
3920
+ node.quasis = deserializeVecTemplateElement(pos + 16);
3921
+ node.types = deserializeVecTSType(pos + 40);
3926
3922
  return node;
3927
3923
  }
3928
3924
 
@@ -3934,8 +3930,8 @@ function deserializeTSAsExpression(pos) {
3934
3930
  start: deserializeU32(pos),
3935
3931
  end: deserializeU32(pos + 4),
3936
3932
  };
3937
- node.expression = deserializeExpression(pos + 8);
3938
- node.typeAnnotation = deserializeTSType(pos + 24);
3933
+ node.expression = deserializeExpression(pos + 16);
3934
+ node.typeAnnotation = deserializeTSType(pos + 32);
3939
3935
  return node;
3940
3936
  }
3941
3937
 
@@ -3947,8 +3943,8 @@ function deserializeTSSatisfiesExpression(pos) {
3947
3943
  start: deserializeU32(pos),
3948
3944
  end: deserializeU32(pos + 4),
3949
3945
  };
3950
- node.expression = deserializeExpression(pos + 8);
3951
- node.typeAnnotation = deserializeTSType(pos + 24);
3946
+ node.expression = deserializeExpression(pos + 16);
3947
+ node.typeAnnotation = deserializeTSType(pos + 32);
3952
3948
  return node;
3953
3949
  }
3954
3950
 
@@ -3960,8 +3956,8 @@ function deserializeTSTypeAssertion(pos) {
3960
3956
  start: deserializeU32(pos),
3961
3957
  end: deserializeU32(pos + 4),
3962
3958
  };
3963
- node.typeAnnotation = deserializeTSType(pos + 8);
3964
- node.expression = deserializeExpression(pos + 24);
3959
+ node.typeAnnotation = deserializeTSType(pos + 16);
3960
+ node.expression = deserializeExpression(pos + 32);
3965
3961
  return node;
3966
3962
  }
3967
3963
 
@@ -3970,12 +3966,12 @@ function deserializeTSImportEqualsDeclaration(pos) {
3970
3966
  type: "TSImportEqualsDeclaration",
3971
3967
  id: null,
3972
3968
  moduleReference: null,
3973
- importKind: deserializeImportOrExportKind(pos + 60),
3969
+ importKind: deserializeImportOrExportKind(pos + 12),
3974
3970
  start: deserializeU32(pos),
3975
3971
  end: deserializeU32(pos + 4),
3976
3972
  };
3977
- node.id = deserializeBindingIdentifier(pos + 8);
3978
- node.moduleReference = deserializeTSModuleReference(pos + 40);
3973
+ node.id = deserializeBindingIdentifier(pos + 16);
3974
+ node.moduleReference = deserializeTSModuleReference(pos + 48);
3979
3975
  return node;
3980
3976
  }
3981
3977
 
@@ -3999,7 +3995,7 @@ function deserializeTSExternalModuleReference(pos) {
3999
3995
  start: deserializeU32(pos),
4000
3996
  end: deserializeU32(pos + 4),
4001
3997
  };
4002
- node.expression = deserializeStringLiteral(pos + 8);
3998
+ node.expression = deserializeStringLiteral(pos + 16);
4003
3999
  return node;
4004
4000
  }
4005
4001
 
@@ -4010,7 +4006,7 @@ function deserializeTSNonNullExpression(pos) {
4010
4006
  start: deserializeU32(pos),
4011
4007
  end: deserializeU32(pos + 4),
4012
4008
  };
4013
- node.expression = deserializeExpression(pos + 8);
4009
+ node.expression = deserializeExpression(pos + 16);
4014
4010
  return node;
4015
4011
  }
4016
4012
 
@@ -4021,7 +4017,7 @@ function deserializeDecorator(pos) {
4021
4017
  start: deserializeU32(pos),
4022
4018
  end: deserializeU32(pos + 4),
4023
4019
  };
4024
- node.expression = deserializeExpression(pos + 8);
4020
+ node.expression = deserializeExpression(pos + 16);
4025
4021
  return node;
4026
4022
  }
4027
4023
 
@@ -4032,7 +4028,7 @@ function deserializeTSExportAssignment(pos) {
4032
4028
  start: deserializeU32(pos),
4033
4029
  end: deserializeU32(pos + 4),
4034
4030
  };
4035
- node.expression = deserializeExpression(pos + 8);
4031
+ node.expression = deserializeExpression(pos + 16);
4036
4032
  return node;
4037
4033
  }
4038
4034
 
@@ -4043,7 +4039,7 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4043
4039
  start: deserializeU32(pos),
4044
4040
  end: deserializeU32(pos + 4),
4045
4041
  };
4046
- node.id = deserializeIdentifierName(pos + 8);
4042
+ node.id = deserializeIdentifierName(pos + 16);
4047
4043
  return node;
4048
4044
  }
4049
4045
 
@@ -4055,8 +4051,8 @@ function deserializeTSInstantiationExpression(pos) {
4055
4051
  start: deserializeU32(pos),
4056
4052
  end: deserializeU32(pos + 4),
4057
4053
  };
4058
- node.expression = deserializeExpression(pos + 8);
4059
- node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 24);
4054
+ node.expression = deserializeExpression(pos + 16);
4055
+ node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 32);
4060
4056
  return node;
4061
4057
  }
4062
4058
 
@@ -4075,11 +4071,11 @@ function deserializeJSDocNullableType(pos) {
4075
4071
  let node = {
4076
4072
  type: "TSJSDocNullableType",
4077
4073
  typeAnnotation: null,
4078
- postfix: deserializeBool(pos + 28),
4074
+ postfix: deserializeBool(pos + 12),
4079
4075
  start: deserializeU32(pos),
4080
4076
  end: deserializeU32(pos + 4),
4081
4077
  };
4082
- node.typeAnnotation = deserializeTSType(pos + 8);
4078
+ node.typeAnnotation = deserializeTSType(pos + 16);
4083
4079
  return node;
4084
4080
  }
4085
4081
 
@@ -4087,11 +4083,11 @@ function deserializeJSDocNonNullableType(pos) {
4087
4083
  let node = {
4088
4084
  type: "TSJSDocNonNullableType",
4089
4085
  typeAnnotation: null,
4090
- postfix: deserializeBool(pos + 28),
4086
+ postfix: deserializeBool(pos + 12),
4091
4087
  start: deserializeU32(pos),
4092
4088
  end: deserializeU32(pos + 4),
4093
4089
  };
4094
- node.typeAnnotation = deserializeTSType(pos + 8);
4090
+ node.typeAnnotation = deserializeTSType(pos + 16);
4095
4091
  return node;
4096
4092
  }
4097
4093
 
@@ -4128,6 +4124,26 @@ function deserializeComment(pos) {
4128
4124
  };
4129
4125
  }
4130
4126
 
4127
+ function deserializeModuleKind(pos) {
4128
+ switch (uint8[pos]) {
4129
+ case 0:
4130
+ return "script";
4131
+ case 1:
4132
+ return "module";
4133
+ case 3:
4134
+ return "commonjs";
4135
+ default:
4136
+ throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4137
+ }
4138
+ }
4139
+
4140
+ function deserializeSpan(pos) {
4141
+ return {
4142
+ start: deserializeU32(pos),
4143
+ end: deserializeU32(pos + 4),
4144
+ };
4145
+ }
4146
+
4131
4147
  function deserializeNameSpan(pos) {
4132
4148
  return {
4133
4149
  value: deserializeStr(pos + 8),
@@ -4425,26 +4441,6 @@ function deserializeUpdateOperator(pos) {
4425
4441
  }
4426
4442
  }
4427
4443
 
4428
- function deserializeSpan(pos) {
4429
- return {
4430
- start: deserializeU32(pos),
4431
- end: deserializeU32(pos + 4),
4432
- };
4433
- }
4434
-
4435
- function deserializeModuleKind(pos) {
4436
- switch (uint8[pos]) {
4437
- case 0:
4438
- return "script";
4439
- case 1:
4440
- return "module";
4441
- case 3:
4442
- return "commonjs";
4443
- default:
4444
- throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4445
- }
4446
- }
4447
-
4448
4444
  function deserializeRawTransferData(pos) {
4449
4445
  return {
4450
4446
  program: deserializeProgram(pos),
@@ -4512,14 +4508,6 @@ function deserializeStaticExport(pos) {
4512
4508
  };
4513
4509
  }
4514
4510
 
4515
- function deserializeU32(pos) {
4516
- return uint32[pos >> 2];
4517
- }
4518
-
4519
- function deserializeU8(pos) {
4520
- return uint8[pos];
4521
- }
4522
-
4523
4511
  function deserializeStr(pos) {
4524
4512
  let pos32 = pos >> 2,
4525
4513
  len = uint32[pos32 + 2];
@@ -4557,7 +4545,7 @@ function deserializeVecComment(pos) {
4557
4545
  }
4558
4546
 
4559
4547
  function deserializeOptionHashbang(pos) {
4560
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
4548
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
4561
4549
  return deserializeHashbang(pos);
4562
4550
  }
4563
4551
 
@@ -5046,7 +5034,7 @@ function deserializeOptionForStatementInit(pos) {
5046
5034
  }
5047
5035
 
5048
5036
  function deserializeOptionLabelIdentifier(pos) {
5049
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5037
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5050
5038
  return deserializeLabelIdentifier(pos);
5051
5039
  }
5052
5040
 
@@ -5077,7 +5065,7 @@ function deserializeOptionBoxBlockStatement(pos) {
5077
5065
  }
5078
5066
 
5079
5067
  function deserializeOptionCatchParameter(pos) {
5080
- if (uint8[pos + 8] === 4) return null;
5068
+ if (uint8[pos + 16] === 4) return null;
5081
5069
  return deserializeCatchParameter(pos);
5082
5070
  }
5083
5071
 
@@ -5136,7 +5124,7 @@ function deserializeVecOptionBindingPattern(pos) {
5136
5124
  }
5137
5125
 
5138
5126
  function deserializeOptionBindingIdentifier(pos) {
5139
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5127
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5140
5128
  return deserializeBindingIdentifier(pos);
5141
5129
  }
5142
5130
 
@@ -5337,7 +5325,7 @@ function deserializeVecExportSpecifier(pos) {
5337
5325
  }
5338
5326
 
5339
5327
  function deserializeOptionStringLiteral(pos) {
5340
- if (uint8[pos + 44] === 2) return null;
5328
+ if (uint8[pos + 12] === 2) return null;
5341
5329
  return deserializeStringLiteral(pos);
5342
5330
  }
5343
5331
 
@@ -5350,6 +5338,10 @@ function deserializeF64(pos) {
5350
5338
  return float64[pos >> 3];
5351
5339
  }
5352
5340
 
5341
+ function deserializeU8(pos) {
5342
+ return uint8[pos];
5343
+ }
5344
+
5353
5345
  function deserializeBoxJSXOpeningElement(pos) {
5354
5346
  return deserializeJSXOpeningElement(uint32[pos >> 2]);
5355
5347
  }
@@ -5729,6 +5721,10 @@ function deserializeBoxTSExternalModuleReference(pos) {
5729
5721
  return deserializeTSExternalModuleReference(uint32[pos >> 2]);
5730
5722
  }
5731
5723
 
5724
+ function deserializeU32(pos) {
5725
+ return uint32[pos >> 2];
5726
+ }
5727
+
5732
5728
  function deserializeOptionNameSpan(pos) {
5733
5729
  if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5734
5730
  return deserializeNameSpan(pos);