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.
@@ -40,8 +40,8 @@ function deserializeProgram(pos) {
40
40
  end,
41
41
  range: [start, end],
42
42
  };
43
- program.hashbang = deserializeOptionHashbang(pos + 48);
44
- (program.body = deserializeVecDirective(pos + 80)).push(...deserializeVecStatement(pos + 104));
43
+ program.hashbang = deserializeOptionHashbang(pos + 56);
44
+ (program.body = deserializeVecDirective(pos + 88)).push(...deserializeVecStatement(pos + 112));
45
45
  return program;
46
46
  }
47
47
 
@@ -142,7 +142,7 @@ function deserializeIdentifierName(pos) {
142
142
  let start, end;
143
143
  return {
144
144
  type: "Identifier",
145
- name: deserializeStr(pos + 8),
145
+ name: deserializeStr(pos + 16),
146
146
  start: (start = deserializeU32(pos)),
147
147
  end: (end = deserializeU32(pos + 4)),
148
148
  range: [start, end],
@@ -153,7 +153,7 @@ function deserializeIdentifierReference(pos) {
153
153
  let start, end;
154
154
  return {
155
155
  type: "Identifier",
156
- name: deserializeStr(pos + 8),
156
+ name: deserializeStr(pos + 16),
157
157
  start: (start = deserializeU32(pos)),
158
158
  end: (end = deserializeU32(pos + 4)),
159
159
  range: [start, end],
@@ -164,7 +164,7 @@ function deserializeBindingIdentifier(pos) {
164
164
  let start, end;
165
165
  return {
166
166
  type: "Identifier",
167
- name: deserializeStr(pos + 8),
167
+ name: deserializeStr(pos + 16),
168
168
  start: (start = deserializeU32(pos)),
169
169
  end: (end = deserializeU32(pos + 4)),
170
170
  range: [start, end],
@@ -175,7 +175,7 @@ function deserializeLabelIdentifier(pos) {
175
175
  let start, end;
176
176
  return {
177
177
  type: "Identifier",
178
- name: deserializeStr(pos + 8),
178
+ name: deserializeStr(pos + 16),
179
179
  start: (start = deserializeU32(pos)),
180
180
  end: (end = deserializeU32(pos + 4)),
181
181
  range: [start, end],
@@ -202,7 +202,7 @@ function deserializeArrayExpression(pos) {
202
202
  end: (end = deserializeU32(pos + 4)),
203
203
  range: [start, end],
204
204
  };
205
- node.elements = deserializeVecArrayExpressionElement(pos + 8);
205
+ node.elements = deserializeVecArrayExpressionElement(pos + 16);
206
206
  return node;
207
207
  }
208
208
 
@@ -317,7 +317,7 @@ function deserializeObjectExpression(pos) {
317
317
  end: (end = deserializeU32(pos + 4)),
318
318
  range: [start, end],
319
319
  };
320
- node.properties = deserializeVecObjectPropertyKind(pos + 8);
320
+ node.properties = deserializeVecObjectPropertyKind(pos + 16);
321
321
  return node;
322
322
  }
323
323
 
@@ -337,18 +337,18 @@ function deserializeObjectProperty(pos) {
337
337
  end,
338
338
  node = {
339
339
  type: "Property",
340
- kind: deserializePropertyKind(pos + 44),
340
+ kind: deserializePropertyKind(pos + 12),
341
341
  key: null,
342
342
  value: null,
343
- method: deserializeBool(pos + 45),
344
- shorthand: deserializeBool(pos + 46),
345
- computed: deserializeBool(pos + 47),
343
+ method: deserializeBool(pos + 13),
344
+ shorthand: deserializeBool(pos + 14),
345
+ computed: deserializeBool(pos + 15),
346
346
  start: (start = deserializeU32(pos)),
347
347
  end: (end = deserializeU32(pos + 4)),
348
348
  range: [start, end],
349
349
  };
350
- node.key = deserializePropertyKey(pos + 8);
351
- node.value = deserializeExpression(pos + 24);
350
+ node.key = deserializePropertyKey(pos + 16);
351
+ node.value = deserializeExpression(pos + 32);
352
352
  return node;
353
353
  }
354
354
 
@@ -473,8 +473,8 @@ function deserializeTemplateLiteral(pos) {
473
473
  end: (end = deserializeU32(pos + 4)),
474
474
  range: [start, end],
475
475
  };
476
- node.quasis = deserializeVecTemplateElement(pos + 8);
477
- node.expressions = deserializeVecExpression(pos + 32);
476
+ node.quasis = deserializeVecTemplateElement(pos + 16);
477
+ node.expressions = deserializeVecExpression(pos + 40);
478
478
  return node;
479
479
  }
480
480
 
@@ -489,18 +489,18 @@ function deserializeTaggedTemplateExpression(pos) {
489
489
  end: (end = deserializeU32(pos + 4)),
490
490
  range: [start, end],
491
491
  };
492
- node.tag = deserializeExpression(pos + 8);
493
- node.quasi = deserializeTemplateLiteral(pos + 32);
492
+ node.tag = deserializeExpression(pos + 16);
493
+ node.quasi = deserializeTemplateLiteral(pos + 40);
494
494
  return node;
495
495
  }
496
496
 
497
497
  function deserializeTemplateElement(pos) {
498
- let tail = deserializeBool(pos + 44),
498
+ let tail = deserializeBool(pos + 12),
499
499
  start = deserializeU32(pos),
500
500
  end = deserializeU32(pos + 4),
501
- value = deserializeTemplateElementValue(pos + 8);
501
+ value = deserializeTemplateElementValue(pos + 16);
502
502
  value.cooked !== null &&
503
- deserializeBool(pos + 45) &&
503
+ deserializeBool(pos + 13) &&
504
504
  (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) =>
505
505
  String.fromCodePoint(parseInt(hex, 16)),
506
506
  ));
@@ -528,14 +528,14 @@ function deserializeComputedMemberExpression(pos) {
528
528
  type: "MemberExpression",
529
529
  object: null,
530
530
  property: null,
531
- optional: deserializeBool(pos + 44),
531
+ optional: deserializeBool(pos + 12),
532
532
  computed: null,
533
533
  start: (start = deserializeU32(pos)),
534
534
  end: (end = deserializeU32(pos + 4)),
535
535
  range: [start, end],
536
536
  };
537
- node.object = deserializeExpression(pos + 8);
538
- node.property = deserializeExpression(pos + 24);
537
+ node.object = deserializeExpression(pos + 16);
538
+ node.property = deserializeExpression(pos + 32);
539
539
  node.computed = true;
540
540
  return node;
541
541
  }
@@ -547,14 +547,14 @@ function deserializeStaticMemberExpression(pos) {
547
547
  type: "MemberExpression",
548
548
  object: null,
549
549
  property: null,
550
- optional: deserializeBool(pos + 60),
550
+ optional: deserializeBool(pos + 12),
551
551
  computed: null,
552
552
  start: (start = deserializeU32(pos)),
553
553
  end: (end = deserializeU32(pos + 4)),
554
554
  range: [start, end],
555
555
  };
556
- node.object = deserializeExpression(pos + 8);
557
- node.property = deserializeIdentifierName(pos + 24);
556
+ node.object = deserializeExpression(pos + 16);
557
+ node.property = deserializeIdentifierName(pos + 32);
558
558
  node.computed = false;
559
559
  return node;
560
560
  }
@@ -566,14 +566,14 @@ function deserializePrivateFieldExpression(pos) {
566
566
  type: "MemberExpression",
567
567
  object: null,
568
568
  property: null,
569
- optional: deserializeBool(pos + 60),
569
+ optional: deserializeBool(pos + 12),
570
570
  computed: null,
571
571
  start: (start = deserializeU32(pos)),
572
572
  end: (end = deserializeU32(pos + 4)),
573
573
  range: [start, end],
574
574
  };
575
- node.object = deserializeExpression(pos + 8);
576
- node.property = deserializePrivateIdentifier(pos + 24);
575
+ node.object = deserializeExpression(pos + 16);
576
+ node.property = deserializePrivateIdentifier(pos + 32);
577
577
  node.computed = false;
578
578
  return node;
579
579
  }
@@ -585,13 +585,13 @@ function deserializeCallExpression(pos) {
585
585
  type: "CallExpression",
586
586
  callee: null,
587
587
  arguments: null,
588
- optional: deserializeBool(pos + 60),
588
+ optional: deserializeBool(pos + 12),
589
589
  start: (start = deserializeU32(pos)),
590
590
  end: (end = deserializeU32(pos + 4)),
591
591
  range: [start, end],
592
592
  };
593
- node.callee = deserializeExpression(pos + 8);
594
- node.arguments = deserializeVecArgument(pos + 32);
593
+ node.callee = deserializeExpression(pos + 16);
594
+ node.arguments = deserializeVecArgument(pos + 40);
595
595
  return node;
596
596
  }
597
597
 
@@ -606,8 +606,8 @@ function deserializeNewExpression(pos) {
606
606
  end: (end = deserializeU32(pos + 4)),
607
607
  range: [start, end],
608
608
  };
609
- node.callee = deserializeExpression(pos + 8);
610
- node.arguments = deserializeVecArgument(pos + 32);
609
+ node.callee = deserializeExpression(pos + 16);
610
+ node.arguments = deserializeVecArgument(pos + 40);
611
611
  return node;
612
612
  }
613
613
 
@@ -622,8 +622,8 @@ function deserializeMetaProperty(pos) {
622
622
  end: (end = deserializeU32(pos + 4)),
623
623
  range: [start, end],
624
624
  };
625
- node.meta = deserializeIdentifierName(pos + 8);
626
- node.property = deserializeIdentifierName(pos + 40);
625
+ node.meta = deserializeIdentifierName(pos + 16);
626
+ node.property = deserializeIdentifierName(pos + 48);
627
627
  return node;
628
628
  }
629
629
 
@@ -637,7 +637,7 @@ function deserializeSpreadElement(pos) {
637
637
  end: (end = deserializeU32(pos + 4)),
638
638
  range: [start, end],
639
639
  };
640
- node.argument = deserializeExpression(pos + 8);
640
+ node.argument = deserializeExpression(pos + 16);
641
641
  return node;
642
642
  }
643
643
 
@@ -741,14 +741,14 @@ function deserializeUpdateExpression(pos) {
741
741
  end,
742
742
  node = {
743
743
  type: "UpdateExpression",
744
- operator: deserializeUpdateOperator(pos + 28),
745
- prefix: deserializeBool(pos + 29),
744
+ operator: deserializeUpdateOperator(pos + 12),
745
+ prefix: deserializeBool(pos + 13),
746
746
  argument: null,
747
747
  start: (start = deserializeU32(pos)),
748
748
  end: (end = deserializeU32(pos + 4)),
749
749
  range: [start, end],
750
750
  };
751
- node.argument = deserializeSimpleAssignmentTarget(pos + 8);
751
+ node.argument = deserializeSimpleAssignmentTarget(pos + 16);
752
752
  return node;
753
753
  }
754
754
 
@@ -757,14 +757,14 @@ function deserializeUnaryExpression(pos) {
757
757
  end,
758
758
  node = {
759
759
  type: "UnaryExpression",
760
- operator: deserializeUnaryOperator(pos + 28),
760
+ operator: deserializeUnaryOperator(pos + 12),
761
761
  argument: null,
762
762
  prefix: null,
763
763
  start: (start = deserializeU32(pos)),
764
764
  end: (end = deserializeU32(pos + 4)),
765
765
  range: [start, end],
766
766
  };
767
- node.argument = deserializeExpression(pos + 8);
767
+ node.argument = deserializeExpression(pos + 16);
768
768
  node.prefix = true;
769
769
  return node;
770
770
  }
@@ -775,14 +775,14 @@ function deserializeBinaryExpression(pos) {
775
775
  node = {
776
776
  type: "BinaryExpression",
777
777
  left: null,
778
- operator: deserializeBinaryOperator(pos + 44),
778
+ operator: deserializeBinaryOperator(pos + 12),
779
779
  right: null,
780
780
  start: (start = deserializeU32(pos)),
781
781
  end: (end = deserializeU32(pos + 4)),
782
782
  range: [start, end],
783
783
  };
784
- node.left = deserializeExpression(pos + 8);
785
- node.right = deserializeExpression(pos + 24);
784
+ node.left = deserializeExpression(pos + 16);
785
+ node.right = deserializeExpression(pos + 32);
786
786
  return node;
787
787
  }
788
788
 
@@ -798,9 +798,9 @@ function deserializePrivateInExpression(pos) {
798
798
  end: (end = deserializeU32(pos + 4)),
799
799
  range: [start, end],
800
800
  };
801
- node.left = deserializePrivateIdentifier(pos + 8);
801
+ node.left = deserializePrivateIdentifier(pos + 16);
802
802
  node.operator = "in";
803
- node.right = deserializeExpression(pos + 40);
803
+ node.right = deserializeExpression(pos + 48);
804
804
  return node;
805
805
  }
806
806
 
@@ -810,14 +810,14 @@ function deserializeLogicalExpression(pos) {
810
810
  node = {
811
811
  type: "LogicalExpression",
812
812
  left: null,
813
- operator: deserializeLogicalOperator(pos + 44),
813
+ operator: deserializeLogicalOperator(pos + 12),
814
814
  right: null,
815
815
  start: (start = deserializeU32(pos)),
816
816
  end: (end = deserializeU32(pos + 4)),
817
817
  range: [start, end],
818
818
  };
819
- node.left = deserializeExpression(pos + 8);
820
- node.right = deserializeExpression(pos + 24);
819
+ node.left = deserializeExpression(pos + 16);
820
+ node.right = deserializeExpression(pos + 32);
821
821
  return node;
822
822
  }
823
823
 
@@ -833,9 +833,9 @@ function deserializeConditionalExpression(pos) {
833
833
  end: (end = deserializeU32(pos + 4)),
834
834
  range: [start, end],
835
835
  };
836
- node.test = deserializeExpression(pos + 8);
837
- node.consequent = deserializeExpression(pos + 24);
838
- node.alternate = deserializeExpression(pos + 40);
836
+ node.test = deserializeExpression(pos + 16);
837
+ node.consequent = deserializeExpression(pos + 32);
838
+ node.alternate = deserializeExpression(pos + 48);
839
839
  return node;
840
840
  }
841
841
 
@@ -844,15 +844,15 @@ function deserializeAssignmentExpression(pos) {
844
844
  end,
845
845
  node = {
846
846
  type: "AssignmentExpression",
847
- operator: deserializeAssignmentOperator(pos + 44),
847
+ operator: deserializeAssignmentOperator(pos + 12),
848
848
  left: null,
849
849
  right: null,
850
850
  start: (start = deserializeU32(pos)),
851
851
  end: (end = deserializeU32(pos + 4)),
852
852
  range: [start, end],
853
853
  };
854
- node.left = deserializeAssignmentTarget(pos + 8);
855
- node.right = deserializeExpression(pos + 24);
854
+ node.left = deserializeAssignmentTarget(pos + 16);
855
+ node.right = deserializeExpression(pos + 32);
856
856
  return node;
857
857
  }
858
858
 
@@ -916,8 +916,8 @@ function deserializeArrayAssignmentTarget(pos) {
916
916
  end: (end = deserializeU32(pos + 4)),
917
917
  range: [start, end],
918
918
  },
919
- elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 8),
920
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
919
+ elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 16),
920
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
921
921
  rest !== null && elements.push(rest);
922
922
  node.elements = elements;
923
923
  return node;
@@ -933,8 +933,8 @@ function deserializeObjectAssignmentTarget(pos) {
933
933
  end: (end = deserializeU32(pos + 4)),
934
934
  range: [start, end],
935
935
  },
936
- properties = deserializeVecAssignmentTargetProperty(pos + 8),
937
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
936
+ properties = deserializeVecAssignmentTargetProperty(pos + 16),
937
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
938
938
  rest !== null && properties.push(rest);
939
939
  node.properties = properties;
940
940
  return node;
@@ -950,7 +950,7 @@ function deserializeAssignmentTargetRest(pos) {
950
950
  end: (end = deserializeU32(pos + 4)),
951
951
  range: [start, end],
952
952
  };
953
- node.argument = deserializeAssignmentTarget(pos + 8);
953
+ node.argument = deserializeAssignmentTarget(pos + 16);
954
954
  return node;
955
955
  }
956
956
 
@@ -994,8 +994,8 @@ function deserializeAssignmentTargetWithDefault(pos) {
994
994
  end: (end = deserializeU32(pos + 4)),
995
995
  range: [start, end],
996
996
  };
997
- node.left = deserializeAssignmentTarget(pos + 8);
998
- node.right = deserializeExpression(pos + 24);
997
+ node.left = deserializeAssignmentTarget(pos + 16);
998
+ node.right = deserializeExpression(pos + 32);
999
999
  return node;
1000
1000
  }
1001
1001
 
@@ -1025,7 +1025,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1025
1025
  end,
1026
1026
  range: [start, end],
1027
1027
  },
1028
- key = deserializeIdentifierReference(pos + 8),
1028
+ key = deserializeIdentifierReference(pos + 16),
1029
1029
  keyStart,
1030
1030
  keyEnd,
1031
1031
  value = {
@@ -1035,7 +1035,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1035
1035
  end: (keyEnd = key.end),
1036
1036
  range: [keyStart, keyEnd],
1037
1037
  },
1038
- init = deserializeOptionExpression(pos + 40);
1038
+ init = deserializeOptionExpression(pos + 48);
1039
1039
  init !== null &&
1040
1040
  (value = {
1041
1041
  type: "AssignmentPattern",
@@ -1064,14 +1064,14 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
1064
1064
  value: null,
1065
1065
  method: null,
1066
1066
  shorthand: null,
1067
- computed: deserializeBool(pos + 44),
1067
+ computed: deserializeBool(pos + 12),
1068
1068
  start: (start = deserializeU32(pos)),
1069
1069
  end: (end = deserializeU32(pos + 4)),
1070
1070
  range: [start, end],
1071
1071
  };
1072
1072
  node.kind = "init";
1073
- node.key = deserializePropertyKey(pos + 8);
1074
- node.value = deserializeAssignmentTargetMaybeDefault(pos + 24);
1073
+ node.key = deserializePropertyKey(pos + 16);
1074
+ node.value = deserializeAssignmentTargetMaybeDefault(pos + 32);
1075
1075
  node.method = false;
1076
1076
  node.shorthand = false;
1077
1077
  return node;
@@ -1087,7 +1087,7 @@ function deserializeSequenceExpression(pos) {
1087
1087
  end: (end = deserializeU32(pos + 4)),
1088
1088
  range: [start, end],
1089
1089
  };
1090
- node.expressions = deserializeVecExpression(pos + 8);
1090
+ node.expressions = deserializeVecExpression(pos + 16);
1091
1091
  return node;
1092
1092
  }
1093
1093
 
@@ -1111,7 +1111,7 @@ function deserializeAwaitExpression(pos) {
1111
1111
  end: (end = deserializeU32(pos + 4)),
1112
1112
  range: [start, end],
1113
1113
  };
1114
- node.argument = deserializeExpression(pos + 8);
1114
+ node.argument = deserializeExpression(pos + 16);
1115
1115
  return node;
1116
1116
  }
1117
1117
 
@@ -1125,7 +1125,7 @@ function deserializeChainExpression(pos) {
1125
1125
  end: (end = deserializeU32(pos + 4)),
1126
1126
  range: [start, end],
1127
1127
  };
1128
- node.expression = deserializeChainElement(pos + 8);
1128
+ node.expression = deserializeChainElement(pos + 16);
1129
1129
  return node;
1130
1130
  }
1131
1131
 
@@ -1157,7 +1157,7 @@ function deserializeParenthesizedExpression(pos) {
1157
1157
  end: (end = deserializeU32(pos + 4)),
1158
1158
  range: [start, end],
1159
1159
  };
1160
- node.expression = deserializeExpression(pos + 8);
1160
+ node.expression = deserializeExpression(pos + 16);
1161
1161
  }
1162
1162
  return node;
1163
1163
  }
@@ -1241,12 +1241,12 @@ function deserializeDirective(pos) {
1241
1241
  node = {
1242
1242
  type: "ExpressionStatement",
1243
1243
  expression: null,
1244
- directive: deserializeStr(pos + 56),
1244
+ directive: deserializeStr(pos + 64),
1245
1245
  start: (start = deserializeU32(pos)),
1246
1246
  end: (end = deserializeU32(pos + 4)),
1247
1247
  range: [start, end],
1248
1248
  };
1249
- node.expression = deserializeStringLiteral(pos + 8);
1249
+ node.expression = deserializeStringLiteral(pos + 16);
1250
1250
  return node;
1251
1251
  }
1252
1252
 
@@ -1254,7 +1254,7 @@ function deserializeHashbang(pos) {
1254
1254
  let start, end;
1255
1255
  return {
1256
1256
  type: "Hashbang",
1257
- value: deserializeStr(pos + 8),
1257
+ value: deserializeStr(pos + 16),
1258
1258
  start: (start = deserializeU32(pos)),
1259
1259
  end: (end = deserializeU32(pos + 4)),
1260
1260
  range: [start, end],
@@ -1271,7 +1271,7 @@ function deserializeBlockStatement(pos) {
1271
1271
  end: (end = deserializeU32(pos + 4)),
1272
1272
  range: [start, end],
1273
1273
  };
1274
- node.body = deserializeVecStatement(pos + 8);
1274
+ node.body = deserializeVecStatement(pos + 16);
1275
1275
  return node;
1276
1276
  }
1277
1277
 
@@ -1305,13 +1305,13 @@ function deserializeVariableDeclaration(pos) {
1305
1305
  end,
1306
1306
  node = {
1307
1307
  type: "VariableDeclaration",
1308
- kind: deserializeVariableDeclarationKind(pos + 36),
1308
+ kind: deserializeVariableDeclarationKind(pos + 12),
1309
1309
  declarations: null,
1310
1310
  start: (start = deserializeU32(pos)),
1311
1311
  end: (end = deserializeU32(pos + 4)),
1312
1312
  range: [start, end],
1313
1313
  };
1314
- node.declarations = deserializeVecVariableDeclarator(pos + 8);
1314
+ node.declarations = deserializeVecVariableDeclarator(pos + 16);
1315
1315
  return node;
1316
1316
  }
1317
1317
 
@@ -1333,17 +1333,19 @@ function deserializeVariableDeclarationKind(pos) {
1333
1333
  }
1334
1334
 
1335
1335
  function deserializeVariableDeclarator(pos) {
1336
- let variableDeclarator = {
1337
- type: "VariableDeclarator",
1338
- id: null,
1339
- init: null,
1340
- start: deserializeU32(pos),
1341
- end: deserializeU32(pos + 4),
1342
- range: [deserializeU32(pos), deserializeU32(pos + 4)],
1343
- };
1344
- variableDeclarator.id = deserializeBindingPattern(pos + 8);
1345
- variableDeclarator.init = deserializeOptionExpression(pos + 32);
1346
- return variableDeclarator;
1336
+ let start,
1337
+ end,
1338
+ node = {
1339
+ type: "VariableDeclarator",
1340
+ id: null,
1341
+ init: null,
1342
+ start: (start = deserializeU32(pos)),
1343
+ end: (end = deserializeU32(pos + 4)),
1344
+ range: [start, end],
1345
+ };
1346
+ node.id = deserializeBindingPattern(pos + 16);
1347
+ node.init = deserializeOptionExpression(pos + 40);
1348
+ return node;
1347
1349
  }
1348
1350
 
1349
1351
  function deserializeEmptyStatement(pos) {
@@ -1366,7 +1368,7 @@ function deserializeExpressionStatement(pos) {
1366
1368
  end: (end = deserializeU32(pos + 4)),
1367
1369
  range: [start, end],
1368
1370
  };
1369
- node.expression = deserializeExpression(pos + 8);
1371
+ node.expression = deserializeExpression(pos + 16);
1370
1372
  return node;
1371
1373
  }
1372
1374
 
@@ -1382,9 +1384,9 @@ function deserializeIfStatement(pos) {
1382
1384
  end: (end = deserializeU32(pos + 4)),
1383
1385
  range: [start, end],
1384
1386
  };
1385
- node.test = deserializeExpression(pos + 8);
1386
- node.consequent = deserializeStatement(pos + 24);
1387
- node.alternate = deserializeOptionStatement(pos + 40);
1387
+ node.test = deserializeExpression(pos + 16);
1388
+ node.consequent = deserializeStatement(pos + 32);
1389
+ node.alternate = deserializeOptionStatement(pos + 48);
1388
1390
  return node;
1389
1391
  }
1390
1392
 
@@ -1399,8 +1401,8 @@ function deserializeDoWhileStatement(pos) {
1399
1401
  end: (end = deserializeU32(pos + 4)),
1400
1402
  range: [start, end],
1401
1403
  };
1402
- node.body = deserializeStatement(pos + 8);
1403
- node.test = deserializeExpression(pos + 24);
1404
+ node.body = deserializeStatement(pos + 16);
1405
+ node.test = deserializeExpression(pos + 32);
1404
1406
  return node;
1405
1407
  }
1406
1408
 
@@ -1415,8 +1417,8 @@ function deserializeWhileStatement(pos) {
1415
1417
  end: (end = deserializeU32(pos + 4)),
1416
1418
  range: [start, end],
1417
1419
  };
1418
- node.test = deserializeExpression(pos + 8);
1419
- node.body = deserializeStatement(pos + 24);
1420
+ node.test = deserializeExpression(pos + 16);
1421
+ node.body = deserializeStatement(pos + 32);
1420
1422
  return node;
1421
1423
  }
1422
1424
 
@@ -1433,10 +1435,10 @@ function deserializeForStatement(pos) {
1433
1435
  end: (end = deserializeU32(pos + 4)),
1434
1436
  range: [start, end],
1435
1437
  };
1436
- node.init = deserializeOptionForStatementInit(pos + 8);
1437
- node.test = deserializeOptionExpression(pos + 24);
1438
- node.update = deserializeOptionExpression(pos + 40);
1439
- node.body = deserializeStatement(pos + 56);
1438
+ node.init = deserializeOptionForStatementInit(pos + 16);
1439
+ node.test = deserializeOptionExpression(pos + 32);
1440
+ node.update = deserializeOptionExpression(pos + 48);
1441
+ node.body = deserializeStatement(pos + 64);
1440
1442
  return node;
1441
1443
  }
1442
1444
 
@@ -1547,9 +1549,9 @@ function deserializeForInStatement(pos) {
1547
1549
  end: (end = deserializeU32(pos + 4)),
1548
1550
  range: [start, end],
1549
1551
  };
1550
- node.left = deserializeForStatementLeft(pos + 8);
1551
- node.right = deserializeExpression(pos + 24);
1552
- node.body = deserializeStatement(pos + 40);
1552
+ node.left = deserializeForStatementLeft(pos + 16);
1553
+ node.right = deserializeExpression(pos + 32);
1554
+ node.body = deserializeStatement(pos + 48);
1553
1555
  return node;
1554
1556
  }
1555
1557
 
@@ -1595,9 +1597,9 @@ function deserializeForOfStatement(pos) {
1595
1597
  end: (end = deserializeU32(pos + 4)),
1596
1598
  range: [start, end],
1597
1599
  };
1598
- node.left = deserializeForStatementLeft(pos + 8);
1599
- node.right = deserializeExpression(pos + 24);
1600
- node.body = deserializeStatement(pos + 40);
1600
+ node.left = deserializeForStatementLeft(pos + 16);
1601
+ node.right = deserializeExpression(pos + 32);
1602
+ node.body = deserializeStatement(pos + 48);
1601
1603
  return node;
1602
1604
  }
1603
1605
 
@@ -1611,7 +1613,7 @@ function deserializeContinueStatement(pos) {
1611
1613
  end: (end = deserializeU32(pos + 4)),
1612
1614
  range: [start, end],
1613
1615
  };
1614
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1616
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1615
1617
  return node;
1616
1618
  }
1617
1619
 
@@ -1625,7 +1627,7 @@ function deserializeBreakStatement(pos) {
1625
1627
  end: (end = deserializeU32(pos + 4)),
1626
1628
  range: [start, end],
1627
1629
  };
1628
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1630
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1629
1631
  return node;
1630
1632
  }
1631
1633
 
@@ -1639,7 +1641,7 @@ function deserializeReturnStatement(pos) {
1639
1641
  end: (end = deserializeU32(pos + 4)),
1640
1642
  range: [start, end],
1641
1643
  };
1642
- node.argument = deserializeOptionExpression(pos + 8);
1644
+ node.argument = deserializeOptionExpression(pos + 16);
1643
1645
  return node;
1644
1646
  }
1645
1647
 
@@ -1654,8 +1656,8 @@ function deserializeWithStatement(pos) {
1654
1656
  end: (end = deserializeU32(pos + 4)),
1655
1657
  range: [start, end],
1656
1658
  };
1657
- node.object = deserializeExpression(pos + 8);
1658
- node.body = deserializeStatement(pos + 24);
1659
+ node.object = deserializeExpression(pos + 16);
1660
+ node.body = deserializeStatement(pos + 32);
1659
1661
  return node;
1660
1662
  }
1661
1663
 
@@ -1670,8 +1672,8 @@ function deserializeSwitchStatement(pos) {
1670
1672
  end: (end = deserializeU32(pos + 4)),
1671
1673
  range: [start, end],
1672
1674
  };
1673
- node.discriminant = deserializeExpression(pos + 8);
1674
- node.cases = deserializeVecSwitchCase(pos + 24);
1675
+ node.discriminant = deserializeExpression(pos + 16);
1676
+ node.cases = deserializeVecSwitchCase(pos + 32);
1675
1677
  return node;
1676
1678
  }
1677
1679
 
@@ -1686,8 +1688,8 @@ function deserializeSwitchCase(pos) {
1686
1688
  end: (end = deserializeU32(pos + 4)),
1687
1689
  range: [start, end],
1688
1690
  };
1689
- node.test = deserializeOptionExpression(pos + 8);
1690
- node.consequent = deserializeVecStatement(pos + 24);
1691
+ node.test = deserializeOptionExpression(pos + 16);
1692
+ node.consequent = deserializeVecStatement(pos + 32);
1691
1693
  return node;
1692
1694
  }
1693
1695
 
@@ -1702,8 +1704,8 @@ function deserializeLabeledStatement(pos) {
1702
1704
  end: (end = deserializeU32(pos + 4)),
1703
1705
  range: [start, end],
1704
1706
  };
1705
- node.label = deserializeLabelIdentifier(pos + 8);
1706
- node.body = deserializeStatement(pos + 40);
1707
+ node.label = deserializeLabelIdentifier(pos + 16);
1708
+ node.body = deserializeStatement(pos + 48);
1707
1709
  return node;
1708
1710
  }
1709
1711
 
@@ -1717,7 +1719,7 @@ function deserializeThrowStatement(pos) {
1717
1719
  end: (end = deserializeU32(pos + 4)),
1718
1720
  range: [start, end],
1719
1721
  };
1720
- node.argument = deserializeExpression(pos + 8);
1722
+ node.argument = deserializeExpression(pos + 16);
1721
1723
  return node;
1722
1724
  }
1723
1725
 
@@ -1733,9 +1735,9 @@ function deserializeTryStatement(pos) {
1733
1735
  end: (end = deserializeU32(pos + 4)),
1734
1736
  range: [start, end],
1735
1737
  };
1736
- node.block = deserializeBoxBlockStatement(pos + 8);
1737
- node.handler = deserializeOptionBoxCatchClause(pos + 16);
1738
- node.finalizer = deserializeOptionBoxBlockStatement(pos + 24);
1738
+ node.block = deserializeBoxBlockStatement(pos + 16);
1739
+ node.handler = deserializeOptionBoxCatchClause(pos + 24);
1740
+ node.finalizer = deserializeOptionBoxBlockStatement(pos + 32);
1739
1741
  return node;
1740
1742
  }
1741
1743
 
@@ -1750,13 +1752,13 @@ function deserializeCatchClause(pos) {
1750
1752
  end: (end = deserializeU32(pos + 4)),
1751
1753
  range: [start, end],
1752
1754
  };
1753
- node.param = deserializeOptionCatchParameter(pos + 8);
1754
- node.body = deserializeBoxBlockStatement(pos + 48);
1755
+ node.param = deserializeOptionCatchParameter(pos + 16);
1756
+ node.body = deserializeBoxBlockStatement(pos + 56);
1755
1757
  return node;
1756
1758
  }
1757
1759
 
1758
1760
  function deserializeCatchParameter(pos) {
1759
- return deserializeBindingPattern(pos + 8);
1761
+ return deserializeBindingPattern(pos + 16);
1760
1762
  }
1761
1763
 
1762
1764
  function deserializeDebuggerStatement(pos) {
@@ -1795,8 +1797,8 @@ function deserializeAssignmentPattern(pos) {
1795
1797
  end: (end = deserializeU32(pos + 4)),
1796
1798
  range: [start, end],
1797
1799
  };
1798
- node.left = deserializeBindingPattern(pos + 8);
1799
- node.right = deserializeExpression(pos + 24);
1800
+ node.left = deserializeBindingPattern(pos + 16);
1801
+ node.right = deserializeExpression(pos + 32);
1800
1802
  return node;
1801
1803
  }
1802
1804
 
@@ -1810,8 +1812,8 @@ function deserializeObjectPattern(pos) {
1810
1812
  end: (end = deserializeU32(pos + 4)),
1811
1813
  range: [start, end],
1812
1814
  },
1813
- properties = deserializeVecBindingProperty(pos + 8),
1814
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1815
+ properties = deserializeVecBindingProperty(pos + 16),
1816
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1815
1817
  rest !== null && properties.push(rest);
1816
1818
  node.properties = properties;
1817
1819
  return node;
@@ -1826,15 +1828,15 @@ function deserializeBindingProperty(pos) {
1826
1828
  key: null,
1827
1829
  value: null,
1828
1830
  method: null,
1829
- shorthand: deserializeBool(pos + 44),
1830
- computed: deserializeBool(pos + 45),
1831
+ shorthand: deserializeBool(pos + 12),
1832
+ computed: deserializeBool(pos + 13),
1831
1833
  start: (start = deserializeU32(pos)),
1832
1834
  end: (end = deserializeU32(pos + 4)),
1833
1835
  range: [start, end],
1834
1836
  };
1835
1837
  node.kind = "init";
1836
- node.key = deserializePropertyKey(pos + 8);
1837
- node.value = deserializeBindingPattern(pos + 24);
1838
+ node.key = deserializePropertyKey(pos + 16);
1839
+ node.value = deserializeBindingPattern(pos + 32);
1838
1840
  node.method = false;
1839
1841
  return node;
1840
1842
  }
@@ -1849,8 +1851,8 @@ function deserializeArrayPattern(pos) {
1849
1851
  end: (end = deserializeU32(pos + 4)),
1850
1852
  range: [start, end],
1851
1853
  },
1852
- elements = deserializeVecOptionBindingPattern(pos + 8),
1853
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1854
+ elements = deserializeVecOptionBindingPattern(pos + 16),
1855
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1854
1856
  rest !== null && elements.push(rest);
1855
1857
  node.elements = elements;
1856
1858
  return node;
@@ -1866,7 +1868,7 @@ function deserializeBindingRestElement(pos) {
1866
1868
  end: (end = deserializeU32(pos + 4)),
1867
1869
  range: [start, end],
1868
1870
  };
1869
- node.argument = deserializeBindingPattern(pos + 8);
1871
+ node.argument = deserializeBindingPattern(pos + 16);
1870
1872
  return node;
1871
1873
  }
1872
1874
 
@@ -1885,10 +1887,10 @@ function deserializeFunction(pos) {
1885
1887
  end: (end = deserializeU32(pos + 4)),
1886
1888
  range: [start, end],
1887
1889
  },
1888
- params = deserializeBoxFormalParameters(pos + 56);
1889
- node.id = deserializeOptionBindingIdentifier(pos + 8);
1890
+ params = deserializeBoxFormalParameters(pos + 64);
1891
+ node.id = deserializeOptionBindingIdentifier(pos + 16);
1890
1892
  node.params = params;
1891
- node.body = deserializeOptionBoxFunctionBody(pos + 72);
1893
+ node.body = deserializeOptionBoxFunctionBody(pos + 80);
1892
1894
  node.expression = false;
1893
1895
  return node;
1894
1896
  }
@@ -1909,19 +1911,19 @@ function deserializeFunctionType(pos) {
1909
1911
  }
1910
1912
 
1911
1913
  function deserializeFormalParameters(pos) {
1912
- let params = deserializeVecFormalParameter(pos + 8);
1913
- if (uint32[(pos + 32) >> 2] !== 0 && uint32[(pos + 36) >> 2] !== 0) {
1914
- pos = uint32[(pos + 32) >> 2];
1914
+ let params = deserializeVecFormalParameter(pos + 16);
1915
+ if (uint32[(pos + 40) >> 2] !== 0 && uint32[(pos + 44) >> 2] !== 0) {
1916
+ pos = uint32[(pos + 40) >> 2];
1915
1917
  let start,
1916
1918
  end,
1917
1919
  rest = {
1918
1920
  type: "RestElement",
1919
1921
  argument: null,
1920
- start: (start = deserializeU32(pos + 32)),
1921
- end: (end = deserializeU32(pos + 36)),
1922
+ start: (start = deserializeU32(pos + 40)),
1923
+ end: (end = deserializeU32(pos + 44)),
1922
1924
  range: [start, end],
1923
1925
  };
1924
- rest.argument = deserializeBindingPattern(pos + 40);
1926
+ rest.argument = deserializeBindingPattern(pos + 56);
1925
1927
  params.push(rest);
1926
1928
  }
1927
1929
  return params;
@@ -1929,7 +1931,7 @@ function deserializeFormalParameters(pos) {
1929
1931
 
1930
1932
  function deserializeFormalParameter(pos) {
1931
1933
  let param;
1932
- if (uint32[(pos + 56) >> 2] !== 0 && uint32[(pos + 60) >> 2] !== 0) {
1934
+ if (uint32[(pos + 64) >> 2] !== 0 && uint32[(pos + 68) >> 2] !== 0) {
1933
1935
  let start, end;
1934
1936
  param = {
1935
1937
  type: "AssignmentPattern",
@@ -1939,9 +1941,9 @@ function deserializeFormalParameter(pos) {
1939
1941
  end: (end = deserializeU32(pos + 4)),
1940
1942
  range: [start, end],
1941
1943
  };
1942
- param.left = deserializeBindingPattern(pos + 32);
1943
- param.right = deserializeOptionBoxExpression(pos + 56);
1944
- } else param = deserializeBindingPattern(pos + 32);
1944
+ param.left = deserializeBindingPattern(pos + 40);
1945
+ param.right = deserializeOptionBoxExpression(pos + 64);
1946
+ } else param = deserializeBindingPattern(pos + 40);
1945
1947
  return param;
1946
1948
  }
1947
1949
 
@@ -1955,8 +1957,8 @@ function deserializeFunctionBody(pos) {
1955
1957
  end: (end = deserializeU32(pos + 4)),
1956
1958
  range: [start, end],
1957
1959
  },
1958
- body = deserializeVecDirective(pos + 8);
1959
- body.push(...deserializeVecStatement(pos + 32));
1960
+ body = deserializeVecDirective(pos + 16);
1961
+ body.push(...deserializeVecStatement(pos + 40));
1960
1962
  node.body = body;
1961
1963
  return node;
1962
1964
  }
@@ -1977,9 +1979,9 @@ function deserializeArrowFunctionExpression(pos) {
1977
1979
  end: (end = deserializeU32(pos + 4)),
1978
1980
  range: [start, end],
1979
1981
  },
1980
- body = deserializeBoxFunctionBody(pos + 32);
1982
+ body = deserializeBoxFunctionBody(pos + 40);
1981
1983
  expression === true && (body = body.body[0].expression);
1982
- node.params = deserializeBoxFormalParameters(pos + 16);
1984
+ node.params = deserializeBoxFormalParameters(pos + 24);
1983
1985
  node.body = body;
1984
1986
  node.generator = false;
1985
1987
  return node;
@@ -1990,13 +1992,13 @@ function deserializeYieldExpression(pos) {
1990
1992
  end,
1991
1993
  node = {
1992
1994
  type: "YieldExpression",
1993
- delegate: deserializeBool(pos + 28),
1995
+ delegate: deserializeBool(pos + 12),
1994
1996
  argument: null,
1995
1997
  start: (start = deserializeU32(pos)),
1996
1998
  end: (end = deserializeU32(pos + 4)),
1997
1999
  range: [start, end],
1998
2000
  };
1999
- node.argument = deserializeOptionExpression(pos + 8);
2001
+ node.argument = deserializeOptionExpression(pos + 16);
2000
2002
  return node;
2001
2003
  }
2002
2004
 
@@ -2013,10 +2015,10 @@ function deserializeClass(pos) {
2013
2015
  end: (end = deserializeU32(pos + 4)),
2014
2016
  range: [start, end],
2015
2017
  };
2016
- node.decorators = deserializeVecDecorator(pos + 8);
2017
- node.id = deserializeOptionBindingIdentifier(pos + 32);
2018
- node.superClass = deserializeOptionExpression(pos + 72);
2019
- node.body = deserializeBoxClassBody(pos + 120);
2018
+ node.decorators = deserializeVecDecorator(pos + 16);
2019
+ node.id = deserializeOptionBindingIdentifier(pos + 40);
2020
+ node.superClass = deserializeOptionExpression(pos + 80);
2021
+ node.body = deserializeBoxClassBody(pos + 128);
2020
2022
  return node;
2021
2023
  }
2022
2024
 
@@ -2041,7 +2043,7 @@ function deserializeClassBody(pos) {
2041
2043
  end: (end = deserializeU32(pos + 4)),
2042
2044
  range: [start, end],
2043
2045
  };
2044
- node.body = deserializeVecClassElement(pos + 8);
2046
+ node.body = deserializeVecClassElement(pos + 16);
2045
2047
  return node;
2046
2048
  }
2047
2049
 
@@ -2066,20 +2068,20 @@ function deserializeMethodDefinition(pos) {
2066
2068
  let start,
2067
2069
  end,
2068
2070
  node = {
2069
- type: deserializeMethodDefinitionType(pos + 60),
2071
+ type: deserializeMethodDefinitionType(pos + 12),
2070
2072
  decorators: null,
2071
2073
  key: null,
2072
2074
  value: null,
2073
- kind: deserializeMethodDefinitionKind(pos + 61),
2074
- computed: deserializeBool(pos + 62),
2075
- static: deserializeBool(pos + 63),
2075
+ kind: deserializeMethodDefinitionKind(pos + 13),
2076
+ computed: deserializeBool(pos + 14),
2077
+ static: deserializeBool(pos + 15),
2076
2078
  start: (start = deserializeU32(pos)),
2077
2079
  end: (end = deserializeU32(pos + 4)),
2078
2080
  range: [start, end],
2079
2081
  };
2080
- node.decorators = deserializeVecDecorator(pos + 8);
2081
- node.key = deserializePropertyKey(pos + 32);
2082
- node.value = deserializeBoxFunction(pos + 48);
2082
+ node.decorators = deserializeVecDecorator(pos + 16);
2083
+ node.key = deserializePropertyKey(pos + 40);
2084
+ node.value = deserializeBoxFunction(pos + 56);
2083
2085
  return node;
2084
2086
  }
2085
2087
 
@@ -2098,19 +2100,19 @@ function deserializePropertyDefinition(pos) {
2098
2100
  let start,
2099
2101
  end,
2100
2102
  node = {
2101
- type: deserializePropertyDefinitionType(pos + 76),
2103
+ type: deserializePropertyDefinitionType(pos + 12),
2102
2104
  decorators: null,
2103
2105
  key: null,
2104
2106
  value: null,
2105
- computed: deserializeBool(pos + 77),
2106
- static: deserializeBool(pos + 78),
2107
+ computed: deserializeBool(pos + 13),
2108
+ static: deserializeBool(pos + 14),
2107
2109
  start: (start = deserializeU32(pos)),
2108
2110
  end: (end = deserializeU32(pos + 4)),
2109
2111
  range: [start, end],
2110
2112
  };
2111
- node.decorators = deserializeVecDecorator(pos + 8);
2112
- node.key = deserializePropertyKey(pos + 32);
2113
- node.value = deserializeOptionExpression(pos + 56);
2113
+ node.decorators = deserializeVecDecorator(pos + 16);
2114
+ node.key = deserializePropertyKey(pos + 40);
2115
+ node.value = deserializeOptionExpression(pos + 64);
2114
2116
  return node;
2115
2117
  }
2116
2118
 
@@ -2144,7 +2146,7 @@ function deserializePrivateIdentifier(pos) {
2144
2146
  let start, end;
2145
2147
  return {
2146
2148
  type: "PrivateIdentifier",
2147
- name: deserializeStr(pos + 8),
2149
+ name: deserializeStr(pos + 16),
2148
2150
  start: (start = deserializeU32(pos)),
2149
2151
  end: (end = deserializeU32(pos + 4)),
2150
2152
  range: [start, end],
@@ -2161,7 +2163,7 @@ function deserializeStaticBlock(pos) {
2161
2163
  end: (end = deserializeU32(pos + 4)),
2162
2164
  range: [start, end],
2163
2165
  };
2164
- node.body = deserializeVecStatement(pos + 8);
2166
+ node.body = deserializeVecStatement(pos + 16);
2165
2167
  return node;
2166
2168
  }
2167
2169
 
@@ -2180,19 +2182,19 @@ function deserializeAccessorProperty(pos) {
2180
2182
  let start,
2181
2183
  end,
2182
2184
  node = {
2183
- type: deserializeAccessorPropertyType(pos + 76),
2185
+ type: deserializeAccessorPropertyType(pos + 12),
2184
2186
  decorators: null,
2185
2187
  key: null,
2186
2188
  value: null,
2187
- computed: deserializeBool(pos + 77),
2188
- static: deserializeBool(pos + 78),
2189
+ computed: deserializeBool(pos + 13),
2190
+ static: deserializeBool(pos + 14),
2189
2191
  start: (start = deserializeU32(pos)),
2190
2192
  end: (end = deserializeU32(pos + 4)),
2191
2193
  range: [start, end],
2192
2194
  };
2193
- node.decorators = deserializeVecDecorator(pos + 8);
2194
- node.key = deserializePropertyKey(pos + 32);
2195
- node.value = deserializeOptionExpression(pos + 56);
2195
+ node.decorators = deserializeVecDecorator(pos + 16);
2196
+ node.key = deserializePropertyKey(pos + 40);
2197
+ node.value = deserializeOptionExpression(pos + 64);
2196
2198
  return node;
2197
2199
  }
2198
2200
 
@@ -2203,13 +2205,13 @@ function deserializeImportExpression(pos) {
2203
2205
  type: "ImportExpression",
2204
2206
  source: null,
2205
2207
  options: null,
2206
- phase: deserializeOptionImportPhase(pos + 44),
2208
+ phase: deserializeOptionImportPhase(pos + 12),
2207
2209
  start: (start = deserializeU32(pos)),
2208
2210
  end: (end = deserializeU32(pos + 4)),
2209
2211
  range: [start, end],
2210
2212
  };
2211
- node.source = deserializeExpression(pos + 8);
2212
- node.options = deserializeOptionExpression(pos + 24);
2213
+ node.source = deserializeExpression(pos + 16);
2214
+ node.options = deserializeOptionExpression(pos + 32);
2213
2215
  return node;
2214
2216
  }
2215
2217
 
@@ -2220,17 +2222,17 @@ function deserializeImportDeclaration(pos) {
2220
2222
  type: "ImportDeclaration",
2221
2223
  specifiers: null,
2222
2224
  source: null,
2223
- phase: deserializeOptionImportPhase(pos + 92),
2225
+ phase: deserializeOptionImportPhase(pos + 12),
2224
2226
  attributes: null,
2225
2227
  start: (start = deserializeU32(pos)),
2226
2228
  end: (end = deserializeU32(pos + 4)),
2227
2229
  range: [start, end],
2228
2230
  },
2229
- specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 8);
2231
+ specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 16);
2230
2232
  specifiers === null && (specifiers = []);
2231
- let withClause = deserializeOptionBoxWithClause(pos + 80);
2233
+ let withClause = deserializeOptionBoxWithClause(pos + 88);
2232
2234
  node.specifiers = specifiers;
2233
- node.source = deserializeStringLiteral(pos + 32);
2235
+ node.source = deserializeStringLiteral(pos + 40);
2234
2236
  node.attributes = withClause === null ? [] : withClause.attributes;
2235
2237
  return node;
2236
2238
  }
@@ -2270,8 +2272,8 @@ function deserializeImportSpecifier(pos) {
2270
2272
  end: (end = deserializeU32(pos + 4)),
2271
2273
  range: [start, end],
2272
2274
  };
2273
- node.imported = deserializeModuleExportName(pos + 8);
2274
- node.local = deserializeBindingIdentifier(pos + 64);
2275
+ node.imported = deserializeModuleExportName(pos + 16);
2276
+ node.local = deserializeBindingIdentifier(pos + 72);
2275
2277
  return node;
2276
2278
  }
2277
2279
 
@@ -2285,7 +2287,7 @@ function deserializeImportDefaultSpecifier(pos) {
2285
2287
  end: (end = deserializeU32(pos + 4)),
2286
2288
  range: [start, end],
2287
2289
  };
2288
- node.local = deserializeBindingIdentifier(pos + 8);
2290
+ node.local = deserializeBindingIdentifier(pos + 16);
2289
2291
  return node;
2290
2292
  }
2291
2293
 
@@ -2299,18 +2301,12 @@ function deserializeImportNamespaceSpecifier(pos) {
2299
2301
  end: (end = deserializeU32(pos + 4)),
2300
2302
  range: [start, end],
2301
2303
  };
2302
- node.local = deserializeBindingIdentifier(pos + 8);
2304
+ node.local = deserializeBindingIdentifier(pos + 16);
2303
2305
  return node;
2304
2306
  }
2305
2307
 
2306
2308
  function deserializeWithClause(pos) {
2307
- let start, end;
2308
- return {
2309
- attributes: deserializeVecImportAttribute(pos + 8),
2310
- start: (start = deserializeU32(pos)),
2311
- end: (end = deserializeU32(pos + 4)),
2312
- range: [start, end],
2313
- };
2309
+ return { attributes: deserializeVecImportAttribute(pos + 16) };
2314
2310
  }
2315
2311
 
2316
2312
  function deserializeImportAttribute(pos) {
@@ -2324,8 +2320,8 @@ function deserializeImportAttribute(pos) {
2324
2320
  end: (end = deserializeU32(pos + 4)),
2325
2321
  range: [start, end],
2326
2322
  };
2327
- node.key = deserializeImportAttributeKey(pos + 8);
2328
- node.value = deserializeStringLiteral(pos + 64);
2323
+ node.key = deserializeImportAttributeKey(pos + 16);
2324
+ node.value = deserializeStringLiteral(pos + 72);
2329
2325
  return node;
2330
2326
  }
2331
2327
 
@@ -2353,10 +2349,10 @@ function deserializeExportNamedDeclaration(pos) {
2353
2349
  end: (end = deserializeU32(pos + 4)),
2354
2350
  range: [start, end],
2355
2351
  },
2356
- withClause = deserializeOptionBoxWithClause(pos + 96);
2357
- node.declaration = deserializeOptionDeclaration(pos + 8);
2358
- node.specifiers = deserializeVecExportSpecifier(pos + 24);
2359
- node.source = deserializeOptionStringLiteral(pos + 48);
2352
+ withClause = deserializeOptionBoxWithClause(pos + 104);
2353
+ node.declaration = deserializeOptionDeclaration(pos + 16);
2354
+ node.specifiers = deserializeVecExportSpecifier(pos + 32);
2355
+ node.source = deserializeOptionStringLiteral(pos + 56);
2360
2356
  node.attributes = withClause === null ? [] : withClause.attributes;
2361
2357
  return node;
2362
2358
  }
@@ -2371,7 +2367,7 @@ function deserializeExportDefaultDeclaration(pos) {
2371
2367
  end: (end = deserializeU32(pos + 4)),
2372
2368
  range: [start, end],
2373
2369
  };
2374
- node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2370
+ node.declaration = deserializeExportDefaultDeclarationKind(pos + 16);
2375
2371
  return node;
2376
2372
  }
2377
2373
 
@@ -2387,9 +2383,9 @@ function deserializeExportAllDeclaration(pos) {
2387
2383
  end: (end = deserializeU32(pos + 4)),
2388
2384
  range: [start, end],
2389
2385
  },
2390
- withClause = deserializeOptionBoxWithClause(pos + 112);
2391
- node.exported = deserializeOptionModuleExportName(pos + 8);
2392
- node.source = deserializeStringLiteral(pos + 64);
2386
+ withClause = deserializeOptionBoxWithClause(pos + 120);
2387
+ node.exported = deserializeOptionModuleExportName(pos + 16);
2388
+ node.source = deserializeStringLiteral(pos + 72);
2393
2389
  node.attributes = withClause === null ? [] : withClause.attributes;
2394
2390
  return node;
2395
2391
  }
@@ -2405,8 +2401,8 @@ function deserializeExportSpecifier(pos) {
2405
2401
  end: (end = deserializeU32(pos + 4)),
2406
2402
  range: [start, end],
2407
2403
  };
2408
- node.local = deserializeModuleExportName(pos + 8);
2409
- node.exported = deserializeModuleExportName(pos + 64);
2404
+ node.local = deserializeModuleExportName(pos + 16);
2405
+ node.exported = deserializeModuleExportName(pos + 72);
2410
2406
  return node;
2411
2407
  }
2412
2408
 
@@ -2533,8 +2529,8 @@ function deserializeV8IntrinsicExpression(pos) {
2533
2529
  end: (end = deserializeU32(pos + 4)),
2534
2530
  range: [start, end],
2535
2531
  };
2536
- node.name = deserializeIdentifierName(pos + 8);
2537
- node.arguments = deserializeVecArgument(pos + 40);
2532
+ node.name = deserializeIdentifierName(pos + 16);
2533
+ node.arguments = deserializeVecArgument(pos + 48);
2538
2534
  return node;
2539
2535
  }
2540
2536
 
@@ -2573,7 +2569,7 @@ function deserializeNumericLiteral(pos) {
2573
2569
  let start, end;
2574
2570
  return {
2575
2571
  type: "Literal",
2576
- value: deserializeF64(pos + 8),
2572
+ value: deserializeF64(pos + 32),
2577
2573
  raw: deserializeOptionStr(pos + 16),
2578
2574
  start: (start = deserializeU32(pos)),
2579
2575
  end: (end = deserializeU32(pos + 4)),
@@ -2587,13 +2583,13 @@ function deserializeStringLiteral(pos) {
2587
2583
  node = {
2588
2584
  type: "Literal",
2589
2585
  value: null,
2590
- raw: deserializeOptionStr(pos + 24),
2586
+ raw: deserializeOptionStr(pos + 32),
2591
2587
  start: (start = deserializeU32(pos)),
2592
2588
  end: (end = deserializeU32(pos + 4)),
2593
2589
  range: [start, end],
2594
2590
  },
2595
- value = deserializeStr(pos + 8);
2596
- deserializeBool(pos + 44) &&
2591
+ value = deserializeStr(pos + 16);
2592
+ deserializeBool(pos + 12) &&
2597
2593
  (value = value.replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))));
2598
2594
  node.value = value;
2599
2595
  return node;
@@ -2605,13 +2601,13 @@ function deserializeBigIntLiteral(pos) {
2605
2601
  node = {
2606
2602
  type: "Literal",
2607
2603
  value: null,
2608
- raw: deserializeOptionStr(pos + 24),
2604
+ raw: deserializeOptionStr(pos + 32),
2609
2605
  bigint: null,
2610
2606
  start: (start = deserializeU32(pos)),
2611
2607
  end: (end = deserializeU32(pos + 4)),
2612
2608
  range: [start, end],
2613
2609
  },
2614
- bigint = deserializeStr(pos + 8);
2610
+ bigint = deserializeStr(pos + 16);
2615
2611
  node.value = BigInt(bigint);
2616
2612
  node.bigint = bigint;
2617
2613
  return node;
@@ -2623,13 +2619,13 @@ function deserializeRegExpLiteral(pos) {
2623
2619
  node = {
2624
2620
  type: "Literal",
2625
2621
  value: null,
2626
- raw: deserializeOptionStr(pos + 40),
2622
+ raw: deserializeOptionStr(pos + 48),
2627
2623
  regex: null,
2628
2624
  start: (start = deserializeU32(pos)),
2629
2625
  end: (end = deserializeU32(pos + 4)),
2630
2626
  range: [start, end],
2631
2627
  },
2632
- regex = deserializeRegExp(pos + 8),
2628
+ regex = deserializeRegExp(pos + 16),
2633
2629
  value = null;
2634
2630
  try {
2635
2631
  value = new RegExp(regex.pattern, regex.flags);
@@ -2673,11 +2669,11 @@ function deserializeJSXElement(pos) {
2673
2669
  end: (end = deserializeU32(pos + 4)),
2674
2670
  range: [start, end],
2675
2671
  },
2676
- closingElement = deserializeOptionBoxJSXClosingElement(pos + 40),
2677
- openingElement = deserializeBoxJSXOpeningElement(pos + 8);
2672
+ closingElement = deserializeOptionBoxJSXClosingElement(pos + 48),
2673
+ openingElement = deserializeBoxJSXOpeningElement(pos + 16);
2678
2674
  closingElement === null && (openingElement.selfClosing = true);
2679
2675
  node.openingElement = openingElement;
2680
- node.children = deserializeVecJSXChild(pos + 16);
2676
+ node.children = deserializeVecJSXChild(pos + 24);
2681
2677
  node.closingElement = closingElement;
2682
2678
  return node;
2683
2679
  }
@@ -2694,8 +2690,8 @@ function deserializeJSXOpeningElement(pos) {
2694
2690
  end: (end = deserializeU32(pos + 4)),
2695
2691
  range: [start, end],
2696
2692
  };
2697
- node.name = deserializeJSXElementName(pos + 8);
2698
- node.attributes = deserializeVecJSXAttributeItem(pos + 32);
2693
+ node.name = deserializeJSXElementName(pos + 16);
2694
+ node.attributes = deserializeVecJSXAttributeItem(pos + 40);
2699
2695
  node.selfClosing = false;
2700
2696
  return node;
2701
2697
  }
@@ -2710,7 +2706,7 @@ function deserializeJSXClosingElement(pos) {
2710
2706
  end: (end = deserializeU32(pos + 4)),
2711
2707
  range: [start, end],
2712
2708
  };
2713
- node.name = deserializeJSXElementName(pos + 8);
2709
+ node.name = deserializeJSXElementName(pos + 16);
2714
2710
  return node;
2715
2711
  }
2716
2712
 
@@ -2726,9 +2722,9 @@ function deserializeJSXFragment(pos) {
2726
2722
  end: (end = deserializeU32(pos + 4)),
2727
2723
  range: [start, end],
2728
2724
  };
2729
- node.openingFragment = deserializeJSXOpeningFragment(pos + 8);
2730
- node.children = deserializeVecJSXChild(pos + 24);
2731
- node.closingFragment = deserializeJSXClosingFragment(pos + 48);
2725
+ node.openingFragment = deserializeJSXOpeningFragment(pos + 16);
2726
+ node.children = deserializeVecJSXChild(pos + 32);
2727
+ node.closingFragment = deserializeJSXClosingFragment(pos + 56);
2732
2728
  return node;
2733
2729
  }
2734
2730
 
@@ -2800,8 +2796,8 @@ function deserializeJSXNamespacedName(pos) {
2800
2796
  end: (end = deserializeU32(pos + 4)),
2801
2797
  range: [start, end],
2802
2798
  };
2803
- node.namespace = deserializeJSXIdentifier(pos + 8);
2804
- node.name = deserializeJSXIdentifier(pos + 40);
2799
+ node.namespace = deserializeJSXIdentifier(pos + 16);
2800
+ node.name = deserializeJSXIdentifier(pos + 48);
2805
2801
  return node;
2806
2802
  }
2807
2803
 
@@ -2816,8 +2812,8 @@ function deserializeJSXMemberExpression(pos) {
2816
2812
  end: (end = deserializeU32(pos + 4)),
2817
2813
  range: [start, end],
2818
2814
  };
2819
- node.object = deserializeJSXMemberExpressionObject(pos + 8);
2820
- node.property = deserializeJSXIdentifier(pos + 24);
2815
+ node.object = deserializeJSXMemberExpressionObject(pos + 16);
2816
+ node.property = deserializeJSXIdentifier(pos + 32);
2821
2817
  return node;
2822
2818
  }
2823
2819
 
@@ -2858,7 +2854,7 @@ function deserializeJSXExpressionContainer(pos) {
2858
2854
  end: (end = deserializeU32(pos + 4)),
2859
2855
  range: [start, end],
2860
2856
  };
2861
- node.expression = deserializeJSXExpression(pos + 8);
2857
+ node.expression = deserializeJSXExpression(pos + 16);
2862
2858
  return node;
2863
2859
  }
2864
2860
 
@@ -2989,8 +2985,8 @@ function deserializeJSXAttribute(pos) {
2989
2985
  end: (end = deserializeU32(pos + 4)),
2990
2986
  range: [start, end],
2991
2987
  };
2992
- node.name = deserializeJSXAttributeName(pos + 8);
2993
- node.value = deserializeOptionJSXAttributeValue(pos + 24);
2988
+ node.name = deserializeJSXAttributeName(pos + 16);
2989
+ node.value = deserializeOptionJSXAttributeValue(pos + 32);
2994
2990
  return node;
2995
2991
  }
2996
2992
 
@@ -3004,7 +3000,7 @@ function deserializeJSXSpreadAttribute(pos) {
3004
3000
  end: (end = deserializeU32(pos + 4)),
3005
3001
  range: [start, end],
3006
3002
  };
3007
- node.argument = deserializeExpression(pos + 8);
3003
+ node.argument = deserializeExpression(pos + 16);
3008
3004
  return node;
3009
3005
  }
3010
3006
 
@@ -3038,7 +3034,7 @@ function deserializeJSXIdentifier(pos) {
3038
3034
  let start, end;
3039
3035
  return {
3040
3036
  type: "JSXIdentifier",
3041
- name: deserializeStr(pos + 8),
3037
+ name: deserializeStr(pos + 16),
3042
3038
  start: (start = deserializeU32(pos)),
3043
3039
  end: (end = deserializeU32(pos + 4)),
3044
3040
  range: [start, end],
@@ -3072,7 +3068,7 @@ function deserializeJSXSpreadChild(pos) {
3072
3068
  end: (end = deserializeU32(pos + 4)),
3073
3069
  range: [start, end],
3074
3070
  };
3075
- node.expression = deserializeExpression(pos + 8);
3071
+ node.expression = deserializeExpression(pos + 16);
3076
3072
  return node;
3077
3073
  }
3078
3074
 
@@ -3080,8 +3076,8 @@ function deserializeJSXText(pos) {
3080
3076
  let start, end;
3081
3077
  return {
3082
3078
  type: "JSXText",
3083
- value: deserializeStr(pos + 8),
3084
- raw: deserializeOptionStr(pos + 24),
3079
+ value: deserializeStr(pos + 16),
3080
+ raw: deserializeOptionStr(pos + 32),
3085
3081
  start: (start = deserializeU32(pos)),
3086
3082
  end: (end = deserializeU32(pos + 4)),
3087
3083
  range: [start, end],
@@ -3104,7 +3100,7 @@ function deserializeTSThisParameter(pos) {
3104
3100
  node.decorators = [];
3105
3101
  node.name = "this";
3106
3102
  node.optional = false;
3107
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 16);
3103
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3108
3104
  return node;
3109
3105
  }
3110
3106
 
@@ -3115,14 +3111,14 @@ function deserializeTSEnumDeclaration(pos) {
3115
3111
  type: "TSEnumDeclaration",
3116
3112
  id: null,
3117
3113
  body: null,
3118
- const: deserializeBool(pos + 84),
3119
- declare: deserializeBool(pos + 85),
3114
+ const: deserializeBool(pos + 12),
3115
+ declare: deserializeBool(pos + 13),
3120
3116
  start: (start = deserializeU32(pos)),
3121
3117
  end: (end = deserializeU32(pos + 4)),
3122
3118
  range: [start, end],
3123
3119
  };
3124
- node.id = deserializeBindingIdentifier(pos + 8);
3125
- node.body = deserializeTSEnumBody(pos + 40);
3120
+ node.id = deserializeBindingIdentifier(pos + 16);
3121
+ node.body = deserializeTSEnumBody(pos + 48);
3126
3122
  return node;
3127
3123
  }
3128
3124
 
@@ -3136,7 +3132,7 @@ function deserializeTSEnumBody(pos) {
3136
3132
  end: (end = deserializeU32(pos + 4)),
3137
3133
  range: [start, end],
3138
3134
  };
3139
- node.members = deserializeVecTSEnumMember(pos + 8);
3135
+ node.members = deserializeVecTSEnumMember(pos + 16);
3140
3136
  return node;
3141
3137
  }
3142
3138
 
@@ -3152,9 +3148,9 @@ function deserializeTSEnumMember(pos) {
3152
3148
  end: (end = deserializeU32(pos + 4)),
3153
3149
  range: [start, end],
3154
3150
  };
3155
- node.id = deserializeTSEnumMemberName(pos + 8);
3156
- node.initializer = deserializeOptionExpression(pos + 24);
3157
- node.computed = deserializeU8(pos + 8) > 1;
3151
+ node.id = deserializeTSEnumMemberName(pos + 16);
3152
+ node.initializer = deserializeOptionExpression(pos + 32);
3153
+ node.computed = deserializeU8(pos + 16) > 1;
3158
3154
  return node;
3159
3155
  }
3160
3156
 
@@ -3183,7 +3179,7 @@ function deserializeTSTypeAnnotation(pos) {
3183
3179
  end: (end = deserializeU32(pos + 4)),
3184
3180
  range: [start, end],
3185
3181
  };
3186
- node.typeAnnotation = deserializeTSType(pos + 8);
3182
+ node.typeAnnotation = deserializeTSType(pos + 16);
3187
3183
  return node;
3188
3184
  }
3189
3185
 
@@ -3197,7 +3193,7 @@ function deserializeTSLiteralType(pos) {
3197
3193
  end: (end = deserializeU32(pos + 4)),
3198
3194
  range: [start, end],
3199
3195
  };
3200
- node.literal = deserializeTSLiteral(pos + 8);
3196
+ node.literal = deserializeTSLiteral(pos + 16);
3201
3197
  return node;
3202
3198
  }
3203
3199
 
@@ -3314,10 +3310,10 @@ function deserializeTSConditionalType(pos) {
3314
3310
  end: (end = deserializeU32(pos + 4)),
3315
3311
  range: [start, end],
3316
3312
  };
3317
- node.checkType = deserializeTSType(pos + 8);
3318
- node.extendsType = deserializeTSType(pos + 24);
3319
- node.trueType = deserializeTSType(pos + 40);
3320
- node.falseType = deserializeTSType(pos + 56);
3313
+ node.checkType = deserializeTSType(pos + 16);
3314
+ node.extendsType = deserializeTSType(pos + 32);
3315
+ node.trueType = deserializeTSType(pos + 48);
3316
+ node.falseType = deserializeTSType(pos + 64);
3321
3317
  return node;
3322
3318
  }
3323
3319
 
@@ -3331,7 +3327,7 @@ function deserializeTSUnionType(pos) {
3331
3327
  end: (end = deserializeU32(pos + 4)),
3332
3328
  range: [start, end],
3333
3329
  };
3334
- node.types = deserializeVecTSType(pos + 8);
3330
+ node.types = deserializeVecTSType(pos + 16);
3335
3331
  return node;
3336
3332
  }
3337
3333
 
@@ -3345,7 +3341,7 @@ function deserializeTSIntersectionType(pos) {
3345
3341
  end: (end = deserializeU32(pos + 4)),
3346
3342
  range: [start, end],
3347
3343
  };
3348
- node.types = deserializeVecTSType(pos + 8);
3344
+ node.types = deserializeVecTSType(pos + 16);
3349
3345
  return node;
3350
3346
  }
3351
3347
 
@@ -3360,7 +3356,7 @@ function deserializeTSParenthesizedType(pos) {
3360
3356
  end: (end = deserializeU32(pos + 4)),
3361
3357
  range: [start, end],
3362
3358
  };
3363
- node.typeAnnotation = deserializeTSType(pos + 8);
3359
+ node.typeAnnotation = deserializeTSType(pos + 16);
3364
3360
  }
3365
3361
  return node;
3366
3362
  }
@@ -3370,13 +3366,13 @@ function deserializeTSTypeOperator(pos) {
3370
3366
  end,
3371
3367
  node = {
3372
3368
  type: "TSTypeOperator",
3373
- operator: deserializeTSTypeOperatorOperator(pos + 28),
3369
+ operator: deserializeTSTypeOperatorOperator(pos + 12),
3374
3370
  typeAnnotation: null,
3375
3371
  start: (start = deserializeU32(pos)),
3376
3372
  end: (end = deserializeU32(pos + 4)),
3377
3373
  range: [start, end],
3378
3374
  };
3379
- node.typeAnnotation = deserializeTSType(pos + 8);
3375
+ node.typeAnnotation = deserializeTSType(pos + 16);
3380
3376
  return node;
3381
3377
  }
3382
3378
 
@@ -3403,7 +3399,7 @@ function deserializeTSArrayType(pos) {
3403
3399
  end: (end = deserializeU32(pos + 4)),
3404
3400
  range: [start, end],
3405
3401
  };
3406
- node.elementType = deserializeTSType(pos + 8);
3402
+ node.elementType = deserializeTSType(pos + 16);
3407
3403
  return node;
3408
3404
  }
3409
3405
 
@@ -3418,8 +3414,8 @@ function deserializeTSIndexedAccessType(pos) {
3418
3414
  end: (end = deserializeU32(pos + 4)),
3419
3415
  range: [start, end],
3420
3416
  };
3421
- node.objectType = deserializeTSType(pos + 8);
3422
- node.indexType = deserializeTSType(pos + 24);
3417
+ node.objectType = deserializeTSType(pos + 16);
3418
+ node.indexType = deserializeTSType(pos + 32);
3423
3419
  return node;
3424
3420
  }
3425
3421
 
@@ -3433,7 +3429,7 @@ function deserializeTSTupleType(pos) {
3433
3429
  end: (end = deserializeU32(pos + 4)),
3434
3430
  range: [start, end],
3435
3431
  };
3436
- node.elementTypes = deserializeVecTSTupleElement(pos + 8);
3432
+ node.elementTypes = deserializeVecTSTupleElement(pos + 16);
3437
3433
  return node;
3438
3434
  }
3439
3435
 
@@ -3444,13 +3440,13 @@ function deserializeTSNamedTupleMember(pos) {
3444
3440
  type: "TSNamedTupleMember",
3445
3441
  label: null,
3446
3442
  elementType: null,
3447
- optional: deserializeBool(pos + 60),
3443
+ optional: deserializeBool(pos + 12),
3448
3444
  start: (start = deserializeU32(pos)),
3449
3445
  end: (end = deserializeU32(pos + 4)),
3450
3446
  range: [start, end],
3451
3447
  };
3452
- node.label = deserializeIdentifierName(pos + 8);
3453
- node.elementType = deserializeTSTupleElement(pos + 40);
3448
+ node.label = deserializeIdentifierName(pos + 16);
3449
+ node.elementType = deserializeTSTupleElement(pos + 48);
3454
3450
  return node;
3455
3451
  }
3456
3452
 
@@ -3464,7 +3460,7 @@ function deserializeTSOptionalType(pos) {
3464
3460
  end: (end = deserializeU32(pos + 4)),
3465
3461
  range: [start, end],
3466
3462
  };
3467
- node.typeAnnotation = deserializeTSType(pos + 8);
3463
+ node.typeAnnotation = deserializeTSType(pos + 16);
3468
3464
  return node;
3469
3465
  }
3470
3466
 
@@ -3478,7 +3474,7 @@ function deserializeTSRestType(pos) {
3478
3474
  end: (end = deserializeU32(pos + 4)),
3479
3475
  range: [start, end],
3480
3476
  };
3481
- node.typeAnnotation = deserializeTSType(pos + 8);
3477
+ node.typeAnnotation = deserializeTSType(pos + 16);
3482
3478
  return node;
3483
3479
  }
3484
3480
 
@@ -3718,8 +3714,8 @@ function deserializeTSTypeReference(pos) {
3718
3714
  end: (end = deserializeU32(pos + 4)),
3719
3715
  range: [start, end],
3720
3716
  };
3721
- node.typeName = deserializeTSTypeName(pos + 8);
3722
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3717
+ node.typeName = deserializeTSTypeName(pos + 16);
3718
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3723
3719
  return node;
3724
3720
  }
3725
3721
 
@@ -3747,8 +3743,8 @@ function deserializeTSQualifiedName(pos) {
3747
3743
  end: (end = deserializeU32(pos + 4)),
3748
3744
  range: [start, end],
3749
3745
  };
3750
- node.left = deserializeTSTypeName(pos + 8);
3751
- node.right = deserializeIdentifierName(pos + 24);
3746
+ node.left = deserializeTSTypeName(pos + 16);
3747
+ node.right = deserializeIdentifierName(pos + 32);
3752
3748
  return node;
3753
3749
  }
3754
3750
 
@@ -3762,7 +3758,7 @@ function deserializeTSTypeParameterInstantiation(pos) {
3762
3758
  end: (end = deserializeU32(pos + 4)),
3763
3759
  range: [start, end],
3764
3760
  };
3765
- node.params = deserializeVecTSType(pos + 8);
3761
+ node.params = deserializeVecTSType(pos + 16);
3766
3762
  return node;
3767
3763
  }
3768
3764
 
@@ -3774,16 +3770,16 @@ function deserializeTSTypeParameter(pos) {
3774
3770
  name: null,
3775
3771
  constraint: null,
3776
3772
  default: null,
3777
- in: deserializeBool(pos + 76),
3778
- out: deserializeBool(pos + 77),
3779
- const: deserializeBool(pos + 78),
3773
+ in: deserializeBool(pos + 12),
3774
+ out: deserializeBool(pos + 13),
3775
+ const: deserializeBool(pos + 14),
3780
3776
  start: (start = deserializeU32(pos)),
3781
3777
  end: (end = deserializeU32(pos + 4)),
3782
3778
  range: [start, end],
3783
3779
  };
3784
- node.name = deserializeBindingIdentifier(pos + 8);
3785
- node.constraint = deserializeOptionTSType(pos + 40);
3786
- node.default = deserializeOptionTSType(pos + 56);
3780
+ node.name = deserializeBindingIdentifier(pos + 16);
3781
+ node.constraint = deserializeOptionTSType(pos + 48);
3782
+ node.default = deserializeOptionTSType(pos + 64);
3787
3783
  return node;
3788
3784
  }
3789
3785
 
@@ -3797,7 +3793,7 @@ function deserializeTSTypeParameterDeclaration(pos) {
3797
3793
  end: (end = deserializeU32(pos + 4)),
3798
3794
  range: [start, end],
3799
3795
  };
3800
- node.params = deserializeVecTSTypeParameter(pos + 8);
3796
+ node.params = deserializeVecTSTypeParameter(pos + 16);
3801
3797
  return node;
3802
3798
  }
3803
3799
 
@@ -3814,9 +3810,9 @@ function deserializeTSTypeAliasDeclaration(pos) {
3814
3810
  end: (end = deserializeU32(pos + 4)),
3815
3811
  range: [start, end],
3816
3812
  };
3817
- node.id = deserializeBindingIdentifier(pos + 8);
3818
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3819
- node.typeAnnotation = deserializeTSType(pos + 48);
3813
+ node.id = deserializeBindingIdentifier(pos + 16);
3814
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3815
+ node.typeAnnotation = deserializeTSType(pos + 56);
3820
3816
  return node;
3821
3817
  }
3822
3818
 
@@ -3834,10 +3830,10 @@ function deserializeTSInterfaceDeclaration(pos) {
3834
3830
  end: (end = deserializeU32(pos + 4)),
3835
3831
  range: [start, end],
3836
3832
  };
3837
- node.id = deserializeBindingIdentifier(pos + 8);
3838
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3839
- node.extends = deserializeVecTSInterfaceHeritage(pos + 48);
3840
- node.body = deserializeBoxTSInterfaceBody(pos + 72);
3833
+ node.id = deserializeBindingIdentifier(pos + 16);
3834
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3835
+ node.extends = deserializeVecTSInterfaceHeritage(pos + 56);
3836
+ node.body = deserializeBoxTSInterfaceBody(pos + 80);
3841
3837
  return node;
3842
3838
  }
3843
3839
 
@@ -3851,7 +3847,7 @@ function deserializeTSInterfaceBody(pos) {
3851
3847
  end: (end = deserializeU32(pos + 4)),
3852
3848
  range: [start, end],
3853
3849
  };
3854
- node.body = deserializeVecTSSignature(pos + 8);
3850
+ node.body = deserializeVecTSSignature(pos + 16);
3855
3851
  return node;
3856
3852
  }
3857
3853
 
@@ -3860,9 +3856,9 @@ function deserializeTSPropertySignature(pos) {
3860
3856
  end,
3861
3857
  node = {
3862
3858
  type: "TSPropertySignature",
3863
- computed: deserializeBool(pos + 36),
3864
- optional: deserializeBool(pos + 37),
3865
- readonly: deserializeBool(pos + 38),
3859
+ computed: deserializeBool(pos + 12),
3860
+ optional: deserializeBool(pos + 13),
3861
+ readonly: deserializeBool(pos + 14),
3866
3862
  key: null,
3867
3863
  typeAnnotation: null,
3868
3864
  accessibility: null,
@@ -3871,8 +3867,8 @@ function deserializeTSPropertySignature(pos) {
3871
3867
  end: (end = deserializeU32(pos + 4)),
3872
3868
  range: [start, end],
3873
3869
  };
3874
- node.key = deserializePropertyKey(pos + 8);
3875
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3870
+ node.key = deserializePropertyKey(pos + 16);
3871
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3876
3872
  node.static = false;
3877
3873
  return node;
3878
3874
  }
@@ -3901,15 +3897,15 @@ function deserializeTSIndexSignature(pos) {
3901
3897
  type: "TSIndexSignature",
3902
3898
  parameters: null,
3903
3899
  typeAnnotation: null,
3904
- readonly: deserializeBool(pos + 44),
3905
- static: deserializeBool(pos + 45),
3900
+ readonly: deserializeBool(pos + 12),
3901
+ static: deserializeBool(pos + 13),
3906
3902
  accessibility: null,
3907
3903
  start: (start = deserializeU32(pos)),
3908
3904
  end: (end = deserializeU32(pos + 4)),
3909
3905
  range: [start, end],
3910
3906
  };
3911
- node.parameters = deserializeVecTSIndexSignatureName(pos + 8);
3912
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3907
+ node.parameters = deserializeVecTSIndexSignatureName(pos + 16);
3908
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 40);
3913
3909
  return node;
3914
3910
  }
3915
3911
 
@@ -3925,12 +3921,12 @@ function deserializeTSCallSignatureDeclaration(pos) {
3925
3921
  end: (end = deserializeU32(pos + 4)),
3926
3922
  range: [start, end],
3927
3923
  },
3928
- params = deserializeBoxFormalParameters(pos + 24),
3929
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
3924
+ params = deserializeBoxFormalParameters(pos + 32),
3925
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
3930
3926
  thisParam !== null && params.unshift(thisParam);
3931
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3927
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3932
3928
  node.params = params;
3933
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3929
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 40);
3934
3930
  return node;
3935
3931
  }
3936
3932
 
@@ -3966,13 +3962,13 @@ function deserializeTSMethodSignature(pos) {
3966
3962
  end: (end = deserializeU32(pos + 4)),
3967
3963
  range: [start, end],
3968
3964
  },
3969
- params = deserializeBoxFormalParameters(pos + 40),
3970
- thisParam = deserializeOptionBoxTSThisParameter(pos + 32);
3965
+ params = deserializeBoxFormalParameters(pos + 48),
3966
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 40);
3971
3967
  thisParam !== null && params.unshift(thisParam);
3972
- node.key = deserializePropertyKey(pos + 8);
3973
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 24);
3968
+ node.key = deserializePropertyKey(pos + 16);
3969
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 32);
3974
3970
  node.params = params;
3975
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 48);
3971
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 56);
3976
3972
  node.readonly = false;
3977
3973
  node.static = false;
3978
3974
  return node;
@@ -3990,9 +3986,9 @@ function deserializeTSConstructSignatureDeclaration(pos) {
3990
3986
  end: (end = deserializeU32(pos + 4)),
3991
3987
  range: [start, end],
3992
3988
  };
3993
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3994
- node.params = deserializeBoxFormalParameters(pos + 16);
3995
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3989
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3990
+ node.params = deserializeBoxFormalParameters(pos + 24);
3991
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3996
3992
  return node;
3997
3993
  }
3998
3994
 
@@ -4002,7 +3998,7 @@ function deserializeTSIndexSignatureName(pos) {
4002
3998
  node = {
4003
3999
  type: "Identifier",
4004
4000
  decorators: null,
4005
- name: deserializeStr(pos + 8),
4001
+ name: deserializeStr(pos + 16),
4006
4002
  optional: null,
4007
4003
  typeAnnotation: null,
4008
4004
  start: (start = deserializeU32(pos)),
@@ -4011,7 +4007,7 @@ function deserializeTSIndexSignatureName(pos) {
4011
4007
  };
4012
4008
  node.decorators = [];
4013
4009
  node.optional = false;
4014
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 24);
4010
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
4015
4011
  return node;
4016
4012
  }
4017
4013
 
@@ -4026,8 +4022,8 @@ function deserializeTSInterfaceHeritage(pos) {
4026
4022
  end: (end = deserializeU32(pos + 4)),
4027
4023
  range: [start, end],
4028
4024
  };
4029
- node.expression = deserializeExpression(pos + 8);
4030
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4025
+ node.expression = deserializeExpression(pos + 16);
4026
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4031
4027
  return node;
4032
4028
  }
4033
4029
 
@@ -4037,14 +4033,14 @@ function deserializeTSTypePredicate(pos) {
4037
4033
  node = {
4038
4034
  type: "TSTypePredicate",
4039
4035
  parameterName: null,
4040
- asserts: deserializeBool(pos + 44),
4036
+ asserts: deserializeBool(pos + 12),
4041
4037
  typeAnnotation: null,
4042
4038
  start: (start = deserializeU32(pos)),
4043
4039
  end: (end = deserializeU32(pos + 4)),
4044
4040
  range: [start, end],
4045
4041
  };
4046
- node.parameterName = deserializeTSTypePredicateName(pos + 8);
4047
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
4042
+ node.parameterName = deserializeTSTypePredicateName(pos + 16);
4043
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 40);
4048
4044
  return node;
4049
4045
  }
4050
4046
 
@@ -4065,7 +4061,7 @@ function deserializeTSModuleDeclaration(pos) {
4065
4061
  end = deserializeU32(pos + 4),
4066
4062
  declare = deserializeBool(pos + 89),
4067
4063
  node,
4068
- body = deserializeOptionTSModuleDeclarationBody(pos + 64);
4064
+ body = deserializeOptionTSModuleDeclarationBody(pos + 72);
4069
4065
  if (body === null) {
4070
4066
  node = {
4071
4067
  type: "TSModuleDeclaration",
@@ -4077,7 +4073,7 @@ function deserializeTSModuleDeclaration(pos) {
4077
4073
  end,
4078
4074
  range: [start, end],
4079
4075
  };
4080
- node.id = deserializeTSModuleDeclarationName(pos + 8);
4076
+ node.id = deserializeTSModuleDeclarationName(pos + 16);
4081
4077
  } else {
4082
4078
  node = {
4083
4079
  type: "TSModuleDeclaration",
@@ -4090,7 +4086,7 @@ function deserializeTSModuleDeclaration(pos) {
4090
4086
  end,
4091
4087
  range: [start, end],
4092
4088
  };
4093
- let id = deserializeTSModuleDeclarationName(pos + 8);
4089
+ let id = deserializeTSModuleDeclarationName(pos + 16);
4094
4090
  if (body.type === "TSModuleBlock") node.id = id;
4095
4091
  else {
4096
4092
  let innerId = body.id;
@@ -4186,11 +4182,11 @@ function deserializeTSGlobalDeclaration(pos) {
4186
4182
  node.id = {
4187
4183
  type: "Identifier",
4188
4184
  name: "global",
4189
- start: (keywordStart = deserializeU32(pos + 8)),
4190
- end: (keywordEnd = deserializeU32(pos + 12)),
4185
+ start: (keywordStart = deserializeU32(pos + 16)),
4186
+ end: (keywordEnd = deserializeU32(pos + 20)),
4191
4187
  range: [keywordStart, keywordEnd],
4192
4188
  };
4193
- node.body = deserializeTSModuleBlock(pos + 16);
4189
+ node.body = deserializeTSModuleBlock(pos + 24);
4194
4190
  node.kind = "global";
4195
4191
  node.global = true;
4196
4192
  return node;
@@ -4206,8 +4202,8 @@ function deserializeTSModuleBlock(pos) {
4206
4202
  end: (end = deserializeU32(pos + 4)),
4207
4203
  range: [start, end],
4208
4204
  },
4209
- body = deserializeVecDirective(pos + 8);
4210
- body.push(...deserializeVecStatement(pos + 32));
4205
+ body = deserializeVecDirective(pos + 16);
4206
+ body.push(...deserializeVecStatement(pos + 40));
4211
4207
  node.body = body;
4212
4208
  return node;
4213
4209
  }
@@ -4222,7 +4218,7 @@ function deserializeTSTypeLiteral(pos) {
4222
4218
  end: (end = deserializeU32(pos + 4)),
4223
4219
  range: [start, end],
4224
4220
  };
4225
- node.members = deserializeVecTSSignature(pos + 8);
4221
+ node.members = deserializeVecTSSignature(pos + 16);
4226
4222
  return node;
4227
4223
  }
4228
4224
 
@@ -4236,7 +4232,7 @@ function deserializeTSInferType(pos) {
4236
4232
  end: (end = deserializeU32(pos + 4)),
4237
4233
  range: [start, end],
4238
4234
  };
4239
- node.typeParameter = deserializeBoxTSTypeParameter(pos + 8);
4235
+ node.typeParameter = deserializeBoxTSTypeParameter(pos + 16);
4240
4236
  return node;
4241
4237
  }
4242
4238
 
@@ -4251,8 +4247,8 @@ function deserializeTSTypeQuery(pos) {
4251
4247
  end: (end = deserializeU32(pos + 4)),
4252
4248
  range: [start, end],
4253
4249
  };
4254
- node.exprName = deserializeTSTypeQueryExprName(pos + 8);
4255
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4250
+ node.exprName = deserializeTSTypeQueryExprName(pos + 16);
4251
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4256
4252
  return node;
4257
4253
  }
4258
4254
 
@@ -4284,10 +4280,10 @@ function deserializeTSImportType(pos) {
4284
4280
  end: (end = deserializeU32(pos + 4)),
4285
4281
  range: [start, end],
4286
4282
  };
4287
- node.source = deserializeStringLiteral(pos + 8);
4288
- node.options = deserializeOptionBoxObjectExpression(pos + 56);
4289
- node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 64);
4290
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 80);
4283
+ node.source = deserializeStringLiteral(pos + 16);
4284
+ node.options = deserializeOptionBoxObjectExpression(pos + 64);
4285
+ node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 72);
4286
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 88);
4291
4287
  return node;
4292
4288
  }
4293
4289
 
@@ -4313,8 +4309,8 @@ function deserializeTSImportTypeQualifiedName(pos) {
4313
4309
  end: (end = deserializeU32(pos + 4)),
4314
4310
  range: [start, end],
4315
4311
  };
4316
- node.left = deserializeTSImportTypeQualifier(pos + 8);
4317
- node.right = deserializeIdentifierName(pos + 24);
4312
+ node.left = deserializeTSImportTypeQualifier(pos + 16);
4313
+ node.right = deserializeIdentifierName(pos + 32);
4318
4314
  return node;
4319
4315
  }
4320
4316
 
@@ -4330,12 +4326,12 @@ function deserializeTSFunctionType(pos) {
4330
4326
  end: (end = deserializeU32(pos + 4)),
4331
4327
  range: [start, end],
4332
4328
  },
4333
- params = deserializeBoxFormalParameters(pos + 24),
4334
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
4329
+ params = deserializeBoxFormalParameters(pos + 32),
4330
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
4335
4331
  thisParam !== null && params.unshift(thisParam);
4336
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4332
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4337
4333
  node.params = params;
4338
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
4334
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 40);
4339
4335
  return node;
4340
4336
  }
4341
4337
 
@@ -4352,9 +4348,9 @@ function deserializeTSConstructorType(pos) {
4352
4348
  end: (end = deserializeU32(pos + 4)),
4353
4349
  range: [start, end],
4354
4350
  };
4355
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4356
- node.params = deserializeBoxFormalParameters(pos + 16);
4357
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 24);
4351
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4352
+ node.params = deserializeBoxFormalParameters(pos + 24);
4353
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
4358
4354
  return node;
4359
4355
  }
4360
4356
 
@@ -4375,10 +4371,10 @@ function deserializeTSMappedType(pos) {
4375
4371
  },
4376
4372
  optional = deserializeOptionTSMappedTypeModifierOperator(pos + 96);
4377
4373
  optional === null && (optional = false);
4378
- node.key = deserializeBindingIdentifier(pos + 8);
4379
- node.constraint = deserializeTSType(pos + 40);
4380
- node.nameType = deserializeOptionTSType(pos + 56);
4381
- node.typeAnnotation = deserializeOptionTSType(pos + 72);
4374
+ node.key = deserializeBindingIdentifier(pos + 16);
4375
+ node.constraint = deserializeTSType(pos + 48);
4376
+ node.nameType = deserializeOptionTSType(pos + 64);
4377
+ node.typeAnnotation = deserializeOptionTSType(pos + 80);
4382
4378
  node.optional = optional;
4383
4379
  return node;
4384
4380
  }
@@ -4407,8 +4403,8 @@ function deserializeTSTemplateLiteralType(pos) {
4407
4403
  end: (end = deserializeU32(pos + 4)),
4408
4404
  range: [start, end],
4409
4405
  };
4410
- node.quasis = deserializeVecTemplateElement(pos + 8);
4411
- node.types = deserializeVecTSType(pos + 32);
4406
+ node.quasis = deserializeVecTemplateElement(pos + 16);
4407
+ node.types = deserializeVecTSType(pos + 40);
4412
4408
  return node;
4413
4409
  }
4414
4410
 
@@ -4423,8 +4419,8 @@ function deserializeTSAsExpression(pos) {
4423
4419
  end: (end = deserializeU32(pos + 4)),
4424
4420
  range: [start, end],
4425
4421
  };
4426
- node.expression = deserializeExpression(pos + 8);
4427
- node.typeAnnotation = deserializeTSType(pos + 24);
4422
+ node.expression = deserializeExpression(pos + 16);
4423
+ node.typeAnnotation = deserializeTSType(pos + 32);
4428
4424
  return node;
4429
4425
  }
4430
4426
 
@@ -4439,8 +4435,8 @@ function deserializeTSSatisfiesExpression(pos) {
4439
4435
  end: (end = deserializeU32(pos + 4)),
4440
4436
  range: [start, end],
4441
4437
  };
4442
- node.expression = deserializeExpression(pos + 8);
4443
- node.typeAnnotation = deserializeTSType(pos + 24);
4438
+ node.expression = deserializeExpression(pos + 16);
4439
+ node.typeAnnotation = deserializeTSType(pos + 32);
4444
4440
  return node;
4445
4441
  }
4446
4442
 
@@ -4455,8 +4451,8 @@ function deserializeTSTypeAssertion(pos) {
4455
4451
  end: (end = deserializeU32(pos + 4)),
4456
4452
  range: [start, end],
4457
4453
  };
4458
- node.typeAnnotation = deserializeTSType(pos + 8);
4459
- node.expression = deserializeExpression(pos + 24);
4454
+ node.typeAnnotation = deserializeTSType(pos + 16);
4455
+ node.expression = deserializeExpression(pos + 32);
4460
4456
  return node;
4461
4457
  }
4462
4458
 
@@ -4467,13 +4463,13 @@ function deserializeTSImportEqualsDeclaration(pos) {
4467
4463
  type: "TSImportEqualsDeclaration",
4468
4464
  id: null,
4469
4465
  moduleReference: null,
4470
- importKind: deserializeImportOrExportKind(pos + 60),
4466
+ importKind: deserializeImportOrExportKind(pos + 12),
4471
4467
  start: (start = deserializeU32(pos)),
4472
4468
  end: (end = deserializeU32(pos + 4)),
4473
4469
  range: [start, end],
4474
4470
  };
4475
- node.id = deserializeBindingIdentifier(pos + 8);
4476
- node.moduleReference = deserializeTSModuleReference(pos + 40);
4471
+ node.id = deserializeBindingIdentifier(pos + 16);
4472
+ node.moduleReference = deserializeTSModuleReference(pos + 48);
4477
4473
  return node;
4478
4474
  }
4479
4475
 
@@ -4500,7 +4496,7 @@ function deserializeTSExternalModuleReference(pos) {
4500
4496
  end: (end = deserializeU32(pos + 4)),
4501
4497
  range: [start, end],
4502
4498
  };
4503
- node.expression = deserializeStringLiteral(pos + 8);
4499
+ node.expression = deserializeStringLiteral(pos + 16);
4504
4500
  return node;
4505
4501
  }
4506
4502
 
@@ -4514,7 +4510,7 @@ function deserializeTSNonNullExpression(pos) {
4514
4510
  end: (end = deserializeU32(pos + 4)),
4515
4511
  range: [start, end],
4516
4512
  };
4517
- node.expression = deserializeExpression(pos + 8);
4513
+ node.expression = deserializeExpression(pos + 16);
4518
4514
  return node;
4519
4515
  }
4520
4516
 
@@ -4528,7 +4524,7 @@ function deserializeDecorator(pos) {
4528
4524
  end: (end = deserializeU32(pos + 4)),
4529
4525
  range: [start, end],
4530
4526
  };
4531
- node.expression = deserializeExpression(pos + 8);
4527
+ node.expression = deserializeExpression(pos + 16);
4532
4528
  return node;
4533
4529
  }
4534
4530
 
@@ -4542,7 +4538,7 @@ function deserializeTSExportAssignment(pos) {
4542
4538
  end: (end = deserializeU32(pos + 4)),
4543
4539
  range: [start, end],
4544
4540
  };
4545
- node.expression = deserializeExpression(pos + 8);
4541
+ node.expression = deserializeExpression(pos + 16);
4546
4542
  return node;
4547
4543
  }
4548
4544
 
@@ -4556,7 +4552,7 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4556
4552
  end: (end = deserializeU32(pos + 4)),
4557
4553
  range: [start, end],
4558
4554
  };
4559
- node.id = deserializeIdentifierName(pos + 8);
4555
+ node.id = deserializeIdentifierName(pos + 16);
4560
4556
  return node;
4561
4557
  }
4562
4558
 
@@ -4571,8 +4567,8 @@ function deserializeTSInstantiationExpression(pos) {
4571
4567
  end: (end = deserializeU32(pos + 4)),
4572
4568
  range: [start, end],
4573
4569
  };
4574
- node.expression = deserializeExpression(pos + 8);
4575
- node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 24);
4570
+ node.expression = deserializeExpression(pos + 16);
4571
+ node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 32);
4576
4572
  return node;
4577
4573
  }
4578
4574
 
@@ -4593,12 +4589,12 @@ function deserializeJSDocNullableType(pos) {
4593
4589
  node = {
4594
4590
  type: "TSJSDocNullableType",
4595
4591
  typeAnnotation: null,
4596
- postfix: deserializeBool(pos + 28),
4592
+ postfix: deserializeBool(pos + 12),
4597
4593
  start: (start = deserializeU32(pos)),
4598
4594
  end: (end = deserializeU32(pos + 4)),
4599
4595
  range: [start, end],
4600
4596
  };
4601
- node.typeAnnotation = deserializeTSType(pos + 8);
4597
+ node.typeAnnotation = deserializeTSType(pos + 16);
4602
4598
  return node;
4603
4599
  }
4604
4600
 
@@ -4608,12 +4604,12 @@ function deserializeJSDocNonNullableType(pos) {
4608
4604
  node = {
4609
4605
  type: "TSJSDocNonNullableType",
4610
4606
  typeAnnotation: null,
4611
- postfix: deserializeBool(pos + 28),
4607
+ postfix: deserializeBool(pos + 12),
4612
4608
  start: (start = deserializeU32(pos)),
4613
4609
  end: (end = deserializeU32(pos + 4)),
4614
4610
  range: [start, end],
4615
4611
  };
4616
- node.typeAnnotation = deserializeTSType(pos + 8);
4612
+ node.typeAnnotation = deserializeTSType(pos + 16);
4617
4613
  return node;
4618
4614
  }
4619
4615
 
@@ -4653,6 +4649,26 @@ function deserializeComment(pos) {
4653
4649
  };
4654
4650
  }
4655
4651
 
4652
+ function deserializeModuleKind(pos) {
4653
+ switch (uint8[pos]) {
4654
+ case 0:
4655
+ return "script";
4656
+ case 1:
4657
+ return "module";
4658
+ case 3:
4659
+ return "commonjs";
4660
+ default:
4661
+ throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4662
+ }
4663
+ }
4664
+
4665
+ function deserializeSpan(pos) {
4666
+ return {
4667
+ start: deserializeU32(pos),
4668
+ end: deserializeU32(pos + 4),
4669
+ };
4670
+ }
4671
+
4656
4672
  function deserializeNameSpan(pos) {
4657
4673
  let start, end;
4658
4674
  return {
@@ -4969,26 +4985,6 @@ function deserializeUpdateOperator(pos) {
4969
4985
  }
4970
4986
  }
4971
4987
 
4972
- function deserializeSpan(pos) {
4973
- return {
4974
- start: deserializeU32(pos),
4975
- end: deserializeU32(pos + 4),
4976
- };
4977
- }
4978
-
4979
- function deserializeModuleKind(pos) {
4980
- switch (uint8[pos]) {
4981
- case 0:
4982
- return "script";
4983
- case 1:
4984
- return "module";
4985
- case 3:
4986
- return "commonjs";
4987
- default:
4988
- throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4989
- }
4990
- }
4991
-
4992
4988
  function deserializeRawTransferData(pos) {
4993
4989
  return {
4994
4990
  program: deserializeProgram(pos),
@@ -5062,14 +5058,6 @@ function deserializeStaticExport(pos) {
5062
5058
  };
5063
5059
  }
5064
5060
 
5065
- function deserializeU32(pos) {
5066
- return uint32[pos >> 2];
5067
- }
5068
-
5069
- function deserializeU8(pos) {
5070
- return uint8[pos];
5071
- }
5072
-
5073
5061
  function deserializeStr(pos) {
5074
5062
  let pos32 = pos >> 2,
5075
5063
  len = uint32[pos32 + 2];
@@ -5107,7 +5095,7 @@ function deserializeVecComment(pos) {
5107
5095
  }
5108
5096
 
5109
5097
  function deserializeOptionHashbang(pos) {
5110
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5098
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5111
5099
  return deserializeHashbang(pos);
5112
5100
  }
5113
5101
 
@@ -5596,7 +5584,7 @@ function deserializeOptionForStatementInit(pos) {
5596
5584
  }
5597
5585
 
5598
5586
  function deserializeOptionLabelIdentifier(pos) {
5599
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5587
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5600
5588
  return deserializeLabelIdentifier(pos);
5601
5589
  }
5602
5590
 
@@ -5627,7 +5615,7 @@ function deserializeOptionBoxBlockStatement(pos) {
5627
5615
  }
5628
5616
 
5629
5617
  function deserializeOptionCatchParameter(pos) {
5630
- if (uint8[pos + 8] === 4) return null;
5618
+ if (uint8[pos + 16] === 4) return null;
5631
5619
  return deserializeCatchParameter(pos);
5632
5620
  }
5633
5621
 
@@ -5686,7 +5674,7 @@ function deserializeVecOptionBindingPattern(pos) {
5686
5674
  }
5687
5675
 
5688
5676
  function deserializeOptionBindingIdentifier(pos) {
5689
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5677
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5690
5678
  return deserializeBindingIdentifier(pos);
5691
5679
  }
5692
5680
 
@@ -5887,7 +5875,7 @@ function deserializeVecExportSpecifier(pos) {
5887
5875
  }
5888
5876
 
5889
5877
  function deserializeOptionStringLiteral(pos) {
5890
- if (uint8[pos + 44] === 2) return null;
5878
+ if (uint8[pos + 12] === 2) return null;
5891
5879
  return deserializeStringLiteral(pos);
5892
5880
  }
5893
5881
 
@@ -5900,6 +5888,10 @@ function deserializeF64(pos) {
5900
5888
  return float64[pos >> 3];
5901
5889
  }
5902
5890
 
5891
+ function deserializeU8(pos) {
5892
+ return uint8[pos];
5893
+ }
5894
+
5903
5895
  function deserializeBoxJSXOpeningElement(pos) {
5904
5896
  return deserializeJSXOpeningElement(uint32[pos >> 2]);
5905
5897
  }
@@ -6279,6 +6271,10 @@ function deserializeBoxTSExternalModuleReference(pos) {
6279
6271
  return deserializeTSExternalModuleReference(uint32[pos >> 2]);
6280
6272
  }
6281
6273
 
6274
+ function deserializeU32(pos) {
6275
+ return uint32[pos >> 2];
6276
+ }
6277
+
6282
6278
  function deserializeOptionNameSpan(pos) {
6283
6279
  if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
6284
6280
  return deserializeNameSpan(pos);