oxc-parser 0.120.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,9 +39,9 @@ function deserializeProgram(pos) {
39
39
  end,
40
40
  range: [0, end],
41
41
  };
42
- program.hashbang = deserializeOptionHashbang(pos + 48);
43
- let body = (program.body = deserializeVecDirective(pos + 80));
44
- body.push(...deserializeVecStatement(pos + 104));
42
+ program.hashbang = deserializeOptionHashbang(pos + 56);
43
+ let body = (program.body = deserializeVecDirective(pos + 88));
44
+ body.push(...deserializeVecStatement(pos + 112));
45
45
  {
46
46
  let start;
47
47
  if (body.length > 0) {
@@ -163,7 +163,7 @@ function deserializeIdentifierName(pos) {
163
163
  node = {
164
164
  type: "Identifier",
165
165
  decorators: null,
166
- name: deserializeStr(pos + 8),
166
+ name: deserializeStr(pos + 16),
167
167
  optional: null,
168
168
  typeAnnotation: null,
169
169
  start: (start = deserializeU32(pos)),
@@ -181,7 +181,7 @@ function deserializeIdentifierReference(pos) {
181
181
  node = {
182
182
  type: "Identifier",
183
183
  decorators: null,
184
- name: deserializeStr(pos + 8),
184
+ name: deserializeStr(pos + 16),
185
185
  optional: null,
186
186
  typeAnnotation: null,
187
187
  start: (start = deserializeU32(pos)),
@@ -199,7 +199,7 @@ function deserializeBindingIdentifier(pos) {
199
199
  node = {
200
200
  type: "Identifier",
201
201
  decorators: null,
202
- name: deserializeStr(pos + 8),
202
+ name: deserializeStr(pos + 16),
203
203
  optional: null,
204
204
  typeAnnotation: null,
205
205
  start: (start = deserializeU32(pos)),
@@ -217,7 +217,7 @@ function deserializeLabelIdentifier(pos) {
217
217
  node = {
218
218
  type: "Identifier",
219
219
  decorators: null,
220
- name: deserializeStr(pos + 8),
220
+ name: deserializeStr(pos + 16),
221
221
  optional: null,
222
222
  typeAnnotation: null,
223
223
  start: (start = deserializeU32(pos)),
@@ -249,7 +249,7 @@ function deserializeArrayExpression(pos) {
249
249
  end: (end = deserializeU32(pos + 4)),
250
250
  range: [start, end],
251
251
  };
252
- node.elements = deserializeVecArrayExpressionElement(pos + 8);
252
+ node.elements = deserializeVecArrayExpressionElement(pos + 16);
253
253
  return node;
254
254
  }
255
255
 
@@ -364,7 +364,7 @@ function deserializeObjectExpression(pos) {
364
364
  end: (end = deserializeU32(pos + 4)),
365
365
  range: [start, end],
366
366
  };
367
- node.properties = deserializeVecObjectPropertyKind(pos + 8);
367
+ node.properties = deserializeVecObjectPropertyKind(pos + 16);
368
368
  return node;
369
369
  }
370
370
 
@@ -384,19 +384,19 @@ function deserializeObjectProperty(pos) {
384
384
  end,
385
385
  node = {
386
386
  type: "Property",
387
- kind: deserializePropertyKind(pos + 44),
387
+ kind: deserializePropertyKind(pos + 12),
388
388
  key: null,
389
389
  value: null,
390
- method: deserializeBool(pos + 45),
391
- shorthand: deserializeBool(pos + 46),
392
- computed: deserializeBool(pos + 47),
390
+ method: deserializeBool(pos + 13),
391
+ shorthand: deserializeBool(pos + 14),
392
+ computed: deserializeBool(pos + 15),
393
393
  optional: null,
394
394
  start: (start = deserializeU32(pos)),
395
395
  end: (end = deserializeU32(pos + 4)),
396
396
  range: [start, end],
397
397
  };
398
- node.key = deserializePropertyKey(pos + 8);
399
- node.value = deserializeExpression(pos + 24);
398
+ node.key = deserializePropertyKey(pos + 16);
399
+ node.value = deserializeExpression(pos + 32);
400
400
  node.optional = false;
401
401
  return node;
402
402
  }
@@ -522,8 +522,8 @@ function deserializeTemplateLiteral(pos) {
522
522
  end: (end = deserializeU32(pos + 4)),
523
523
  range: [start, end],
524
524
  };
525
- node.quasis = deserializeVecTemplateElement(pos + 8);
526
- node.expressions = deserializeVecExpression(pos + 32);
525
+ node.quasis = deserializeVecTemplateElement(pos + 16);
526
+ node.expressions = deserializeVecExpression(pos + 40);
527
527
  return node;
528
528
  }
529
529
 
@@ -539,19 +539,19 @@ function deserializeTaggedTemplateExpression(pos) {
539
539
  end: (end = deserializeU32(pos + 4)),
540
540
  range: [start, end],
541
541
  };
542
- node.tag = deserializeExpression(pos + 8);
543
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
544
- node.quasi = deserializeTemplateLiteral(pos + 32);
542
+ node.tag = deserializeExpression(pos + 16);
543
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
544
+ node.quasi = deserializeTemplateLiteral(pos + 40);
545
545
  return node;
546
546
  }
547
547
 
548
548
  function deserializeTemplateElement(pos) {
549
- let tail = deserializeBool(pos + 44),
549
+ let tail = deserializeBool(pos + 12),
550
550
  start = deserializeU32(pos) - 1,
551
551
  end = deserializeU32(pos + 4) + 2 - tail,
552
- value = deserializeTemplateElementValue(pos + 8);
552
+ value = deserializeTemplateElementValue(pos + 16);
553
553
  value.cooked !== null &&
554
- deserializeBool(pos + 45) &&
554
+ deserializeBool(pos + 13) &&
555
555
  (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) =>
556
556
  String.fromCodePoint(parseInt(hex, 16)),
557
557
  ));
@@ -579,14 +579,14 @@ function deserializeComputedMemberExpression(pos) {
579
579
  type: "MemberExpression",
580
580
  object: null,
581
581
  property: null,
582
- optional: deserializeBool(pos + 44),
582
+ optional: deserializeBool(pos + 12),
583
583
  computed: null,
584
584
  start: (start = deserializeU32(pos)),
585
585
  end: (end = deserializeU32(pos + 4)),
586
586
  range: [start, end],
587
587
  };
588
- node.object = deserializeExpression(pos + 8);
589
- node.property = deserializeExpression(pos + 24);
588
+ node.object = deserializeExpression(pos + 16);
589
+ node.property = deserializeExpression(pos + 32);
590
590
  node.computed = true;
591
591
  return node;
592
592
  }
@@ -598,14 +598,14 @@ function deserializeStaticMemberExpression(pos) {
598
598
  type: "MemberExpression",
599
599
  object: null,
600
600
  property: null,
601
- optional: deserializeBool(pos + 60),
601
+ optional: deserializeBool(pos + 12),
602
602
  computed: null,
603
603
  start: (start = deserializeU32(pos)),
604
604
  end: (end = deserializeU32(pos + 4)),
605
605
  range: [start, end],
606
606
  };
607
- node.object = deserializeExpression(pos + 8);
608
- node.property = deserializeIdentifierName(pos + 24);
607
+ node.object = deserializeExpression(pos + 16);
608
+ node.property = deserializeIdentifierName(pos + 32);
609
609
  node.computed = false;
610
610
  return node;
611
611
  }
@@ -617,14 +617,14 @@ function deserializePrivateFieldExpression(pos) {
617
617
  type: "MemberExpression",
618
618
  object: null,
619
619
  property: null,
620
- optional: deserializeBool(pos + 60),
620
+ optional: deserializeBool(pos + 12),
621
621
  computed: null,
622
622
  start: (start = deserializeU32(pos)),
623
623
  end: (end = deserializeU32(pos + 4)),
624
624
  range: [start, end],
625
625
  };
626
- node.object = deserializeExpression(pos + 8);
627
- node.property = deserializePrivateIdentifier(pos + 24);
626
+ node.object = deserializeExpression(pos + 16);
627
+ node.property = deserializePrivateIdentifier(pos + 32);
628
628
  node.computed = false;
629
629
  return node;
630
630
  }
@@ -637,14 +637,14 @@ function deserializeCallExpression(pos) {
637
637
  callee: null,
638
638
  typeArguments: null,
639
639
  arguments: null,
640
- optional: deserializeBool(pos + 60),
640
+ optional: deserializeBool(pos + 12),
641
641
  start: (start = deserializeU32(pos)),
642
642
  end: (end = deserializeU32(pos + 4)),
643
643
  range: [start, end],
644
644
  };
645
- node.callee = deserializeExpression(pos + 8);
646
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
647
- node.arguments = deserializeVecArgument(pos + 32);
645
+ node.callee = deserializeExpression(pos + 16);
646
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
647
+ node.arguments = deserializeVecArgument(pos + 40);
648
648
  return node;
649
649
  }
650
650
 
@@ -660,9 +660,9 @@ function deserializeNewExpression(pos) {
660
660
  end: (end = deserializeU32(pos + 4)),
661
661
  range: [start, end],
662
662
  };
663
- node.callee = deserializeExpression(pos + 8);
664
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
665
- node.arguments = deserializeVecArgument(pos + 32);
663
+ node.callee = deserializeExpression(pos + 16);
664
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
665
+ node.arguments = deserializeVecArgument(pos + 40);
666
666
  return node;
667
667
  }
668
668
 
@@ -677,8 +677,8 @@ function deserializeMetaProperty(pos) {
677
677
  end: (end = deserializeU32(pos + 4)),
678
678
  range: [start, end],
679
679
  };
680
- node.meta = deserializeIdentifierName(pos + 8);
681
- node.property = deserializeIdentifierName(pos + 40);
680
+ node.meta = deserializeIdentifierName(pos + 16);
681
+ node.property = deserializeIdentifierName(pos + 48);
682
682
  return node;
683
683
  }
684
684
 
@@ -692,7 +692,7 @@ function deserializeSpreadElement(pos) {
692
692
  end: (end = deserializeU32(pos + 4)),
693
693
  range: [start, end],
694
694
  };
695
- node.argument = deserializeExpression(pos + 8);
695
+ node.argument = deserializeExpression(pos + 16);
696
696
  return node;
697
697
  }
698
698
 
@@ -796,14 +796,14 @@ function deserializeUpdateExpression(pos) {
796
796
  end,
797
797
  node = {
798
798
  type: "UpdateExpression",
799
- operator: deserializeUpdateOperator(pos + 28),
800
- prefix: deserializeBool(pos + 29),
799
+ operator: deserializeUpdateOperator(pos + 12),
800
+ prefix: deserializeBool(pos + 13),
801
801
  argument: null,
802
802
  start: (start = deserializeU32(pos)),
803
803
  end: (end = deserializeU32(pos + 4)),
804
804
  range: [start, end],
805
805
  };
806
- node.argument = deserializeSimpleAssignmentTarget(pos + 8);
806
+ node.argument = deserializeSimpleAssignmentTarget(pos + 16);
807
807
  return node;
808
808
  }
809
809
 
@@ -812,14 +812,14 @@ function deserializeUnaryExpression(pos) {
812
812
  end,
813
813
  node = {
814
814
  type: "UnaryExpression",
815
- operator: deserializeUnaryOperator(pos + 28),
815
+ operator: deserializeUnaryOperator(pos + 12),
816
816
  argument: null,
817
817
  prefix: null,
818
818
  start: (start = deserializeU32(pos)),
819
819
  end: (end = deserializeU32(pos + 4)),
820
820
  range: [start, end],
821
821
  };
822
- node.argument = deserializeExpression(pos + 8);
822
+ node.argument = deserializeExpression(pos + 16);
823
823
  node.prefix = true;
824
824
  return node;
825
825
  }
@@ -830,14 +830,14 @@ function deserializeBinaryExpression(pos) {
830
830
  node = {
831
831
  type: "BinaryExpression",
832
832
  left: null,
833
- operator: deserializeBinaryOperator(pos + 44),
833
+ operator: deserializeBinaryOperator(pos + 12),
834
834
  right: null,
835
835
  start: (start = deserializeU32(pos)),
836
836
  end: (end = deserializeU32(pos + 4)),
837
837
  range: [start, end],
838
838
  };
839
- node.left = deserializeExpression(pos + 8);
840
- node.right = deserializeExpression(pos + 24);
839
+ node.left = deserializeExpression(pos + 16);
840
+ node.right = deserializeExpression(pos + 32);
841
841
  return node;
842
842
  }
843
843
 
@@ -853,9 +853,9 @@ function deserializePrivateInExpression(pos) {
853
853
  end: (end = deserializeU32(pos + 4)),
854
854
  range: [start, end],
855
855
  };
856
- node.left = deserializePrivateIdentifier(pos + 8);
856
+ node.left = deserializePrivateIdentifier(pos + 16);
857
857
  node.operator = "in";
858
- node.right = deserializeExpression(pos + 40);
858
+ node.right = deserializeExpression(pos + 48);
859
859
  return node;
860
860
  }
861
861
 
@@ -865,14 +865,14 @@ function deserializeLogicalExpression(pos) {
865
865
  node = {
866
866
  type: "LogicalExpression",
867
867
  left: null,
868
- operator: deserializeLogicalOperator(pos + 44),
868
+ operator: deserializeLogicalOperator(pos + 12),
869
869
  right: null,
870
870
  start: (start = deserializeU32(pos)),
871
871
  end: (end = deserializeU32(pos + 4)),
872
872
  range: [start, end],
873
873
  };
874
- node.left = deserializeExpression(pos + 8);
875
- node.right = deserializeExpression(pos + 24);
874
+ node.left = deserializeExpression(pos + 16);
875
+ node.right = deserializeExpression(pos + 32);
876
876
  return node;
877
877
  }
878
878
 
@@ -888,9 +888,9 @@ function deserializeConditionalExpression(pos) {
888
888
  end: (end = deserializeU32(pos + 4)),
889
889
  range: [start, end],
890
890
  };
891
- node.test = deserializeExpression(pos + 8);
892
- node.consequent = deserializeExpression(pos + 24);
893
- node.alternate = deserializeExpression(pos + 40);
891
+ node.test = deserializeExpression(pos + 16);
892
+ node.consequent = deserializeExpression(pos + 32);
893
+ node.alternate = deserializeExpression(pos + 48);
894
894
  return node;
895
895
  }
896
896
 
@@ -899,15 +899,15 @@ function deserializeAssignmentExpression(pos) {
899
899
  end,
900
900
  node = {
901
901
  type: "AssignmentExpression",
902
- operator: deserializeAssignmentOperator(pos + 44),
902
+ operator: deserializeAssignmentOperator(pos + 12),
903
903
  left: null,
904
904
  right: null,
905
905
  start: (start = deserializeU32(pos)),
906
906
  end: (end = deserializeU32(pos + 4)),
907
907
  range: [start, end],
908
908
  };
909
- node.left = deserializeAssignmentTarget(pos + 8);
910
- node.right = deserializeExpression(pos + 24);
909
+ node.left = deserializeAssignmentTarget(pos + 16);
910
+ node.right = deserializeExpression(pos + 32);
911
911
  return node;
912
912
  }
913
913
 
@@ -974,8 +974,8 @@ function deserializeArrayAssignmentTarget(pos) {
974
974
  end: (end = deserializeU32(pos + 4)),
975
975
  range: [start, end],
976
976
  },
977
- elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 8),
978
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
977
+ elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 16),
978
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
979
979
  rest !== null && elements.push(rest);
980
980
  node.decorators = [];
981
981
  node.elements = elements;
@@ -996,8 +996,8 @@ function deserializeObjectAssignmentTarget(pos) {
996
996
  end: (end = deserializeU32(pos + 4)),
997
997
  range: [start, end],
998
998
  },
999
- properties = deserializeVecAssignmentTargetProperty(pos + 8),
1000
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
999
+ properties = deserializeVecAssignmentTargetProperty(pos + 16),
1000
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
1001
1001
  rest !== null && properties.push(rest);
1002
1002
  node.decorators = [];
1003
1003
  node.properties = properties;
@@ -1020,7 +1020,7 @@ function deserializeAssignmentTargetRest(pos) {
1020
1020
  range: [start, end],
1021
1021
  };
1022
1022
  node.decorators = [];
1023
- node.argument = deserializeAssignmentTarget(pos + 8);
1023
+ node.argument = deserializeAssignmentTarget(pos + 16);
1024
1024
  node.optional = false;
1025
1025
  return node;
1026
1026
  }
@@ -1069,8 +1069,8 @@ function deserializeAssignmentTargetWithDefault(pos) {
1069
1069
  range: [start, end],
1070
1070
  };
1071
1071
  node.decorators = [];
1072
- node.left = deserializeAssignmentTarget(pos + 8);
1073
- node.right = deserializeExpression(pos + 24);
1072
+ node.left = deserializeAssignmentTarget(pos + 16);
1073
+ node.right = deserializeExpression(pos + 32);
1074
1074
  node.optional = false;
1075
1075
  return node;
1076
1076
  }
@@ -1102,7 +1102,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1102
1102
  end,
1103
1103
  range: [start, end],
1104
1104
  },
1105
- key = deserializeIdentifierReference(pos + 8),
1105
+ key = deserializeIdentifierReference(pos + 16),
1106
1106
  keyStart,
1107
1107
  keyEnd,
1108
1108
  value = {
@@ -1115,7 +1115,7 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
1115
1115
  end: (keyEnd = key.end),
1116
1116
  range: [keyStart, keyEnd],
1117
1117
  },
1118
- init = deserializeOptionExpression(pos + 40);
1118
+ init = deserializeOptionExpression(pos + 48);
1119
1119
  init !== null &&
1120
1120
  (value = {
1121
1121
  type: "AssignmentPattern",
@@ -1148,15 +1148,15 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
1148
1148
  value: null,
1149
1149
  method: null,
1150
1150
  shorthand: null,
1151
- computed: deserializeBool(pos + 44),
1151
+ computed: deserializeBool(pos + 12),
1152
1152
  optional: null,
1153
1153
  start: (start = deserializeU32(pos)),
1154
1154
  end: (end = deserializeU32(pos + 4)),
1155
1155
  range: [start, end],
1156
1156
  };
1157
1157
  node.kind = "init";
1158
- node.key = deserializePropertyKey(pos + 8);
1159
- node.value = deserializeAssignmentTargetMaybeDefault(pos + 24);
1158
+ node.key = deserializePropertyKey(pos + 16);
1159
+ node.value = deserializeAssignmentTargetMaybeDefault(pos + 32);
1160
1160
  node.method = false;
1161
1161
  node.shorthand = false;
1162
1162
  node.optional = false;
@@ -1173,7 +1173,7 @@ function deserializeSequenceExpression(pos) {
1173
1173
  end: (end = deserializeU32(pos + 4)),
1174
1174
  range: [start, end],
1175
1175
  };
1176
- node.expressions = deserializeVecExpression(pos + 8);
1176
+ node.expressions = deserializeVecExpression(pos + 16);
1177
1177
  return node;
1178
1178
  }
1179
1179
 
@@ -1197,7 +1197,7 @@ function deserializeAwaitExpression(pos) {
1197
1197
  end: (end = deserializeU32(pos + 4)),
1198
1198
  range: [start, end],
1199
1199
  };
1200
- node.argument = deserializeExpression(pos + 8);
1200
+ node.argument = deserializeExpression(pos + 16);
1201
1201
  return node;
1202
1202
  }
1203
1203
 
@@ -1211,7 +1211,7 @@ function deserializeChainExpression(pos) {
1211
1211
  end: (end = deserializeU32(pos + 4)),
1212
1212
  range: [start, end],
1213
1213
  };
1214
- node.expression = deserializeChainElement(pos + 8);
1214
+ node.expression = deserializeChainElement(pos + 16);
1215
1215
  return node;
1216
1216
  }
1217
1217
 
@@ -1243,7 +1243,7 @@ function deserializeParenthesizedExpression(pos) {
1243
1243
  end: (end = deserializeU32(pos + 4)),
1244
1244
  range: [start, end],
1245
1245
  };
1246
- node.expression = deserializeExpression(pos + 8);
1246
+ node.expression = deserializeExpression(pos + 16);
1247
1247
  }
1248
1248
  return node;
1249
1249
  }
@@ -1327,12 +1327,12 @@ function deserializeDirective(pos) {
1327
1327
  node = {
1328
1328
  type: "ExpressionStatement",
1329
1329
  expression: null,
1330
- directive: deserializeStr(pos + 56),
1330
+ directive: deserializeStr(pos + 64),
1331
1331
  start: (start = deserializeU32(pos)),
1332
1332
  end: (end = deserializeU32(pos + 4)),
1333
1333
  range: [start, end],
1334
1334
  };
1335
- node.expression = deserializeStringLiteral(pos + 8);
1335
+ node.expression = deserializeStringLiteral(pos + 16);
1336
1336
  return node;
1337
1337
  }
1338
1338
 
@@ -1340,7 +1340,7 @@ function deserializeHashbang(pos) {
1340
1340
  let start, end;
1341
1341
  return {
1342
1342
  type: "Hashbang",
1343
- value: deserializeStr(pos + 8),
1343
+ value: deserializeStr(pos + 16),
1344
1344
  start: (start = deserializeU32(pos)),
1345
1345
  end: (end = deserializeU32(pos + 4)),
1346
1346
  range: [start, end],
@@ -1357,7 +1357,7 @@ function deserializeBlockStatement(pos) {
1357
1357
  end: (end = deserializeU32(pos + 4)),
1358
1358
  range: [start, end],
1359
1359
  };
1360
- node.body = deserializeVecStatement(pos + 8);
1360
+ node.body = deserializeVecStatement(pos + 16);
1361
1361
  return node;
1362
1362
  }
1363
1363
 
@@ -1391,14 +1391,14 @@ function deserializeVariableDeclaration(pos) {
1391
1391
  end,
1392
1392
  node = {
1393
1393
  type: "VariableDeclaration",
1394
- kind: deserializeVariableDeclarationKind(pos + 36),
1394
+ kind: deserializeVariableDeclarationKind(pos + 12),
1395
1395
  declarations: null,
1396
- declare: deserializeBool(pos + 37),
1396
+ declare: deserializeBool(pos + 13),
1397
1397
  start: (start = deserializeU32(pos)),
1398
1398
  end: (end = deserializeU32(pos + 4)),
1399
1399
  range: [start, end],
1400
1400
  };
1401
- node.declarations = deserializeVecVariableDeclarator(pos + 8);
1401
+ node.declarations = deserializeVecVariableDeclarator(pos + 16);
1402
1402
  return node;
1403
1403
  }
1404
1404
 
@@ -1420,27 +1420,28 @@ function deserializeVariableDeclarationKind(pos) {
1420
1420
  }
1421
1421
 
1422
1422
  function deserializeVariableDeclarator(pos) {
1423
- let variableDeclarator = {
1424
- type: "VariableDeclarator",
1425
- id: null,
1426
- init: null,
1427
- definite: false,
1428
- start: deserializeU32(pos),
1429
- end: deserializeU32(pos + 4),
1430
- range: [deserializeU32(pos), deserializeU32(pos + 4)],
1431
- };
1432
- variableDeclarator.id = deserializeBindingPattern(pos + 8);
1423
+ let start,
1424
+ end,
1425
+ node = {
1426
+ type: "VariableDeclarator",
1427
+ id: null,
1428
+ init: null,
1429
+ definite: deserializeBool(pos + 13),
1430
+ start: (start = deserializeU32(pos)),
1431
+ end: (end = deserializeU32(pos + 4)),
1432
+ range: [start, end],
1433
+ },
1434
+ pattern = deserializeBindingPattern(pos + 16);
1433
1435
  {
1434
- let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
1435
- variableDeclarator.id.typeAnnotation = typeAnnotation;
1436
+ let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
1436
1437
  if (typeAnnotation !== null) {
1437
- variableDeclarator.id.end = typeAnnotation.end;
1438
- variableDeclarator.id.range[1] = typeAnnotation.end;
1438
+ pattern.typeAnnotation = typeAnnotation;
1439
+ pattern.range[1] = pattern.end = typeAnnotation.end;
1439
1440
  }
1440
- variableDeclarator.definite = deserializeBool(pos + 53);
1441
1441
  }
1442
- variableDeclarator.init = deserializeOptionExpression(pos + 32);
1443
- return variableDeclarator;
1442
+ node.id = pattern;
1443
+ node.init = deserializeOptionExpression(pos + 40);
1444
+ return node;
1444
1445
  }
1445
1446
 
1446
1447
  function deserializeEmptyStatement(pos) {
@@ -1464,7 +1465,7 @@ function deserializeExpressionStatement(pos) {
1464
1465
  end: (end = deserializeU32(pos + 4)),
1465
1466
  range: [start, end],
1466
1467
  };
1467
- node.expression = deserializeExpression(pos + 8);
1468
+ node.expression = deserializeExpression(pos + 16);
1468
1469
  return node;
1469
1470
  }
1470
1471
 
@@ -1480,9 +1481,9 @@ function deserializeIfStatement(pos) {
1480
1481
  end: (end = deserializeU32(pos + 4)),
1481
1482
  range: [start, end],
1482
1483
  };
1483
- node.test = deserializeExpression(pos + 8);
1484
- node.consequent = deserializeStatement(pos + 24);
1485
- node.alternate = deserializeOptionStatement(pos + 40);
1484
+ node.test = deserializeExpression(pos + 16);
1485
+ node.consequent = deserializeStatement(pos + 32);
1486
+ node.alternate = deserializeOptionStatement(pos + 48);
1486
1487
  return node;
1487
1488
  }
1488
1489
 
@@ -1497,8 +1498,8 @@ function deserializeDoWhileStatement(pos) {
1497
1498
  end: (end = deserializeU32(pos + 4)),
1498
1499
  range: [start, end],
1499
1500
  };
1500
- node.body = deserializeStatement(pos + 8);
1501
- node.test = deserializeExpression(pos + 24);
1501
+ node.body = deserializeStatement(pos + 16);
1502
+ node.test = deserializeExpression(pos + 32);
1502
1503
  return node;
1503
1504
  }
1504
1505
 
@@ -1513,8 +1514,8 @@ function deserializeWhileStatement(pos) {
1513
1514
  end: (end = deserializeU32(pos + 4)),
1514
1515
  range: [start, end],
1515
1516
  };
1516
- node.test = deserializeExpression(pos + 8);
1517
- node.body = deserializeStatement(pos + 24);
1517
+ node.test = deserializeExpression(pos + 16);
1518
+ node.body = deserializeStatement(pos + 32);
1518
1519
  return node;
1519
1520
  }
1520
1521
 
@@ -1531,10 +1532,10 @@ function deserializeForStatement(pos) {
1531
1532
  end: (end = deserializeU32(pos + 4)),
1532
1533
  range: [start, end],
1533
1534
  };
1534
- node.init = deserializeOptionForStatementInit(pos + 8);
1535
- node.test = deserializeOptionExpression(pos + 24);
1536
- node.update = deserializeOptionExpression(pos + 40);
1537
- node.body = deserializeStatement(pos + 56);
1535
+ node.init = deserializeOptionForStatementInit(pos + 16);
1536
+ node.test = deserializeOptionExpression(pos + 32);
1537
+ node.update = deserializeOptionExpression(pos + 48);
1538
+ node.body = deserializeStatement(pos + 64);
1538
1539
  return node;
1539
1540
  }
1540
1541
 
@@ -1645,9 +1646,9 @@ function deserializeForInStatement(pos) {
1645
1646
  end: (end = deserializeU32(pos + 4)),
1646
1647
  range: [start, end],
1647
1648
  };
1648
- node.left = deserializeForStatementLeft(pos + 8);
1649
- node.right = deserializeExpression(pos + 24);
1650
- node.body = deserializeStatement(pos + 40);
1649
+ node.left = deserializeForStatementLeft(pos + 16);
1650
+ node.right = deserializeExpression(pos + 32);
1651
+ node.body = deserializeStatement(pos + 48);
1651
1652
  return node;
1652
1653
  }
1653
1654
 
@@ -1693,9 +1694,9 @@ function deserializeForOfStatement(pos) {
1693
1694
  end: (end = deserializeU32(pos + 4)),
1694
1695
  range: [start, end],
1695
1696
  };
1696
- node.left = deserializeForStatementLeft(pos + 8);
1697
- node.right = deserializeExpression(pos + 24);
1698
- node.body = deserializeStatement(pos + 40);
1697
+ node.left = deserializeForStatementLeft(pos + 16);
1698
+ node.right = deserializeExpression(pos + 32);
1699
+ node.body = deserializeStatement(pos + 48);
1699
1700
  return node;
1700
1701
  }
1701
1702
 
@@ -1709,7 +1710,7 @@ function deserializeContinueStatement(pos) {
1709
1710
  end: (end = deserializeU32(pos + 4)),
1710
1711
  range: [start, end],
1711
1712
  };
1712
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1713
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1713
1714
  return node;
1714
1715
  }
1715
1716
 
@@ -1723,7 +1724,7 @@ function deserializeBreakStatement(pos) {
1723
1724
  end: (end = deserializeU32(pos + 4)),
1724
1725
  range: [start, end],
1725
1726
  };
1726
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1727
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1727
1728
  return node;
1728
1729
  }
1729
1730
 
@@ -1737,7 +1738,7 @@ function deserializeReturnStatement(pos) {
1737
1738
  end: (end = deserializeU32(pos + 4)),
1738
1739
  range: [start, end],
1739
1740
  };
1740
- node.argument = deserializeOptionExpression(pos + 8);
1741
+ node.argument = deserializeOptionExpression(pos + 16);
1741
1742
  return node;
1742
1743
  }
1743
1744
 
@@ -1752,8 +1753,8 @@ function deserializeWithStatement(pos) {
1752
1753
  end: (end = deserializeU32(pos + 4)),
1753
1754
  range: [start, end],
1754
1755
  };
1755
- node.object = deserializeExpression(pos + 8);
1756
- node.body = deserializeStatement(pos + 24);
1756
+ node.object = deserializeExpression(pos + 16);
1757
+ node.body = deserializeStatement(pos + 32);
1757
1758
  return node;
1758
1759
  }
1759
1760
 
@@ -1768,8 +1769,8 @@ function deserializeSwitchStatement(pos) {
1768
1769
  end: (end = deserializeU32(pos + 4)),
1769
1770
  range: [start, end],
1770
1771
  };
1771
- node.discriminant = deserializeExpression(pos + 8);
1772
- node.cases = deserializeVecSwitchCase(pos + 24);
1772
+ node.discriminant = deserializeExpression(pos + 16);
1773
+ node.cases = deserializeVecSwitchCase(pos + 32);
1773
1774
  return node;
1774
1775
  }
1775
1776
 
@@ -1784,8 +1785,8 @@ function deserializeSwitchCase(pos) {
1784
1785
  end: (end = deserializeU32(pos + 4)),
1785
1786
  range: [start, end],
1786
1787
  };
1787
- node.test = deserializeOptionExpression(pos + 8);
1788
- node.consequent = deserializeVecStatement(pos + 24);
1788
+ node.test = deserializeOptionExpression(pos + 16);
1789
+ node.consequent = deserializeVecStatement(pos + 32);
1789
1790
  return node;
1790
1791
  }
1791
1792
 
@@ -1800,8 +1801,8 @@ function deserializeLabeledStatement(pos) {
1800
1801
  end: (end = deserializeU32(pos + 4)),
1801
1802
  range: [start, end],
1802
1803
  };
1803
- node.label = deserializeLabelIdentifier(pos + 8);
1804
- node.body = deserializeStatement(pos + 40);
1804
+ node.label = deserializeLabelIdentifier(pos + 16);
1805
+ node.body = deserializeStatement(pos + 48);
1805
1806
  return node;
1806
1807
  }
1807
1808
 
@@ -1815,7 +1816,7 @@ function deserializeThrowStatement(pos) {
1815
1816
  end: (end = deserializeU32(pos + 4)),
1816
1817
  range: [start, end],
1817
1818
  };
1818
- node.argument = deserializeExpression(pos + 8);
1819
+ node.argument = deserializeExpression(pos + 16);
1819
1820
  return node;
1820
1821
  }
1821
1822
 
@@ -1831,9 +1832,9 @@ function deserializeTryStatement(pos) {
1831
1832
  end: (end = deserializeU32(pos + 4)),
1832
1833
  range: [start, end],
1833
1834
  };
1834
- node.block = deserializeBoxBlockStatement(pos + 8);
1835
- node.handler = deserializeOptionBoxCatchClause(pos + 16);
1836
- node.finalizer = deserializeOptionBoxBlockStatement(pos + 24);
1835
+ node.block = deserializeBoxBlockStatement(pos + 16);
1836
+ node.handler = deserializeOptionBoxCatchClause(pos + 24);
1837
+ node.finalizer = deserializeOptionBoxBlockStatement(pos + 32);
1837
1838
  return node;
1838
1839
  }
1839
1840
 
@@ -1848,15 +1849,15 @@ function deserializeCatchClause(pos) {
1848
1849
  end: (end = deserializeU32(pos + 4)),
1849
1850
  range: [start, end],
1850
1851
  };
1851
- node.param = deserializeOptionCatchParameter(pos + 8);
1852
- node.body = deserializeBoxBlockStatement(pos + 48);
1852
+ node.param = deserializeOptionCatchParameter(pos + 16);
1853
+ node.body = deserializeBoxBlockStatement(pos + 56);
1853
1854
  return node;
1854
1855
  }
1855
1856
 
1856
1857
  function deserializeCatchParameter(pos) {
1857
- let pattern = deserializeBindingPattern(pos + 8);
1858
+ let pattern = deserializeBindingPattern(pos + 16);
1858
1859
  {
1859
- let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
1860
+ let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
1860
1861
  pattern.typeAnnotation = typeAnnotation;
1861
1862
  if (typeAnnotation !== null) {
1862
1863
  pattern.end = typeAnnotation.end;
@@ -1906,8 +1907,8 @@ function deserializeAssignmentPattern(pos) {
1906
1907
  range: [start, end],
1907
1908
  };
1908
1909
  node.decorators = [];
1909
- node.left = deserializeBindingPattern(pos + 8);
1910
- node.right = deserializeExpression(pos + 24);
1910
+ node.left = deserializeBindingPattern(pos + 16);
1911
+ node.right = deserializeExpression(pos + 32);
1911
1912
  node.optional = false;
1912
1913
  return node;
1913
1914
  }
@@ -1925,8 +1926,8 @@ function deserializeObjectPattern(pos) {
1925
1926
  end: (end = deserializeU32(pos + 4)),
1926
1927
  range: [start, end],
1927
1928
  },
1928
- properties = deserializeVecBindingProperty(pos + 8),
1929
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1929
+ properties = deserializeVecBindingProperty(pos + 16),
1930
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1930
1931
  rest !== null && properties.push(rest);
1931
1932
  node.decorators = [];
1932
1933
  node.properties = properties;
@@ -1943,16 +1944,16 @@ function deserializeBindingProperty(pos) {
1943
1944
  key: null,
1944
1945
  value: null,
1945
1946
  method: null,
1946
- shorthand: deserializeBool(pos + 44),
1947
- computed: deserializeBool(pos + 45),
1947
+ shorthand: deserializeBool(pos + 12),
1948
+ computed: deserializeBool(pos + 13),
1948
1949
  optional: null,
1949
1950
  start: (start = deserializeU32(pos)),
1950
1951
  end: (end = deserializeU32(pos + 4)),
1951
1952
  range: [start, end],
1952
1953
  };
1953
1954
  node.kind = "init";
1954
- node.key = deserializePropertyKey(pos + 8);
1955
- node.value = deserializeBindingPattern(pos + 24);
1955
+ node.key = deserializePropertyKey(pos + 16);
1956
+ node.value = deserializeBindingPattern(pos + 32);
1956
1957
  node.method = false;
1957
1958
  node.optional = false;
1958
1959
  return node;
@@ -1971,8 +1972,8 @@ function deserializeArrayPattern(pos) {
1971
1972
  end: (end = deserializeU32(pos + 4)),
1972
1973
  range: [start, end],
1973
1974
  },
1974
- elements = deserializeVecOptionBindingPattern(pos + 8),
1975
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1975
+ elements = deserializeVecOptionBindingPattern(pos + 16),
1976
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1976
1977
  rest !== null && elements.push(rest);
1977
1978
  node.decorators = [];
1978
1979
  node.elements = elements;
@@ -1995,7 +1996,7 @@ function deserializeBindingRestElement(pos) {
1995
1996
  range: [start, end],
1996
1997
  };
1997
1998
  node.decorators = [];
1998
- node.argument = deserializeBindingPattern(pos + 8);
1999
+ node.argument = deserializeBindingPattern(pos + 16);
1999
2000
  node.optional = false;
2000
2001
  return node;
2001
2002
  }
@@ -2018,16 +2019,16 @@ function deserializeFunction(pos) {
2018
2019
  end: (end = deserializeU32(pos + 4)),
2019
2020
  range: [start, end],
2020
2021
  },
2021
- params = deserializeBoxFormalParameters(pos + 56);
2022
+ params = deserializeBoxFormalParameters(pos + 64);
2022
2023
  {
2023
- let thisParam = deserializeOptionBoxTSThisParameter(pos + 48);
2024
+ let thisParam = deserializeOptionBoxTSThisParameter(pos + 56);
2024
2025
  thisParam !== null && params.unshift(thisParam);
2025
2026
  }
2026
- node.id = deserializeOptionBindingIdentifier(pos + 8);
2027
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
2027
+ node.id = deserializeOptionBindingIdentifier(pos + 16);
2028
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
2028
2029
  node.params = params;
2029
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 64);
2030
- node.body = deserializeOptionBoxFunctionBody(pos + 72);
2030
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 72);
2031
+ node.body = deserializeOptionBoxFunctionBody(pos + 80);
2031
2032
  node.expression = false;
2032
2033
  return node;
2033
2034
  }
@@ -2048,9 +2049,9 @@ function deserializeFunctionType(pos) {
2048
2049
  }
2049
2050
 
2050
2051
  function deserializeFormalParameters(pos) {
2051
- let params = deserializeVecFormalParameter(pos + 8);
2052
- if (uint32[(pos + 32) >> 2] !== 0 && uint32[(pos + 36) >> 2] !== 0) {
2053
- pos = uint32[(pos + 32) >> 2];
2052
+ let params = deserializeVecFormalParameter(pos + 16);
2053
+ if (uint32[(pos + 40) >> 2] !== 0 && uint32[(pos + 44) >> 2] !== 0) {
2054
+ pos = uint32[(pos + 40) >> 2];
2054
2055
  let start,
2055
2056
  end,
2056
2057
  rest = {
@@ -2060,12 +2061,12 @@ function deserializeFormalParameters(pos) {
2060
2061
  optional: false,
2061
2062
  typeAnnotation: null,
2062
2063
  value: null,
2063
- start: (start = deserializeU32(pos + 32)),
2064
- end: (end = deserializeU32(pos + 36)),
2064
+ start: (start = deserializeU32(pos + 40)),
2065
+ end: (end = deserializeU32(pos + 44)),
2065
2066
  range: [start, end],
2066
2067
  };
2067
- rest.argument = deserializeBindingPattern(pos + 40);
2068
- rest.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 64);
2068
+ rest.argument = deserializeBindingPattern(pos + 56);
2069
+ rest.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 72);
2069
2070
  if (rest.typeAnnotation !== null) {
2070
2071
  end = rest.typeAnnotation.end;
2071
2072
  rest.end = end;
@@ -2078,13 +2079,13 @@ function deserializeFormalParameters(pos) {
2078
2079
 
2079
2080
  function deserializeFormalParameter(pos) {
2080
2081
  let param,
2081
- hasInitializer = uint32[(pos + 56) >> 2] !== 0 && uint32[(pos + 60) >> 2] !== 0;
2082
+ hasInitializer = uint32[(pos + 64) >> 2] !== 0 && uint32[(pos + 68) >> 2] !== 0;
2082
2083
  {
2083
- let accessibility = deserializeOptionTSAccessibility(pos + 69),
2084
- readonly = deserializeBool(pos + 70),
2085
- override = deserializeBool(pos + 71);
2084
+ let accessibility = deserializeOptionTSAccessibility(pos + 13),
2085
+ readonly = deserializeBool(pos + 14),
2086
+ override = deserializeBool(pos + 15);
2086
2087
  if (accessibility === null && !readonly && !override) {
2087
- let optional = deserializeBool(pos + 68);
2088
+ let optional = deserializeBool(pos + 12);
2088
2089
  if (hasInitializer) {
2089
2090
  let start, end;
2090
2091
  param = {
@@ -2098,22 +2099,22 @@ function deserializeFormalParameter(pos) {
2098
2099
  end: (end = deserializeU32(pos + 4)),
2099
2100
  range: [start, end],
2100
2101
  };
2101
- param.decorators = deserializeVecDecorator(pos + 8);
2102
- param.left = deserializeBindingPattern(pos + 32);
2102
+ param.decorators = deserializeVecDecorator(pos + 16);
2103
+ param.left = deserializeBindingPattern(pos + 40);
2103
2104
  param.left.decorators = [];
2104
2105
  param.left.optional = false;
2105
- let leftTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2106
+ let leftTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2106
2107
  param.left.typeAnnotation = leftTypeAnnotation;
2107
2108
  if (leftTypeAnnotation !== null) {
2108
2109
  param.left.end = leftTypeAnnotation.end;
2109
2110
  param.left.range[1] = leftTypeAnnotation.end;
2110
2111
  }
2111
- param.right = deserializeOptionBoxExpression(pos + 56);
2112
+ param.right = deserializeOptionBoxExpression(pos + 64);
2112
2113
  } else {
2113
- param = deserializeBindingPattern(pos + 32);
2114
- param.decorators = deserializeVecDecorator(pos + 8);
2114
+ param = deserializeBindingPattern(pos + 40);
2115
+ param.decorators = deserializeVecDecorator(pos + 16);
2115
2116
  param.optional = optional;
2116
- let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2117
+ let typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2117
2118
  param.typeAnnotation = typeAnnotation;
2118
2119
  if (typeAnnotation !== null) {
2119
2120
  param.end = typeAnnotation.end;
@@ -2137,10 +2138,10 @@ function deserializeFormalParameter(pos) {
2137
2138
  end: (end = deserializeU32(pos + 4)),
2138
2139
  range: [start, end],
2139
2140
  };
2140
- param.decorators = deserializeVecDecorator(pos + 8);
2141
+ param.decorators = deserializeVecDecorator(pos + 16);
2141
2142
  if (hasInitializer) {
2142
- let pattern = deserializeBindingPattern(pos + 32),
2143
- initializer = deserializeOptionBoxExpression(pos + 56),
2143
+ let pattern = deserializeBindingPattern(pos + 40),
2144
+ initializer = deserializeOptionBoxExpression(pos + 64),
2144
2145
  assignStart,
2145
2146
  assignEnd,
2146
2147
  assignParam = {
@@ -2157,7 +2158,7 @@ function deserializeFormalParameter(pos) {
2157
2158
  assignParam.left = pattern;
2158
2159
  pattern.decorators = [];
2159
2160
  pattern.optional = false;
2160
- let patternTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2161
+ let patternTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2161
2162
  pattern.typeAnnotation = patternTypeAnnotation;
2162
2163
  if (patternTypeAnnotation !== null) {
2163
2164
  pattern.end = patternTypeAnnotation.end;
@@ -2166,11 +2167,11 @@ function deserializeFormalParameter(pos) {
2166
2167
  assignParam.right = initializer;
2167
2168
  param.parameter = assignParam;
2168
2169
  } else {
2169
- param.parameter = deserializeBindingPattern(pos + 32);
2170
+ param.parameter = deserializeBindingPattern(pos + 40);
2170
2171
  param.parameter.decorators = [];
2171
- let paramOptional = deserializeBool(pos + 68);
2172
+ let paramOptional = deserializeBool(pos + 12);
2172
2173
  param.parameter.optional = paramOptional;
2173
- let paramTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2174
+ let paramTypeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2174
2175
  param.parameter.typeAnnotation = paramTypeAnnotation;
2175
2176
  if (paramTypeAnnotation !== null) {
2176
2177
  param.parameter.end = paramTypeAnnotation.end;
@@ -2196,8 +2197,8 @@ function deserializeFunctionBody(pos) {
2196
2197
  end: (end = deserializeU32(pos + 4)),
2197
2198
  range: [start, end],
2198
2199
  },
2199
- body = deserializeVecDirective(pos + 8);
2200
- body.push(...deserializeVecStatement(pos + 32));
2200
+ body = deserializeVecDirective(pos + 16);
2201
+ body.push(...deserializeVecStatement(pos + 40));
2201
2202
  node.body = body;
2202
2203
  return node;
2203
2204
  }
@@ -2220,11 +2221,11 @@ function deserializeArrowFunctionExpression(pos) {
2220
2221
  end: (end = deserializeU32(pos + 4)),
2221
2222
  range: [start, end],
2222
2223
  },
2223
- body = deserializeBoxFunctionBody(pos + 32);
2224
+ body = deserializeBoxFunctionBody(pos + 40);
2224
2225
  expression === true && (body = body.body[0].expression);
2225
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
2226
- node.params = deserializeBoxFormalParameters(pos + 16);
2227
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
2226
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
2227
+ node.params = deserializeBoxFormalParameters(pos + 24);
2228
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
2228
2229
  node.body = body;
2229
2230
  node.generator = false;
2230
2231
  return node;
@@ -2235,13 +2236,13 @@ function deserializeYieldExpression(pos) {
2235
2236
  end,
2236
2237
  node = {
2237
2238
  type: "YieldExpression",
2238
- delegate: deserializeBool(pos + 28),
2239
+ delegate: deserializeBool(pos + 12),
2239
2240
  argument: null,
2240
2241
  start: (start = deserializeU32(pos)),
2241
2242
  end: (end = deserializeU32(pos + 4)),
2242
2243
  range: [start, end],
2243
2244
  };
2244
- node.argument = deserializeOptionExpression(pos + 8);
2245
+ node.argument = deserializeOptionExpression(pos + 16);
2245
2246
  return node;
2246
2247
  }
2247
2248
 
@@ -2263,13 +2264,13 @@ function deserializeClass(pos) {
2263
2264
  end: (end = deserializeU32(pos + 4)),
2264
2265
  range: [start, end],
2265
2266
  };
2266
- node.decorators = deserializeVecDecorator(pos + 8);
2267
- node.id = deserializeOptionBindingIdentifier(pos + 32);
2268
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 64);
2269
- node.superClass = deserializeOptionExpression(pos + 72);
2270
- node.superTypeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 88);
2271
- node.implements = deserializeVecTSClassImplements(pos + 96);
2272
- node.body = deserializeBoxClassBody(pos + 120);
2267
+ node.decorators = deserializeVecDecorator(pos + 16);
2268
+ node.id = deserializeOptionBindingIdentifier(pos + 40);
2269
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 72);
2270
+ node.superClass = deserializeOptionExpression(pos + 80);
2271
+ node.superTypeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 96);
2272
+ node.implements = deserializeVecTSClassImplements(pos + 104);
2273
+ node.body = deserializeBoxClassBody(pos + 128);
2273
2274
  return node;
2274
2275
  }
2275
2276
 
@@ -2294,7 +2295,7 @@ function deserializeClassBody(pos) {
2294
2295
  end: (end = deserializeU32(pos + 4)),
2295
2296
  range: [start, end],
2296
2297
  };
2297
- node.body = deserializeVecClassElement(pos + 8);
2298
+ node.body = deserializeVecClassElement(pos + 16);
2298
2299
  return node;
2299
2300
  }
2300
2301
 
@@ -2319,13 +2320,13 @@ function deserializeMethodDefinition(pos) {
2319
2320
  let start,
2320
2321
  end,
2321
2322
  node = {
2322
- type: deserializeMethodDefinitionType(pos + 60),
2323
+ type: deserializeMethodDefinitionType(pos + 12),
2323
2324
  decorators: null,
2324
2325
  key: null,
2325
2326
  value: null,
2326
- kind: deserializeMethodDefinitionKind(pos + 61),
2327
- computed: deserializeBool(pos + 62),
2328
- static: deserializeBool(pos + 63),
2327
+ kind: deserializeMethodDefinitionKind(pos + 13),
2328
+ computed: deserializeBool(pos + 14),
2329
+ static: deserializeBool(pos + 15),
2329
2330
  override: deserializeBool(pos + 64),
2330
2331
  optional: deserializeBool(pos + 65),
2331
2332
  accessibility: deserializeOptionTSAccessibility(pos + 66),
@@ -2333,9 +2334,9 @@ function deserializeMethodDefinition(pos) {
2333
2334
  end: (end = deserializeU32(pos + 4)),
2334
2335
  range: [start, end],
2335
2336
  };
2336
- node.decorators = deserializeVecDecorator(pos + 8);
2337
- node.key = deserializePropertyKey(pos + 32);
2338
- node.value = deserializeBoxFunction(pos + 48);
2337
+ node.decorators = deserializeVecDecorator(pos + 16);
2338
+ node.key = deserializePropertyKey(pos + 40);
2339
+ node.value = deserializeBoxFunction(pos + 56);
2339
2340
  return node;
2340
2341
  }
2341
2342
 
@@ -2354,14 +2355,14 @@ function deserializePropertyDefinition(pos) {
2354
2355
  let start,
2355
2356
  end,
2356
2357
  node = {
2357
- type: deserializePropertyDefinitionType(pos + 76),
2358
+ type: deserializePropertyDefinitionType(pos + 12),
2358
2359
  decorators: null,
2359
2360
  key: null,
2360
2361
  typeAnnotation: null,
2361
2362
  value: null,
2362
- computed: deserializeBool(pos + 77),
2363
- static: deserializeBool(pos + 78),
2364
- declare: deserializeBool(pos + 79),
2363
+ computed: deserializeBool(pos + 13),
2364
+ static: deserializeBool(pos + 14),
2365
+ declare: deserializeBool(pos + 15),
2365
2366
  override: deserializeBool(pos + 80),
2366
2367
  optional: deserializeBool(pos + 81),
2367
2368
  definite: deserializeBool(pos + 82),
@@ -2371,10 +2372,10 @@ function deserializePropertyDefinition(pos) {
2371
2372
  end: (end = deserializeU32(pos + 4)),
2372
2373
  range: [start, end],
2373
2374
  };
2374
- node.decorators = deserializeVecDecorator(pos + 8);
2375
- node.key = deserializePropertyKey(pos + 32);
2376
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2377
- node.value = deserializeOptionExpression(pos + 56);
2375
+ node.decorators = deserializeVecDecorator(pos + 16);
2376
+ node.key = deserializePropertyKey(pos + 40);
2377
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2378
+ node.value = deserializeOptionExpression(pos + 64);
2378
2379
  return node;
2379
2380
  }
2380
2381
 
@@ -2408,7 +2409,7 @@ function deserializePrivateIdentifier(pos) {
2408
2409
  let start, end;
2409
2410
  return {
2410
2411
  type: "PrivateIdentifier",
2411
- name: deserializeStr(pos + 8),
2412
+ name: deserializeStr(pos + 16),
2412
2413
  start: (start = deserializeU32(pos)),
2413
2414
  end: (end = deserializeU32(pos + 4)),
2414
2415
  range: [start, end],
@@ -2425,7 +2426,7 @@ function deserializeStaticBlock(pos) {
2425
2426
  end: (end = deserializeU32(pos + 4)),
2426
2427
  range: [start, end],
2427
2428
  };
2428
- node.body = deserializeVecStatement(pos + 8);
2429
+ node.body = deserializeVecStatement(pos + 16);
2429
2430
  return node;
2430
2431
  }
2431
2432
 
@@ -2444,14 +2445,14 @@ function deserializeAccessorProperty(pos) {
2444
2445
  let start,
2445
2446
  end,
2446
2447
  node = {
2447
- type: deserializeAccessorPropertyType(pos + 76),
2448
+ type: deserializeAccessorPropertyType(pos + 12),
2448
2449
  decorators: null,
2449
2450
  key: null,
2450
2451
  typeAnnotation: null,
2451
2452
  value: null,
2452
- computed: deserializeBool(pos + 77),
2453
- static: deserializeBool(pos + 78),
2454
- override: deserializeBool(pos + 79),
2453
+ computed: deserializeBool(pos + 13),
2454
+ static: deserializeBool(pos + 14),
2455
+ override: deserializeBool(pos + 15),
2455
2456
  definite: deserializeBool(pos + 80),
2456
2457
  accessibility: deserializeOptionTSAccessibility(pos + 81),
2457
2458
  declare: null,
@@ -2461,10 +2462,10 @@ function deserializeAccessorProperty(pos) {
2461
2462
  end: (end = deserializeU32(pos + 4)),
2462
2463
  range: [start, end],
2463
2464
  };
2464
- node.decorators = deserializeVecDecorator(pos + 8);
2465
- node.key = deserializePropertyKey(pos + 32);
2466
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 48);
2467
- node.value = deserializeOptionExpression(pos + 56);
2465
+ node.decorators = deserializeVecDecorator(pos + 16);
2466
+ node.key = deserializePropertyKey(pos + 40);
2467
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 56);
2468
+ node.value = deserializeOptionExpression(pos + 64);
2468
2469
  node.declare = false;
2469
2470
  node.optional = false;
2470
2471
  node.readonly = false;
@@ -2478,13 +2479,13 @@ function deserializeImportExpression(pos) {
2478
2479
  type: "ImportExpression",
2479
2480
  source: null,
2480
2481
  options: null,
2481
- phase: deserializeOptionImportPhase(pos + 44),
2482
+ phase: deserializeOptionImportPhase(pos + 12),
2482
2483
  start: (start = deserializeU32(pos)),
2483
2484
  end: (end = deserializeU32(pos + 4)),
2484
2485
  range: [start, end],
2485
2486
  };
2486
- node.source = deserializeExpression(pos + 8);
2487
- node.options = deserializeOptionExpression(pos + 24);
2487
+ node.source = deserializeExpression(pos + 16);
2488
+ node.options = deserializeOptionExpression(pos + 32);
2488
2489
  return node;
2489
2490
  }
2490
2491
 
@@ -2495,18 +2496,18 @@ function deserializeImportDeclaration(pos) {
2495
2496
  type: "ImportDeclaration",
2496
2497
  specifiers: null,
2497
2498
  source: null,
2498
- phase: deserializeOptionImportPhase(pos + 92),
2499
+ phase: deserializeOptionImportPhase(pos + 12),
2499
2500
  attributes: null,
2500
- importKind: deserializeImportOrExportKind(pos + 93),
2501
+ importKind: deserializeImportOrExportKind(pos + 13),
2501
2502
  start: (start = deserializeU32(pos)),
2502
2503
  end: (end = deserializeU32(pos + 4)),
2503
2504
  range: [start, end],
2504
2505
  },
2505
- specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 8);
2506
+ specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 16);
2506
2507
  specifiers === null && (specifiers = []);
2507
- let withClause = deserializeOptionBoxWithClause(pos + 80);
2508
+ let withClause = deserializeOptionBoxWithClause(pos + 88);
2508
2509
  node.specifiers = specifiers;
2509
- node.source = deserializeStringLiteral(pos + 32);
2510
+ node.source = deserializeStringLiteral(pos + 40);
2510
2511
  node.attributes = withClause === null ? [] : withClause.attributes;
2511
2512
  return node;
2512
2513
  }
@@ -2542,13 +2543,13 @@ function deserializeImportSpecifier(pos) {
2542
2543
  type: "ImportSpecifier",
2543
2544
  imported: null,
2544
2545
  local: null,
2545
- importKind: deserializeImportOrExportKind(pos + 100),
2546
+ importKind: deserializeImportOrExportKind(pos + 12),
2546
2547
  start: (start = deserializeU32(pos)),
2547
2548
  end: (end = deserializeU32(pos + 4)),
2548
2549
  range: [start, end],
2549
2550
  };
2550
- node.imported = deserializeModuleExportName(pos + 8);
2551
- node.local = deserializeBindingIdentifier(pos + 64);
2551
+ node.imported = deserializeModuleExportName(pos + 16);
2552
+ node.local = deserializeBindingIdentifier(pos + 72);
2552
2553
  return node;
2553
2554
  }
2554
2555
 
@@ -2562,7 +2563,7 @@ function deserializeImportDefaultSpecifier(pos) {
2562
2563
  end: (end = deserializeU32(pos + 4)),
2563
2564
  range: [start, end],
2564
2565
  };
2565
- node.local = deserializeBindingIdentifier(pos + 8);
2566
+ node.local = deserializeBindingIdentifier(pos + 16);
2566
2567
  return node;
2567
2568
  }
2568
2569
 
@@ -2576,18 +2577,12 @@ function deserializeImportNamespaceSpecifier(pos) {
2576
2577
  end: (end = deserializeU32(pos + 4)),
2577
2578
  range: [start, end],
2578
2579
  };
2579
- node.local = deserializeBindingIdentifier(pos + 8);
2580
+ node.local = deserializeBindingIdentifier(pos + 16);
2580
2581
  return node;
2581
2582
  }
2582
2583
 
2583
2584
  function deserializeWithClause(pos) {
2584
- let start, end;
2585
- return {
2586
- attributes: deserializeVecImportAttribute(pos + 8),
2587
- start: (start = deserializeU32(pos)),
2588
- end: (end = deserializeU32(pos + 4)),
2589
- range: [start, end],
2590
- };
2585
+ return { attributes: deserializeVecImportAttribute(pos + 16) };
2591
2586
  }
2592
2587
 
2593
2588
  function deserializeImportAttribute(pos) {
@@ -2601,8 +2596,8 @@ function deserializeImportAttribute(pos) {
2601
2596
  end: (end = deserializeU32(pos + 4)),
2602
2597
  range: [start, end],
2603
2598
  };
2604
- node.key = deserializeImportAttributeKey(pos + 8);
2605
- node.value = deserializeStringLiteral(pos + 64);
2599
+ node.key = deserializeImportAttributeKey(pos + 16);
2600
+ node.value = deserializeStringLiteral(pos + 72);
2606
2601
  return node;
2607
2602
  }
2608
2603
 
@@ -2625,16 +2620,16 @@ function deserializeExportNamedDeclaration(pos) {
2625
2620
  declaration: null,
2626
2621
  specifiers: null,
2627
2622
  source: null,
2628
- exportKind: deserializeImportOrExportKind(pos + 108),
2623
+ exportKind: deserializeImportOrExportKind(pos + 12),
2629
2624
  attributes: null,
2630
2625
  start: (start = deserializeU32(pos)),
2631
2626
  end: (end = deserializeU32(pos + 4)),
2632
2627
  range: [start, end],
2633
2628
  },
2634
- withClause = deserializeOptionBoxWithClause(pos + 96);
2635
- node.declaration = deserializeOptionDeclaration(pos + 8);
2636
- node.specifiers = deserializeVecExportSpecifier(pos + 24);
2637
- node.source = deserializeOptionStringLiteral(pos + 48);
2629
+ withClause = deserializeOptionBoxWithClause(pos + 104);
2630
+ node.declaration = deserializeOptionDeclaration(pos + 16);
2631
+ node.specifiers = deserializeVecExportSpecifier(pos + 32);
2632
+ node.source = deserializeOptionStringLiteral(pos + 56);
2638
2633
  node.attributes = withClause === null ? [] : withClause.attributes;
2639
2634
  return node;
2640
2635
  }
@@ -2650,7 +2645,7 @@ function deserializeExportDefaultDeclaration(pos) {
2650
2645
  end: (end = deserializeU32(pos + 4)),
2651
2646
  range: [start, end],
2652
2647
  };
2653
- node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2648
+ node.declaration = deserializeExportDefaultDeclarationKind(pos + 16);
2654
2649
  node.exportKind = "value";
2655
2650
  return node;
2656
2651
  }
@@ -2663,14 +2658,14 @@ function deserializeExportAllDeclaration(pos) {
2663
2658
  exported: null,
2664
2659
  source: null,
2665
2660
  attributes: null,
2666
- exportKind: deserializeImportOrExportKind(pos + 124),
2661
+ exportKind: deserializeImportOrExportKind(pos + 12),
2667
2662
  start: (start = deserializeU32(pos)),
2668
2663
  end: (end = deserializeU32(pos + 4)),
2669
2664
  range: [start, end],
2670
2665
  },
2671
- withClause = deserializeOptionBoxWithClause(pos + 112);
2672
- node.exported = deserializeOptionModuleExportName(pos + 8);
2673
- node.source = deserializeStringLiteral(pos + 64);
2666
+ withClause = deserializeOptionBoxWithClause(pos + 120);
2667
+ node.exported = deserializeOptionModuleExportName(pos + 16);
2668
+ node.source = deserializeStringLiteral(pos + 72);
2674
2669
  node.attributes = withClause === null ? [] : withClause.attributes;
2675
2670
  return node;
2676
2671
  }
@@ -2682,13 +2677,13 @@ function deserializeExportSpecifier(pos) {
2682
2677
  type: "ExportSpecifier",
2683
2678
  local: null,
2684
2679
  exported: null,
2685
- exportKind: deserializeImportOrExportKind(pos + 124),
2680
+ exportKind: deserializeImportOrExportKind(pos + 12),
2686
2681
  start: (start = deserializeU32(pos)),
2687
2682
  end: (end = deserializeU32(pos + 4)),
2688
2683
  range: [start, end],
2689
2684
  };
2690
- node.local = deserializeModuleExportName(pos + 8);
2691
- node.exported = deserializeModuleExportName(pos + 64);
2685
+ node.local = deserializeModuleExportName(pos + 16);
2686
+ node.exported = deserializeModuleExportName(pos + 72);
2692
2687
  return node;
2693
2688
  }
2694
2689
 
@@ -2815,8 +2810,8 @@ function deserializeV8IntrinsicExpression(pos) {
2815
2810
  end: (end = deserializeU32(pos + 4)),
2816
2811
  range: [start, end],
2817
2812
  };
2818
- node.name = deserializeIdentifierName(pos + 8);
2819
- node.arguments = deserializeVecArgument(pos + 40);
2813
+ node.name = deserializeIdentifierName(pos + 16);
2814
+ node.arguments = deserializeVecArgument(pos + 48);
2820
2815
  return node;
2821
2816
  }
2822
2817
 
@@ -2855,7 +2850,7 @@ function deserializeNumericLiteral(pos) {
2855
2850
  let start, end;
2856
2851
  return {
2857
2852
  type: "Literal",
2858
- value: deserializeF64(pos + 8),
2853
+ value: deserializeF64(pos + 32),
2859
2854
  raw: deserializeOptionStr(pos + 16),
2860
2855
  start: (start = deserializeU32(pos)),
2861
2856
  end: (end = deserializeU32(pos + 4)),
@@ -2869,13 +2864,13 @@ function deserializeStringLiteral(pos) {
2869
2864
  node = {
2870
2865
  type: "Literal",
2871
2866
  value: null,
2872
- raw: deserializeOptionStr(pos + 24),
2867
+ raw: deserializeOptionStr(pos + 32),
2873
2868
  start: (start = deserializeU32(pos)),
2874
2869
  end: (end = deserializeU32(pos + 4)),
2875
2870
  range: [start, end],
2876
2871
  },
2877
- value = deserializeStr(pos + 8);
2878
- deserializeBool(pos + 44) &&
2872
+ value = deserializeStr(pos + 16);
2873
+ deserializeBool(pos + 12) &&
2879
2874
  (value = value.replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))));
2880
2875
  node.value = value;
2881
2876
  return node;
@@ -2887,13 +2882,13 @@ function deserializeBigIntLiteral(pos) {
2887
2882
  node = {
2888
2883
  type: "Literal",
2889
2884
  value: null,
2890
- raw: deserializeOptionStr(pos + 24),
2885
+ raw: deserializeOptionStr(pos + 32),
2891
2886
  bigint: null,
2892
2887
  start: (start = deserializeU32(pos)),
2893
2888
  end: (end = deserializeU32(pos + 4)),
2894
2889
  range: [start, end],
2895
2890
  },
2896
- bigint = deserializeStr(pos + 8);
2891
+ bigint = deserializeStr(pos + 16);
2897
2892
  node.value = BigInt(bigint);
2898
2893
  node.bigint = bigint;
2899
2894
  return node;
@@ -2905,13 +2900,13 @@ function deserializeRegExpLiteral(pos) {
2905
2900
  node = {
2906
2901
  type: "Literal",
2907
2902
  value: null,
2908
- raw: deserializeOptionStr(pos + 40),
2903
+ raw: deserializeOptionStr(pos + 48),
2909
2904
  regex: null,
2910
2905
  start: (start = deserializeU32(pos)),
2911
2906
  end: (end = deserializeU32(pos + 4)),
2912
2907
  range: [start, end],
2913
2908
  },
2914
- regex = deserializeRegExp(pos + 8),
2909
+ regex = deserializeRegExp(pos + 16),
2915
2910
  value = null;
2916
2911
  try {
2917
2912
  value = new RegExp(regex.pattern, regex.flags);
@@ -2955,11 +2950,11 @@ function deserializeJSXElement(pos) {
2955
2950
  end: (end = deserializeU32(pos + 4)),
2956
2951
  range: [start, end],
2957
2952
  },
2958
- closingElement = deserializeOptionBoxJSXClosingElement(pos + 40),
2959
- openingElement = deserializeBoxJSXOpeningElement(pos + 8);
2953
+ closingElement = deserializeOptionBoxJSXClosingElement(pos + 48),
2954
+ openingElement = deserializeBoxJSXOpeningElement(pos + 16);
2960
2955
  closingElement === null && (openingElement.selfClosing = true);
2961
2956
  node.openingElement = openingElement;
2962
- node.children = deserializeVecJSXChild(pos + 16);
2957
+ node.children = deserializeVecJSXChild(pos + 24);
2963
2958
  node.closingElement = closingElement;
2964
2959
  return node;
2965
2960
  }
@@ -2977,9 +2972,9 @@ function deserializeJSXOpeningElement(pos) {
2977
2972
  end: (end = deserializeU32(pos + 4)),
2978
2973
  range: [start, end],
2979
2974
  };
2980
- node.name = deserializeJSXElementName(pos + 8);
2981
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
2982
- node.attributes = deserializeVecJSXAttributeItem(pos + 32);
2975
+ node.name = deserializeJSXElementName(pos + 16);
2976
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
2977
+ node.attributes = deserializeVecJSXAttributeItem(pos + 40);
2983
2978
  node.selfClosing = false;
2984
2979
  return node;
2985
2980
  }
@@ -2994,7 +2989,7 @@ function deserializeJSXClosingElement(pos) {
2994
2989
  end: (end = deserializeU32(pos + 4)),
2995
2990
  range: [start, end],
2996
2991
  };
2997
- node.name = deserializeJSXElementName(pos + 8);
2992
+ node.name = deserializeJSXElementName(pos + 16);
2998
2993
  return node;
2999
2994
  }
3000
2995
 
@@ -3010,9 +3005,9 @@ function deserializeJSXFragment(pos) {
3010
3005
  end: (end = deserializeU32(pos + 4)),
3011
3006
  range: [start, end],
3012
3007
  };
3013
- node.openingFragment = deserializeJSXOpeningFragment(pos + 8);
3014
- node.children = deserializeVecJSXChild(pos + 24);
3015
- node.closingFragment = deserializeJSXClosingFragment(pos + 48);
3008
+ node.openingFragment = deserializeJSXOpeningFragment(pos + 16);
3009
+ node.children = deserializeVecJSXChild(pos + 32);
3010
+ node.closingFragment = deserializeJSXClosingFragment(pos + 56);
3016
3011
  return node;
3017
3012
  }
3018
3013
 
@@ -3078,8 +3073,8 @@ function deserializeJSXNamespacedName(pos) {
3078
3073
  end: (end = deserializeU32(pos + 4)),
3079
3074
  range: [start, end],
3080
3075
  };
3081
- node.namespace = deserializeJSXIdentifier(pos + 8);
3082
- node.name = deserializeJSXIdentifier(pos + 40);
3076
+ node.namespace = deserializeJSXIdentifier(pos + 16);
3077
+ node.name = deserializeJSXIdentifier(pos + 48);
3083
3078
  return node;
3084
3079
  }
3085
3080
 
@@ -3094,8 +3089,8 @@ function deserializeJSXMemberExpression(pos) {
3094
3089
  end: (end = deserializeU32(pos + 4)),
3095
3090
  range: [start, end],
3096
3091
  };
3097
- node.object = deserializeJSXMemberExpressionObject(pos + 8);
3098
- node.property = deserializeJSXIdentifier(pos + 24);
3092
+ node.object = deserializeJSXMemberExpressionObject(pos + 16);
3093
+ node.property = deserializeJSXIdentifier(pos + 32);
3099
3094
  return node;
3100
3095
  }
3101
3096
 
@@ -3136,7 +3131,7 @@ function deserializeJSXExpressionContainer(pos) {
3136
3131
  end: (end = deserializeU32(pos + 4)),
3137
3132
  range: [start, end],
3138
3133
  };
3139
- node.expression = deserializeJSXExpression(pos + 8);
3134
+ node.expression = deserializeJSXExpression(pos + 16);
3140
3135
  return node;
3141
3136
  }
3142
3137
 
@@ -3267,8 +3262,8 @@ function deserializeJSXAttribute(pos) {
3267
3262
  end: (end = deserializeU32(pos + 4)),
3268
3263
  range: [start, end],
3269
3264
  };
3270
- node.name = deserializeJSXAttributeName(pos + 8);
3271
- node.value = deserializeOptionJSXAttributeValue(pos + 24);
3265
+ node.name = deserializeJSXAttributeName(pos + 16);
3266
+ node.value = deserializeOptionJSXAttributeValue(pos + 32);
3272
3267
  return node;
3273
3268
  }
3274
3269
 
@@ -3282,7 +3277,7 @@ function deserializeJSXSpreadAttribute(pos) {
3282
3277
  end: (end = deserializeU32(pos + 4)),
3283
3278
  range: [start, end],
3284
3279
  };
3285
- node.argument = deserializeExpression(pos + 8);
3280
+ node.argument = deserializeExpression(pos + 16);
3286
3281
  return node;
3287
3282
  }
3288
3283
 
@@ -3316,7 +3311,7 @@ function deserializeJSXIdentifier(pos) {
3316
3311
  let start, end;
3317
3312
  return {
3318
3313
  type: "JSXIdentifier",
3319
- name: deserializeStr(pos + 8),
3314
+ name: deserializeStr(pos + 16),
3320
3315
  start: (start = deserializeU32(pos)),
3321
3316
  end: (end = deserializeU32(pos + 4)),
3322
3317
  range: [start, end],
@@ -3350,7 +3345,7 @@ function deserializeJSXSpreadChild(pos) {
3350
3345
  end: (end = deserializeU32(pos + 4)),
3351
3346
  range: [start, end],
3352
3347
  };
3353
- node.expression = deserializeExpression(pos + 8);
3348
+ node.expression = deserializeExpression(pos + 16);
3354
3349
  return node;
3355
3350
  }
3356
3351
 
@@ -3358,8 +3353,8 @@ function deserializeJSXText(pos) {
3358
3353
  let start, end;
3359
3354
  return {
3360
3355
  type: "JSXText",
3361
- value: deserializeStr(pos + 8),
3362
- raw: deserializeOptionStr(pos + 24),
3356
+ value: deserializeStr(pos + 16),
3357
+ raw: deserializeOptionStr(pos + 32),
3363
3358
  start: (start = deserializeU32(pos)),
3364
3359
  end: (end = deserializeU32(pos + 4)),
3365
3360
  range: [start, end],
@@ -3382,7 +3377,7 @@ function deserializeTSThisParameter(pos) {
3382
3377
  node.decorators = [];
3383
3378
  node.name = "this";
3384
3379
  node.optional = false;
3385
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 16);
3380
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3386
3381
  return node;
3387
3382
  }
3388
3383
 
@@ -3393,14 +3388,14 @@ function deserializeTSEnumDeclaration(pos) {
3393
3388
  type: "TSEnumDeclaration",
3394
3389
  id: null,
3395
3390
  body: null,
3396
- const: deserializeBool(pos + 84),
3397
- declare: deserializeBool(pos + 85),
3391
+ const: deserializeBool(pos + 12),
3392
+ declare: deserializeBool(pos + 13),
3398
3393
  start: (start = deserializeU32(pos)),
3399
3394
  end: (end = deserializeU32(pos + 4)),
3400
3395
  range: [start, end],
3401
3396
  };
3402
- node.id = deserializeBindingIdentifier(pos + 8);
3403
- node.body = deserializeTSEnumBody(pos + 40);
3397
+ node.id = deserializeBindingIdentifier(pos + 16);
3398
+ node.body = deserializeTSEnumBody(pos + 48);
3404
3399
  return node;
3405
3400
  }
3406
3401
 
@@ -3414,7 +3409,7 @@ function deserializeTSEnumBody(pos) {
3414
3409
  end: (end = deserializeU32(pos + 4)),
3415
3410
  range: [start, end],
3416
3411
  };
3417
- node.members = deserializeVecTSEnumMember(pos + 8);
3412
+ node.members = deserializeVecTSEnumMember(pos + 16);
3418
3413
  return node;
3419
3414
  }
3420
3415
 
@@ -3430,9 +3425,9 @@ function deserializeTSEnumMember(pos) {
3430
3425
  end: (end = deserializeU32(pos + 4)),
3431
3426
  range: [start, end],
3432
3427
  };
3433
- node.id = deserializeTSEnumMemberName(pos + 8);
3434
- node.initializer = deserializeOptionExpression(pos + 24);
3435
- node.computed = deserializeU8(pos + 8) > 1;
3428
+ node.id = deserializeTSEnumMemberName(pos + 16);
3429
+ node.initializer = deserializeOptionExpression(pos + 32);
3430
+ node.computed = deserializeU8(pos + 16) > 1;
3436
3431
  return node;
3437
3432
  }
3438
3433
 
@@ -3461,7 +3456,7 @@ function deserializeTSTypeAnnotation(pos) {
3461
3456
  end: (end = deserializeU32(pos + 4)),
3462
3457
  range: [start, end],
3463
3458
  };
3464
- node.typeAnnotation = deserializeTSType(pos + 8);
3459
+ node.typeAnnotation = deserializeTSType(pos + 16);
3465
3460
  return node;
3466
3461
  }
3467
3462
 
@@ -3475,7 +3470,7 @@ function deserializeTSLiteralType(pos) {
3475
3470
  end: (end = deserializeU32(pos + 4)),
3476
3471
  range: [start, end],
3477
3472
  };
3478
- node.literal = deserializeTSLiteral(pos + 8);
3473
+ node.literal = deserializeTSLiteral(pos + 16);
3479
3474
  return node;
3480
3475
  }
3481
3476
 
@@ -3592,10 +3587,10 @@ function deserializeTSConditionalType(pos) {
3592
3587
  end: (end = deserializeU32(pos + 4)),
3593
3588
  range: [start, end],
3594
3589
  };
3595
- node.checkType = deserializeTSType(pos + 8);
3596
- node.extendsType = deserializeTSType(pos + 24);
3597
- node.trueType = deserializeTSType(pos + 40);
3598
- node.falseType = deserializeTSType(pos + 56);
3590
+ node.checkType = deserializeTSType(pos + 16);
3591
+ node.extendsType = deserializeTSType(pos + 32);
3592
+ node.trueType = deserializeTSType(pos + 48);
3593
+ node.falseType = deserializeTSType(pos + 64);
3599
3594
  return node;
3600
3595
  }
3601
3596
 
@@ -3609,7 +3604,7 @@ function deserializeTSUnionType(pos) {
3609
3604
  end: (end = deserializeU32(pos + 4)),
3610
3605
  range: [start, end],
3611
3606
  };
3612
- node.types = deserializeVecTSType(pos + 8);
3607
+ node.types = deserializeVecTSType(pos + 16);
3613
3608
  return node;
3614
3609
  }
3615
3610
 
@@ -3623,7 +3618,7 @@ function deserializeTSIntersectionType(pos) {
3623
3618
  end: (end = deserializeU32(pos + 4)),
3624
3619
  range: [start, end],
3625
3620
  };
3626
- node.types = deserializeVecTSType(pos + 8);
3621
+ node.types = deserializeVecTSType(pos + 16);
3627
3622
  return node;
3628
3623
  }
3629
3624
 
@@ -3638,7 +3633,7 @@ function deserializeTSParenthesizedType(pos) {
3638
3633
  end: (end = deserializeU32(pos + 4)),
3639
3634
  range: [start, end],
3640
3635
  };
3641
- node.typeAnnotation = deserializeTSType(pos + 8);
3636
+ node.typeAnnotation = deserializeTSType(pos + 16);
3642
3637
  }
3643
3638
  return node;
3644
3639
  }
@@ -3648,13 +3643,13 @@ function deserializeTSTypeOperator(pos) {
3648
3643
  end,
3649
3644
  node = {
3650
3645
  type: "TSTypeOperator",
3651
- operator: deserializeTSTypeOperatorOperator(pos + 28),
3646
+ operator: deserializeTSTypeOperatorOperator(pos + 12),
3652
3647
  typeAnnotation: null,
3653
3648
  start: (start = deserializeU32(pos)),
3654
3649
  end: (end = deserializeU32(pos + 4)),
3655
3650
  range: [start, end],
3656
3651
  };
3657
- node.typeAnnotation = deserializeTSType(pos + 8);
3652
+ node.typeAnnotation = deserializeTSType(pos + 16);
3658
3653
  return node;
3659
3654
  }
3660
3655
 
@@ -3681,7 +3676,7 @@ function deserializeTSArrayType(pos) {
3681
3676
  end: (end = deserializeU32(pos + 4)),
3682
3677
  range: [start, end],
3683
3678
  };
3684
- node.elementType = deserializeTSType(pos + 8);
3679
+ node.elementType = deserializeTSType(pos + 16);
3685
3680
  return node;
3686
3681
  }
3687
3682
 
@@ -3696,8 +3691,8 @@ function deserializeTSIndexedAccessType(pos) {
3696
3691
  end: (end = deserializeU32(pos + 4)),
3697
3692
  range: [start, end],
3698
3693
  };
3699
- node.objectType = deserializeTSType(pos + 8);
3700
- node.indexType = deserializeTSType(pos + 24);
3694
+ node.objectType = deserializeTSType(pos + 16);
3695
+ node.indexType = deserializeTSType(pos + 32);
3701
3696
  return node;
3702
3697
  }
3703
3698
 
@@ -3711,7 +3706,7 @@ function deserializeTSTupleType(pos) {
3711
3706
  end: (end = deserializeU32(pos + 4)),
3712
3707
  range: [start, end],
3713
3708
  };
3714
- node.elementTypes = deserializeVecTSTupleElement(pos + 8);
3709
+ node.elementTypes = deserializeVecTSTupleElement(pos + 16);
3715
3710
  return node;
3716
3711
  }
3717
3712
 
@@ -3722,13 +3717,13 @@ function deserializeTSNamedTupleMember(pos) {
3722
3717
  type: "TSNamedTupleMember",
3723
3718
  label: null,
3724
3719
  elementType: null,
3725
- optional: deserializeBool(pos + 60),
3720
+ optional: deserializeBool(pos + 12),
3726
3721
  start: (start = deserializeU32(pos)),
3727
3722
  end: (end = deserializeU32(pos + 4)),
3728
3723
  range: [start, end],
3729
3724
  };
3730
- node.label = deserializeIdentifierName(pos + 8);
3731
- node.elementType = deserializeTSTupleElement(pos + 40);
3725
+ node.label = deserializeIdentifierName(pos + 16);
3726
+ node.elementType = deserializeTSTupleElement(pos + 48);
3732
3727
  return node;
3733
3728
  }
3734
3729
 
@@ -3742,7 +3737,7 @@ function deserializeTSOptionalType(pos) {
3742
3737
  end: (end = deserializeU32(pos + 4)),
3743
3738
  range: [start, end],
3744
3739
  };
3745
- node.typeAnnotation = deserializeTSType(pos + 8);
3740
+ node.typeAnnotation = deserializeTSType(pos + 16);
3746
3741
  return node;
3747
3742
  }
3748
3743
 
@@ -3756,7 +3751,7 @@ function deserializeTSRestType(pos) {
3756
3751
  end: (end = deserializeU32(pos + 4)),
3757
3752
  range: [start, end],
3758
3753
  };
3759
- node.typeAnnotation = deserializeTSType(pos + 8);
3754
+ node.typeAnnotation = deserializeTSType(pos + 16);
3760
3755
  return node;
3761
3756
  }
3762
3757
 
@@ -3996,8 +3991,8 @@ function deserializeTSTypeReference(pos) {
3996
3991
  end: (end = deserializeU32(pos + 4)),
3997
3992
  range: [start, end],
3998
3993
  };
3999
- node.typeName = deserializeTSTypeName(pos + 8);
4000
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3994
+ node.typeName = deserializeTSTypeName(pos + 16);
3995
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4001
3996
  return node;
4002
3997
  }
4003
3998
 
@@ -4025,8 +4020,8 @@ function deserializeTSQualifiedName(pos) {
4025
4020
  end: (end = deserializeU32(pos + 4)),
4026
4021
  range: [start, end],
4027
4022
  };
4028
- node.left = deserializeTSTypeName(pos + 8);
4029
- node.right = deserializeIdentifierName(pos + 24);
4023
+ node.left = deserializeTSTypeName(pos + 16);
4024
+ node.right = deserializeIdentifierName(pos + 32);
4030
4025
  return node;
4031
4026
  }
4032
4027
 
@@ -4040,7 +4035,7 @@ function deserializeTSTypeParameterInstantiation(pos) {
4040
4035
  end: (end = deserializeU32(pos + 4)),
4041
4036
  range: [start, end],
4042
4037
  };
4043
- node.params = deserializeVecTSType(pos + 8);
4038
+ node.params = deserializeVecTSType(pos + 16);
4044
4039
  return node;
4045
4040
  }
4046
4041
 
@@ -4052,16 +4047,16 @@ function deserializeTSTypeParameter(pos) {
4052
4047
  name: null,
4053
4048
  constraint: null,
4054
4049
  default: null,
4055
- in: deserializeBool(pos + 76),
4056
- out: deserializeBool(pos + 77),
4057
- const: deserializeBool(pos + 78),
4050
+ in: deserializeBool(pos + 12),
4051
+ out: deserializeBool(pos + 13),
4052
+ const: deserializeBool(pos + 14),
4058
4053
  start: (start = deserializeU32(pos)),
4059
4054
  end: (end = deserializeU32(pos + 4)),
4060
4055
  range: [start, end],
4061
4056
  };
4062
- node.name = deserializeBindingIdentifier(pos + 8);
4063
- node.constraint = deserializeOptionTSType(pos + 40);
4064
- node.default = deserializeOptionTSType(pos + 56);
4057
+ node.name = deserializeBindingIdentifier(pos + 16);
4058
+ node.constraint = deserializeOptionTSType(pos + 48);
4059
+ node.default = deserializeOptionTSType(pos + 64);
4065
4060
  return node;
4066
4061
  }
4067
4062
 
@@ -4075,7 +4070,7 @@ function deserializeTSTypeParameterDeclaration(pos) {
4075
4070
  end: (end = deserializeU32(pos + 4)),
4076
4071
  range: [start, end],
4077
4072
  };
4078
- node.params = deserializeVecTSTypeParameter(pos + 8);
4073
+ node.params = deserializeVecTSTypeParameter(pos + 16);
4079
4074
  return node;
4080
4075
  }
4081
4076
 
@@ -4092,9 +4087,9 @@ function deserializeTSTypeAliasDeclaration(pos) {
4092
4087
  end: (end = deserializeU32(pos + 4)),
4093
4088
  range: [start, end],
4094
4089
  };
4095
- node.id = deserializeBindingIdentifier(pos + 8);
4096
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
4097
- node.typeAnnotation = deserializeTSType(pos + 48);
4090
+ node.id = deserializeBindingIdentifier(pos + 16);
4091
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
4092
+ node.typeAnnotation = deserializeTSType(pos + 56);
4098
4093
  return node;
4099
4094
  }
4100
4095
 
@@ -4122,7 +4117,7 @@ function deserializeTSClassImplements(pos) {
4122
4117
  end: (end = deserializeU32(pos + 4)),
4123
4118
  range: [start, end],
4124
4119
  },
4125
- expression = deserializeTSTypeName(pos + 8);
4120
+ expression = deserializeTSTypeName(pos + 16);
4126
4121
  if (expression.type === "TSQualifiedName") {
4127
4122
  let object = expression.left,
4128
4123
  { right } = expression,
@@ -4154,7 +4149,7 @@ function deserializeTSClassImplements(pos) {
4154
4149
  }
4155
4150
  }
4156
4151
  node.expression = expression;
4157
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4152
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4158
4153
  return node;
4159
4154
  }
4160
4155
 
@@ -4172,10 +4167,10 @@ function deserializeTSInterfaceDeclaration(pos) {
4172
4167
  end: (end = deserializeU32(pos + 4)),
4173
4168
  range: [start, end],
4174
4169
  };
4175
- node.id = deserializeBindingIdentifier(pos + 8);
4176
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
4177
- node.extends = deserializeVecTSInterfaceHeritage(pos + 48);
4178
- node.body = deserializeBoxTSInterfaceBody(pos + 72);
4170
+ node.id = deserializeBindingIdentifier(pos + 16);
4171
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
4172
+ node.extends = deserializeVecTSInterfaceHeritage(pos + 56);
4173
+ node.body = deserializeBoxTSInterfaceBody(pos + 80);
4179
4174
  return node;
4180
4175
  }
4181
4176
 
@@ -4189,7 +4184,7 @@ function deserializeTSInterfaceBody(pos) {
4189
4184
  end: (end = deserializeU32(pos + 4)),
4190
4185
  range: [start, end],
4191
4186
  };
4192
- node.body = deserializeVecTSSignature(pos + 8);
4187
+ node.body = deserializeVecTSSignature(pos + 16);
4193
4188
  return node;
4194
4189
  }
4195
4190
 
@@ -4198,9 +4193,9 @@ function deserializeTSPropertySignature(pos) {
4198
4193
  end,
4199
4194
  node = {
4200
4195
  type: "TSPropertySignature",
4201
- computed: deserializeBool(pos + 36),
4202
- optional: deserializeBool(pos + 37),
4203
- readonly: deserializeBool(pos + 38),
4196
+ computed: deserializeBool(pos + 12),
4197
+ optional: deserializeBool(pos + 13),
4198
+ readonly: deserializeBool(pos + 14),
4204
4199
  key: null,
4205
4200
  typeAnnotation: null,
4206
4201
  accessibility: null,
@@ -4209,8 +4204,8 @@ function deserializeTSPropertySignature(pos) {
4209
4204
  end: (end = deserializeU32(pos + 4)),
4210
4205
  range: [start, end],
4211
4206
  };
4212
- node.key = deserializePropertyKey(pos + 8);
4213
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
4207
+ node.key = deserializePropertyKey(pos + 16);
4208
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
4214
4209
  node.static = false;
4215
4210
  return node;
4216
4211
  }
@@ -4239,15 +4234,15 @@ function deserializeTSIndexSignature(pos) {
4239
4234
  type: "TSIndexSignature",
4240
4235
  parameters: null,
4241
4236
  typeAnnotation: null,
4242
- readonly: deserializeBool(pos + 44),
4243
- static: deserializeBool(pos + 45),
4237
+ readonly: deserializeBool(pos + 12),
4238
+ static: deserializeBool(pos + 13),
4244
4239
  accessibility: null,
4245
4240
  start: (start = deserializeU32(pos)),
4246
4241
  end: (end = deserializeU32(pos + 4)),
4247
4242
  range: [start, end],
4248
4243
  };
4249
- node.parameters = deserializeVecTSIndexSignatureName(pos + 8);
4250
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
4244
+ node.parameters = deserializeVecTSIndexSignatureName(pos + 16);
4245
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 40);
4251
4246
  return node;
4252
4247
  }
4253
4248
 
@@ -4263,12 +4258,12 @@ function deserializeTSCallSignatureDeclaration(pos) {
4263
4258
  end: (end = deserializeU32(pos + 4)),
4264
4259
  range: [start, end],
4265
4260
  },
4266
- params = deserializeBoxFormalParameters(pos + 24),
4267
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
4261
+ params = deserializeBoxFormalParameters(pos + 32),
4262
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
4268
4263
  thisParam !== null && params.unshift(thisParam);
4269
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4264
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4270
4265
  node.params = params;
4271
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
4266
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 40);
4272
4267
  return node;
4273
4268
  }
4274
4269
 
@@ -4304,13 +4299,13 @@ function deserializeTSMethodSignature(pos) {
4304
4299
  end: (end = deserializeU32(pos + 4)),
4305
4300
  range: [start, end],
4306
4301
  },
4307
- params = deserializeBoxFormalParameters(pos + 40),
4308
- thisParam = deserializeOptionBoxTSThisParameter(pos + 32);
4302
+ params = deserializeBoxFormalParameters(pos + 48),
4303
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 40);
4309
4304
  thisParam !== null && params.unshift(thisParam);
4310
- node.key = deserializePropertyKey(pos + 8);
4311
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 24);
4305
+ node.key = deserializePropertyKey(pos + 16);
4306
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 32);
4312
4307
  node.params = params;
4313
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 48);
4308
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 56);
4314
4309
  node.readonly = false;
4315
4310
  node.static = false;
4316
4311
  return node;
@@ -4328,9 +4323,9 @@ function deserializeTSConstructSignatureDeclaration(pos) {
4328
4323
  end: (end = deserializeU32(pos + 4)),
4329
4324
  range: [start, end],
4330
4325
  };
4331
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4332
- node.params = deserializeBoxFormalParameters(pos + 16);
4333
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
4326
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4327
+ node.params = deserializeBoxFormalParameters(pos + 24);
4328
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
4334
4329
  return node;
4335
4330
  }
4336
4331
 
@@ -4340,7 +4335,7 @@ function deserializeTSIndexSignatureName(pos) {
4340
4335
  node = {
4341
4336
  type: "Identifier",
4342
4337
  decorators: null,
4343
- name: deserializeStr(pos + 8),
4338
+ name: deserializeStr(pos + 16),
4344
4339
  optional: null,
4345
4340
  typeAnnotation: null,
4346
4341
  start: (start = deserializeU32(pos)),
@@ -4349,7 +4344,7 @@ function deserializeTSIndexSignatureName(pos) {
4349
4344
  };
4350
4345
  node.decorators = [];
4351
4346
  node.optional = false;
4352
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 24);
4347
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
4353
4348
  return node;
4354
4349
  }
4355
4350
 
@@ -4364,8 +4359,8 @@ function deserializeTSInterfaceHeritage(pos) {
4364
4359
  end: (end = deserializeU32(pos + 4)),
4365
4360
  range: [start, end],
4366
4361
  };
4367
- node.expression = deserializeExpression(pos + 8);
4368
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4362
+ node.expression = deserializeExpression(pos + 16);
4363
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4369
4364
  return node;
4370
4365
  }
4371
4366
 
@@ -4375,14 +4370,14 @@ function deserializeTSTypePredicate(pos) {
4375
4370
  node = {
4376
4371
  type: "TSTypePredicate",
4377
4372
  parameterName: null,
4378
- asserts: deserializeBool(pos + 44),
4373
+ asserts: deserializeBool(pos + 12),
4379
4374
  typeAnnotation: null,
4380
4375
  start: (start = deserializeU32(pos)),
4381
4376
  end: (end = deserializeU32(pos + 4)),
4382
4377
  range: [start, end],
4383
4378
  };
4384
- node.parameterName = deserializeTSTypePredicateName(pos + 8);
4385
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
4379
+ node.parameterName = deserializeTSTypePredicateName(pos + 16);
4380
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 40);
4386
4381
  return node;
4387
4382
  }
4388
4383
 
@@ -4403,7 +4398,7 @@ function deserializeTSModuleDeclaration(pos) {
4403
4398
  end = deserializeU32(pos + 4),
4404
4399
  declare = deserializeBool(pos + 89),
4405
4400
  node,
4406
- body = deserializeOptionTSModuleDeclarationBody(pos + 64);
4401
+ body = deserializeOptionTSModuleDeclarationBody(pos + 72);
4407
4402
  if (body === null) {
4408
4403
  node = {
4409
4404
  type: "TSModuleDeclaration",
@@ -4415,7 +4410,7 @@ function deserializeTSModuleDeclaration(pos) {
4415
4410
  end,
4416
4411
  range: [start, end],
4417
4412
  };
4418
- node.id = deserializeTSModuleDeclarationName(pos + 8);
4413
+ node.id = deserializeTSModuleDeclarationName(pos + 16);
4419
4414
  } else {
4420
4415
  node = {
4421
4416
  type: "TSModuleDeclaration",
@@ -4428,7 +4423,7 @@ function deserializeTSModuleDeclaration(pos) {
4428
4423
  end,
4429
4424
  range: [start, end],
4430
4425
  };
4431
- let id = deserializeTSModuleDeclarationName(pos + 8);
4426
+ let id = deserializeTSModuleDeclarationName(pos + 16);
4432
4427
  if (body.type === "TSModuleBlock") node.id = id;
4433
4428
  else {
4434
4429
  let innerId = body.id;
@@ -4527,11 +4522,11 @@ function deserializeTSGlobalDeclaration(pos) {
4527
4522
  name: "global",
4528
4523
  optional: false,
4529
4524
  typeAnnotation: null,
4530
- start: (keywordStart = deserializeU32(pos + 8)),
4531
- end: (keywordEnd = deserializeU32(pos + 12)),
4525
+ start: (keywordStart = deserializeU32(pos + 16)),
4526
+ end: (keywordEnd = deserializeU32(pos + 20)),
4532
4527
  range: [keywordStart, keywordEnd],
4533
4528
  };
4534
- node.body = deserializeTSModuleBlock(pos + 16);
4529
+ node.body = deserializeTSModuleBlock(pos + 24);
4535
4530
  node.kind = "global";
4536
4531
  node.global = true;
4537
4532
  return node;
@@ -4547,8 +4542,8 @@ function deserializeTSModuleBlock(pos) {
4547
4542
  end: (end = deserializeU32(pos + 4)),
4548
4543
  range: [start, end],
4549
4544
  },
4550
- body = deserializeVecDirective(pos + 8);
4551
- body.push(...deserializeVecStatement(pos + 32));
4545
+ body = deserializeVecDirective(pos + 16);
4546
+ body.push(...deserializeVecStatement(pos + 40));
4552
4547
  node.body = body;
4553
4548
  return node;
4554
4549
  }
@@ -4563,7 +4558,7 @@ function deserializeTSTypeLiteral(pos) {
4563
4558
  end: (end = deserializeU32(pos + 4)),
4564
4559
  range: [start, end],
4565
4560
  };
4566
- node.members = deserializeVecTSSignature(pos + 8);
4561
+ node.members = deserializeVecTSSignature(pos + 16);
4567
4562
  return node;
4568
4563
  }
4569
4564
 
@@ -4577,7 +4572,7 @@ function deserializeTSInferType(pos) {
4577
4572
  end: (end = deserializeU32(pos + 4)),
4578
4573
  range: [start, end],
4579
4574
  };
4580
- node.typeParameter = deserializeBoxTSTypeParameter(pos + 8);
4575
+ node.typeParameter = deserializeBoxTSTypeParameter(pos + 16);
4581
4576
  return node;
4582
4577
  }
4583
4578
 
@@ -4592,8 +4587,8 @@ function deserializeTSTypeQuery(pos) {
4592
4587
  end: (end = deserializeU32(pos + 4)),
4593
4588
  range: [start, end],
4594
4589
  };
4595
- node.exprName = deserializeTSTypeQueryExprName(pos + 8);
4596
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4590
+ node.exprName = deserializeTSTypeQueryExprName(pos + 16);
4591
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
4597
4592
  return node;
4598
4593
  }
4599
4594
 
@@ -4625,10 +4620,10 @@ function deserializeTSImportType(pos) {
4625
4620
  end: (end = deserializeU32(pos + 4)),
4626
4621
  range: [start, end],
4627
4622
  };
4628
- node.source = deserializeStringLiteral(pos + 8);
4629
- node.options = deserializeOptionBoxObjectExpression(pos + 56);
4630
- node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 64);
4631
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 80);
4623
+ node.source = deserializeStringLiteral(pos + 16);
4624
+ node.options = deserializeOptionBoxObjectExpression(pos + 64);
4625
+ node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 72);
4626
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 88);
4632
4627
  return node;
4633
4628
  }
4634
4629
 
@@ -4654,8 +4649,8 @@ function deserializeTSImportTypeQualifiedName(pos) {
4654
4649
  end: (end = deserializeU32(pos + 4)),
4655
4650
  range: [start, end],
4656
4651
  };
4657
- node.left = deserializeTSImportTypeQualifier(pos + 8);
4658
- node.right = deserializeIdentifierName(pos + 24);
4652
+ node.left = deserializeTSImportTypeQualifier(pos + 16);
4653
+ node.right = deserializeIdentifierName(pos + 32);
4659
4654
  return node;
4660
4655
  }
4661
4656
 
@@ -4671,12 +4666,12 @@ function deserializeTSFunctionType(pos) {
4671
4666
  end: (end = deserializeU32(pos + 4)),
4672
4667
  range: [start, end],
4673
4668
  },
4674
- params = deserializeBoxFormalParameters(pos + 24),
4675
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
4669
+ params = deserializeBoxFormalParameters(pos + 32),
4670
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
4676
4671
  thisParam !== null && params.unshift(thisParam);
4677
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4672
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4678
4673
  node.params = params;
4679
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
4674
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 40);
4680
4675
  return node;
4681
4676
  }
4682
4677
 
@@ -4693,9 +4688,9 @@ function deserializeTSConstructorType(pos) {
4693
4688
  end: (end = deserializeU32(pos + 4)),
4694
4689
  range: [start, end],
4695
4690
  };
4696
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4697
- node.params = deserializeBoxFormalParameters(pos + 16);
4698
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 24);
4691
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
4692
+ node.params = deserializeBoxFormalParameters(pos + 24);
4693
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
4699
4694
  return node;
4700
4695
  }
4701
4696
 
@@ -4716,10 +4711,10 @@ function deserializeTSMappedType(pos) {
4716
4711
  },
4717
4712
  optional = deserializeOptionTSMappedTypeModifierOperator(pos + 96);
4718
4713
  optional === null && (optional = false);
4719
- node.key = deserializeBindingIdentifier(pos + 8);
4720
- node.constraint = deserializeTSType(pos + 40);
4721
- node.nameType = deserializeOptionTSType(pos + 56);
4722
- node.typeAnnotation = deserializeOptionTSType(pos + 72);
4714
+ node.key = deserializeBindingIdentifier(pos + 16);
4715
+ node.constraint = deserializeTSType(pos + 48);
4716
+ node.nameType = deserializeOptionTSType(pos + 64);
4717
+ node.typeAnnotation = deserializeOptionTSType(pos + 80);
4723
4718
  node.optional = optional;
4724
4719
  return node;
4725
4720
  }
@@ -4748,8 +4743,8 @@ function deserializeTSTemplateLiteralType(pos) {
4748
4743
  end: (end = deserializeU32(pos + 4)),
4749
4744
  range: [start, end],
4750
4745
  };
4751
- node.quasis = deserializeVecTemplateElement(pos + 8);
4752
- node.types = deserializeVecTSType(pos + 32);
4746
+ node.quasis = deserializeVecTemplateElement(pos + 16);
4747
+ node.types = deserializeVecTSType(pos + 40);
4753
4748
  return node;
4754
4749
  }
4755
4750
 
@@ -4764,8 +4759,8 @@ function deserializeTSAsExpression(pos) {
4764
4759
  end: (end = deserializeU32(pos + 4)),
4765
4760
  range: [start, end],
4766
4761
  };
4767
- node.expression = deserializeExpression(pos + 8);
4768
- node.typeAnnotation = deserializeTSType(pos + 24);
4762
+ node.expression = deserializeExpression(pos + 16);
4763
+ node.typeAnnotation = deserializeTSType(pos + 32);
4769
4764
  return node;
4770
4765
  }
4771
4766
 
@@ -4780,8 +4775,8 @@ function deserializeTSSatisfiesExpression(pos) {
4780
4775
  end: (end = deserializeU32(pos + 4)),
4781
4776
  range: [start, end],
4782
4777
  };
4783
- node.expression = deserializeExpression(pos + 8);
4784
- node.typeAnnotation = deserializeTSType(pos + 24);
4778
+ node.expression = deserializeExpression(pos + 16);
4779
+ node.typeAnnotation = deserializeTSType(pos + 32);
4785
4780
  return node;
4786
4781
  }
4787
4782
 
@@ -4796,8 +4791,8 @@ function deserializeTSTypeAssertion(pos) {
4796
4791
  end: (end = deserializeU32(pos + 4)),
4797
4792
  range: [start, end],
4798
4793
  };
4799
- node.typeAnnotation = deserializeTSType(pos + 8);
4800
- node.expression = deserializeExpression(pos + 24);
4794
+ node.typeAnnotation = deserializeTSType(pos + 16);
4795
+ node.expression = deserializeExpression(pos + 32);
4801
4796
  return node;
4802
4797
  }
4803
4798
 
@@ -4808,13 +4803,13 @@ function deserializeTSImportEqualsDeclaration(pos) {
4808
4803
  type: "TSImportEqualsDeclaration",
4809
4804
  id: null,
4810
4805
  moduleReference: null,
4811
- importKind: deserializeImportOrExportKind(pos + 60),
4806
+ importKind: deserializeImportOrExportKind(pos + 12),
4812
4807
  start: (start = deserializeU32(pos)),
4813
4808
  end: (end = deserializeU32(pos + 4)),
4814
4809
  range: [start, end],
4815
4810
  };
4816
- node.id = deserializeBindingIdentifier(pos + 8);
4817
- node.moduleReference = deserializeTSModuleReference(pos + 40);
4811
+ node.id = deserializeBindingIdentifier(pos + 16);
4812
+ node.moduleReference = deserializeTSModuleReference(pos + 48);
4818
4813
  return node;
4819
4814
  }
4820
4815
 
@@ -4841,7 +4836,7 @@ function deserializeTSExternalModuleReference(pos) {
4841
4836
  end: (end = deserializeU32(pos + 4)),
4842
4837
  range: [start, end],
4843
4838
  };
4844
- node.expression = deserializeStringLiteral(pos + 8);
4839
+ node.expression = deserializeStringLiteral(pos + 16);
4845
4840
  return node;
4846
4841
  }
4847
4842
 
@@ -4855,7 +4850,7 @@ function deserializeTSNonNullExpression(pos) {
4855
4850
  end: (end = deserializeU32(pos + 4)),
4856
4851
  range: [start, end],
4857
4852
  };
4858
- node.expression = deserializeExpression(pos + 8);
4853
+ node.expression = deserializeExpression(pos + 16);
4859
4854
  return node;
4860
4855
  }
4861
4856
 
@@ -4869,7 +4864,7 @@ function deserializeDecorator(pos) {
4869
4864
  end: (end = deserializeU32(pos + 4)),
4870
4865
  range: [start, end],
4871
4866
  };
4872
- node.expression = deserializeExpression(pos + 8);
4867
+ node.expression = deserializeExpression(pos + 16);
4873
4868
  return node;
4874
4869
  }
4875
4870
 
@@ -4883,7 +4878,7 @@ function deserializeTSExportAssignment(pos) {
4883
4878
  end: (end = deserializeU32(pos + 4)),
4884
4879
  range: [start, end],
4885
4880
  };
4886
- node.expression = deserializeExpression(pos + 8);
4881
+ node.expression = deserializeExpression(pos + 16);
4887
4882
  return node;
4888
4883
  }
4889
4884
 
@@ -4897,7 +4892,7 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4897
4892
  end: (end = deserializeU32(pos + 4)),
4898
4893
  range: [start, end],
4899
4894
  };
4900
- node.id = deserializeIdentifierName(pos + 8);
4895
+ node.id = deserializeIdentifierName(pos + 16);
4901
4896
  return node;
4902
4897
  }
4903
4898
 
@@ -4912,8 +4907,8 @@ function deserializeTSInstantiationExpression(pos) {
4912
4907
  end: (end = deserializeU32(pos + 4)),
4913
4908
  range: [start, end],
4914
4909
  };
4915
- node.expression = deserializeExpression(pos + 8);
4916
- node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 24);
4910
+ node.expression = deserializeExpression(pos + 16);
4911
+ node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 32);
4917
4912
  return node;
4918
4913
  }
4919
4914
 
@@ -4934,12 +4929,12 @@ function deserializeJSDocNullableType(pos) {
4934
4929
  node = {
4935
4930
  type: "TSJSDocNullableType",
4936
4931
  typeAnnotation: null,
4937
- postfix: deserializeBool(pos + 28),
4932
+ postfix: deserializeBool(pos + 12),
4938
4933
  start: (start = deserializeU32(pos)),
4939
4934
  end: (end = deserializeU32(pos + 4)),
4940
4935
  range: [start, end],
4941
4936
  };
4942
- node.typeAnnotation = deserializeTSType(pos + 8);
4937
+ node.typeAnnotation = deserializeTSType(pos + 16);
4943
4938
  return node;
4944
4939
  }
4945
4940
 
@@ -4949,12 +4944,12 @@ function deserializeJSDocNonNullableType(pos) {
4949
4944
  node = {
4950
4945
  type: "TSJSDocNonNullableType",
4951
4946
  typeAnnotation: null,
4952
- postfix: deserializeBool(pos + 28),
4947
+ postfix: deserializeBool(pos + 12),
4953
4948
  start: (start = deserializeU32(pos)),
4954
4949
  end: (end = deserializeU32(pos + 4)),
4955
4950
  range: [start, end],
4956
4951
  };
4957
- node.typeAnnotation = deserializeTSType(pos + 8);
4952
+ node.typeAnnotation = deserializeTSType(pos + 16);
4958
4953
  return node;
4959
4954
  }
4960
4955
 
@@ -4994,6 +4989,26 @@ function deserializeComment(pos) {
4994
4989
  };
4995
4990
  }
4996
4991
 
4992
+ function deserializeModuleKind(pos) {
4993
+ switch (uint8[pos]) {
4994
+ case 0:
4995
+ return "script";
4996
+ case 1:
4997
+ return "module";
4998
+ case 3:
4999
+ return "commonjs";
5000
+ default:
5001
+ throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
5002
+ }
5003
+ }
5004
+
5005
+ function deserializeSpan(pos) {
5006
+ return {
5007
+ start: deserializeU32(pos),
5008
+ end: deserializeU32(pos + 4),
5009
+ };
5010
+ }
5011
+
4997
5012
  function deserializeNameSpan(pos) {
4998
5013
  let start, end;
4999
5014
  return {
@@ -5310,26 +5325,6 @@ function deserializeUpdateOperator(pos) {
5310
5325
  }
5311
5326
  }
5312
5327
 
5313
- function deserializeSpan(pos) {
5314
- return {
5315
- start: deserializeU32(pos),
5316
- end: deserializeU32(pos + 4),
5317
- };
5318
- }
5319
-
5320
- function deserializeModuleKind(pos) {
5321
- switch (uint8[pos]) {
5322
- case 0:
5323
- return "script";
5324
- case 1:
5325
- return "module";
5326
- case 3:
5327
- return "commonjs";
5328
- default:
5329
- throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
5330
- }
5331
- }
5332
-
5333
5328
  function deserializeRawTransferData(pos) {
5334
5329
  return {
5335
5330
  program: deserializeProgram(pos),
@@ -5403,14 +5398,6 @@ function deserializeStaticExport(pos) {
5403
5398
  };
5404
5399
  }
5405
5400
 
5406
- function deserializeU32(pos) {
5407
- return uint32[pos >> 2];
5408
- }
5409
-
5410
- function deserializeU8(pos) {
5411
- return uint8[pos];
5412
- }
5413
-
5414
5401
  function deserializeStr(pos) {
5415
5402
  let pos32 = pos >> 2,
5416
5403
  len = uint32[pos32 + 2];
@@ -5448,7 +5435,7 @@ function deserializeVecComment(pos) {
5448
5435
  }
5449
5436
 
5450
5437
  function deserializeOptionHashbang(pos) {
5451
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5438
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5452
5439
  return deserializeHashbang(pos);
5453
5440
  }
5454
5441
 
@@ -5937,7 +5924,7 @@ function deserializeOptionForStatementInit(pos) {
5937
5924
  }
5938
5925
 
5939
5926
  function deserializeOptionLabelIdentifier(pos) {
5940
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5927
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5941
5928
  return deserializeLabelIdentifier(pos);
5942
5929
  }
5943
5930
 
@@ -5968,7 +5955,7 @@ function deserializeOptionBoxBlockStatement(pos) {
5968
5955
  }
5969
5956
 
5970
5957
  function deserializeOptionCatchParameter(pos) {
5971
- if (uint8[pos + 8] === 4) return null;
5958
+ if (uint8[pos + 16] === 4) return null;
5972
5959
  return deserializeCatchParameter(pos);
5973
5960
  }
5974
5961
 
@@ -6027,7 +6014,7 @@ function deserializeVecOptionBindingPattern(pos) {
6027
6014
  }
6028
6015
 
6029
6016
  function deserializeOptionBindingIdentifier(pos) {
6030
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
6017
+ if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
6031
6018
  return deserializeBindingIdentifier(pos);
6032
6019
  }
6033
6020
 
@@ -6245,7 +6232,7 @@ function deserializeVecExportSpecifier(pos) {
6245
6232
  }
6246
6233
 
6247
6234
  function deserializeOptionStringLiteral(pos) {
6248
- if (uint8[pos + 44] === 2) return null;
6235
+ if (uint8[pos + 12] === 2) return null;
6249
6236
  return deserializeStringLiteral(pos);
6250
6237
  }
6251
6238
 
@@ -6258,6 +6245,10 @@ function deserializeF64(pos) {
6258
6245
  return float64[pos >> 3];
6259
6246
  }
6260
6247
 
6248
+ function deserializeU8(pos) {
6249
+ return uint8[pos];
6250
+ }
6251
+
6261
6252
  function deserializeBoxJSXOpeningElement(pos) {
6262
6253
  return deserializeJSXOpeningElement(uint32[pos >> 2]);
6263
6254
  }
@@ -6637,6 +6628,10 @@ function deserializeBoxTSExternalModuleReference(pos) {
6637
6628
  return deserializeTSExternalModuleReference(uint32[pos >> 2]);
6638
6629
  }
6639
6630
 
6631
+ function deserializeU32(pos) {
6632
+ return uint32[pos >> 2];
6633
+ }
6634
+
6640
6635
  function deserializeOptionNameSpan(pos) {
6641
6636
  if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
6642
6637
  return deserializeNameSpan(pos);