oxc-parser 0.121.0 → 0.124.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.
@@ -1,31 +1,46 @@
1
1
  // Auto-generated code, DO NOT EDIT DIRECTLY!
2
2
  // To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
3
3
 
4
- let uint8, uint32, float64, sourceText, sourceIsAscii, sourceEndPos;
5
-
6
- const textDecoder = new TextDecoder("utf-8", { ignoreBOM: true }),
7
- decodeStr = textDecoder.decode.bind(textDecoder),
8
- { fromCodePoint } = String;
4
+ let uint8,
5
+ uint32,
6
+ float64,
7
+ sourceText,
8
+ sourceTextLatin,
9
+ sourceEndPos = 0,
10
+ firstNonAsciiPos = 0;
11
+
12
+ const { fromCharCode } = String,
13
+ { utf8Slice, latin1Slice } = Buffer.prototype,
14
+ stringDecodeArrays = Array(65).fill(null);
15
+ for (let i = 0; i <= 64; i++) stringDecodeArrays[i] = Array(i).fill(0);
9
16
 
10
17
  export function deserialize(buffer, sourceText, sourceByteLen) {
11
18
  sourceEndPos = sourceByteLen;
12
- let data = deserializeWith(buffer, sourceText, sourceByteLen, null, deserializeRawTransferData);
13
- resetBuffer();
14
- return data;
19
+ return deserializeWith(buffer, sourceText, sourceByteLen, deserializeRawTransferData);
15
20
  }
16
21
 
17
- function deserializeWith(buffer, sourceTextInput, sourceByteLen, getLocInput, deserialize) {
22
+ function deserializeWith(buffer, sourceTextInput, sourceByteLen, deserialize) {
18
23
  uint8 = buffer;
19
24
  uint32 = buffer.uint32;
20
25
  float64 = buffer.float64;
21
26
  sourceText = sourceTextInput;
22
- sourceIsAscii = sourceText.length === sourceByteLen;
23
- return deserialize(uint32[536870900]);
27
+ if (sourceText.length === sourceByteLen) {
28
+ firstNonAsciiPos = sourceByteLen;
29
+ sourceTextLatin = sourceText;
30
+ } else {
31
+ let i = 0;
32
+ for (; i < sourceByteLen && uint8[i] < 128; i++);
33
+ firstNonAsciiPos = i;
34
+ sourceTextLatin = latin1Slice.call(uint8, 0, sourceByteLen);
35
+ }
36
+ let data = deserialize(uint32[536870900]);
37
+ resetBuffer();
38
+ return data;
24
39
  }
25
40
 
26
41
  export function resetBuffer() {
27
- // Clear buffer and source text string to allow them to be garbage collected
28
- uint8 = uint32 = float64 = sourceText = void 0;
42
+ // Clear buffer and source text strings to allow them to be garbage collected
43
+ uint8 = uint32 = float64 = sourceText = sourceTextLatin = void 0;
29
44
  }
30
45
 
31
46
  function deserializeProgram(pos) {
@@ -39,8 +54,8 @@ function deserializeProgram(pos) {
39
54
  start,
40
55
  end,
41
56
  };
42
- program.hashbang = deserializeOptionHashbang(pos + 48);
43
- (program.body = deserializeVecDirective(pos + 80)).push(...deserializeVecStatement(pos + 104));
57
+ program.hashbang = deserializeOptionHashbang(pos + 56);
58
+ (program.body = deserializeVecDirective(pos + 88)).push(...deserializeVecStatement(pos + 112));
44
59
  return program;
45
60
  }
46
61
 
@@ -140,7 +155,7 @@ function deserializeExpression(pos) {
140
155
  function deserializeIdentifierName(pos) {
141
156
  return {
142
157
  type: "Identifier",
143
- name: deserializeStr(pos + 8),
158
+ name: deserializeStr(pos + 16),
144
159
  start: deserializeU32(pos),
145
160
  end: deserializeU32(pos + 4),
146
161
  };
@@ -149,7 +164,7 @@ function deserializeIdentifierName(pos) {
149
164
  function deserializeIdentifierReference(pos) {
150
165
  return {
151
166
  type: "Identifier",
152
- name: deserializeStr(pos + 8),
167
+ name: deserializeStr(pos + 16),
153
168
  start: deserializeU32(pos),
154
169
  end: deserializeU32(pos + 4),
155
170
  };
@@ -158,7 +173,7 @@ function deserializeIdentifierReference(pos) {
158
173
  function deserializeBindingIdentifier(pos) {
159
174
  return {
160
175
  type: "Identifier",
161
- name: deserializeStr(pos + 8),
176
+ name: deserializeStr(pos + 16),
162
177
  start: deserializeU32(pos),
163
178
  end: deserializeU32(pos + 4),
164
179
  };
@@ -167,7 +182,7 @@ function deserializeBindingIdentifier(pos) {
167
182
  function deserializeLabelIdentifier(pos) {
168
183
  return {
169
184
  type: "Identifier",
170
- name: deserializeStr(pos + 8),
185
+ name: deserializeStr(pos + 16),
171
186
  start: deserializeU32(pos),
172
187
  end: deserializeU32(pos + 4),
173
188
  };
@@ -188,7 +203,7 @@ function deserializeArrayExpression(pos) {
188
203
  start: deserializeU32(pos),
189
204
  end: deserializeU32(pos + 4),
190
205
  };
191
- node.elements = deserializeVecArrayExpressionElement(pos + 8);
206
+ node.elements = deserializeVecArrayExpressionElement(pos + 16);
192
207
  return node;
193
208
  }
194
209
 
@@ -300,7 +315,7 @@ function deserializeObjectExpression(pos) {
300
315
  start: deserializeU32(pos),
301
316
  end: deserializeU32(pos + 4),
302
317
  };
303
- node.properties = deserializeVecObjectPropertyKind(pos + 8);
318
+ node.properties = deserializeVecObjectPropertyKind(pos + 16);
304
319
  return node;
305
320
  }
306
321
 
@@ -318,17 +333,17 @@ function deserializeObjectPropertyKind(pos) {
318
333
  function deserializeObjectProperty(pos) {
319
334
  let node = {
320
335
  type: "Property",
321
- kind: deserializePropertyKind(pos + 44),
336
+ kind: deserializePropertyKind(pos + 12),
322
337
  key: null,
323
338
  value: null,
324
- method: deserializeBool(pos + 45),
325
- shorthand: deserializeBool(pos + 46),
326
- computed: deserializeBool(pos + 47),
339
+ method: deserializeBool(pos + 13),
340
+ shorthand: deserializeBool(pos + 14),
341
+ computed: deserializeBool(pos + 15),
327
342
  start: deserializeU32(pos),
328
343
  end: deserializeU32(pos + 4),
329
344
  };
330
- node.key = deserializePropertyKey(pos + 8);
331
- node.value = deserializeExpression(pos + 24);
345
+ node.key = deserializePropertyKey(pos + 16);
346
+ node.value = deserializeExpression(pos + 32);
332
347
  return node;
333
348
  }
334
349
 
@@ -450,8 +465,8 @@ function deserializeTemplateLiteral(pos) {
450
465
  start: deserializeU32(pos),
451
466
  end: deserializeU32(pos + 4),
452
467
  };
453
- node.quasis = deserializeVecTemplateElement(pos + 8);
454
- node.expressions = deserializeVecExpression(pos + 32);
468
+ node.quasis = deserializeVecTemplateElement(pos + 16);
469
+ node.expressions = deserializeVecExpression(pos + 40);
455
470
  return node;
456
471
  }
457
472
 
@@ -463,18 +478,18 @@ function deserializeTaggedTemplateExpression(pos) {
463
478
  start: deserializeU32(pos),
464
479
  end: deserializeU32(pos + 4),
465
480
  };
466
- node.tag = deserializeExpression(pos + 8);
467
- node.quasi = deserializeTemplateLiteral(pos + 32);
481
+ node.tag = deserializeExpression(pos + 16);
482
+ node.quasi = deserializeTemplateLiteral(pos + 40);
468
483
  return node;
469
484
  }
470
485
 
471
486
  function deserializeTemplateElement(pos) {
472
- let tail = deserializeBool(pos + 44),
487
+ let tail = deserializeBool(pos + 12),
473
488
  start = deserializeU32(pos),
474
489
  end = deserializeU32(pos + 4),
475
- value = deserializeTemplateElementValue(pos + 8);
490
+ value = deserializeTemplateElementValue(pos + 16);
476
491
  value.cooked !== null &&
477
- deserializeBool(pos + 45) &&
492
+ deserializeBool(pos + 13) &&
478
493
  (value.cooked = value.cooked.replace(/\uFFFD(.{4})/g, (_, hex) =>
479
494
  String.fromCodePoint(parseInt(hex, 16)),
480
495
  ));
@@ -499,13 +514,13 @@ function deserializeComputedMemberExpression(pos) {
499
514
  type: "MemberExpression",
500
515
  object: null,
501
516
  property: null,
502
- optional: deserializeBool(pos + 44),
517
+ optional: deserializeBool(pos + 12),
503
518
  computed: null,
504
519
  start: deserializeU32(pos),
505
520
  end: deserializeU32(pos + 4),
506
521
  };
507
- node.object = deserializeExpression(pos + 8);
508
- node.property = deserializeExpression(pos + 24);
522
+ node.object = deserializeExpression(pos + 16);
523
+ node.property = deserializeExpression(pos + 32);
509
524
  node.computed = true;
510
525
  return node;
511
526
  }
@@ -515,13 +530,13 @@ function deserializeStaticMemberExpression(pos) {
515
530
  type: "MemberExpression",
516
531
  object: null,
517
532
  property: null,
518
- optional: deserializeBool(pos + 60),
533
+ optional: deserializeBool(pos + 12),
519
534
  computed: null,
520
535
  start: deserializeU32(pos),
521
536
  end: deserializeU32(pos + 4),
522
537
  };
523
- node.object = deserializeExpression(pos + 8);
524
- node.property = deserializeIdentifierName(pos + 24);
538
+ node.object = deserializeExpression(pos + 16);
539
+ node.property = deserializeIdentifierName(pos + 32);
525
540
  node.computed = false;
526
541
  return node;
527
542
  }
@@ -531,13 +546,13 @@ function deserializePrivateFieldExpression(pos) {
531
546
  type: "MemberExpression",
532
547
  object: null,
533
548
  property: null,
534
- optional: deserializeBool(pos + 60),
549
+ optional: deserializeBool(pos + 12),
535
550
  computed: null,
536
551
  start: deserializeU32(pos),
537
552
  end: deserializeU32(pos + 4),
538
553
  };
539
- node.object = deserializeExpression(pos + 8);
540
- node.property = deserializePrivateIdentifier(pos + 24);
554
+ node.object = deserializeExpression(pos + 16);
555
+ node.property = deserializePrivateIdentifier(pos + 32);
541
556
  node.computed = false;
542
557
  return node;
543
558
  }
@@ -547,12 +562,12 @@ function deserializeCallExpression(pos) {
547
562
  type: "CallExpression",
548
563
  callee: null,
549
564
  arguments: null,
550
- optional: deserializeBool(pos + 60),
565
+ optional: deserializeBool(pos + 12),
551
566
  start: deserializeU32(pos),
552
567
  end: deserializeU32(pos + 4),
553
568
  };
554
- node.callee = deserializeExpression(pos + 8);
555
- node.arguments = deserializeVecArgument(pos + 32);
569
+ node.callee = deserializeExpression(pos + 16);
570
+ node.arguments = deserializeVecArgument(pos + 40);
556
571
  return node;
557
572
  }
558
573
 
@@ -564,8 +579,8 @@ function deserializeNewExpression(pos) {
564
579
  start: deserializeU32(pos),
565
580
  end: deserializeU32(pos + 4),
566
581
  };
567
- node.callee = deserializeExpression(pos + 8);
568
- node.arguments = deserializeVecArgument(pos + 32);
582
+ node.callee = deserializeExpression(pos + 16);
583
+ node.arguments = deserializeVecArgument(pos + 40);
569
584
  return node;
570
585
  }
571
586
 
@@ -577,8 +592,8 @@ function deserializeMetaProperty(pos) {
577
592
  start: deserializeU32(pos),
578
593
  end: deserializeU32(pos + 4),
579
594
  };
580
- node.meta = deserializeIdentifierName(pos + 8);
581
- node.property = deserializeIdentifierName(pos + 40);
595
+ node.meta = deserializeIdentifierName(pos + 16);
596
+ node.property = deserializeIdentifierName(pos + 48);
582
597
  return node;
583
598
  }
584
599
 
@@ -589,7 +604,7 @@ function deserializeSpreadElement(pos) {
589
604
  start: deserializeU32(pos),
590
605
  end: deserializeU32(pos + 4),
591
606
  };
592
- node.argument = deserializeExpression(pos + 8);
607
+ node.argument = deserializeExpression(pos + 16);
593
608
  return node;
594
609
  }
595
610
 
@@ -691,26 +706,26 @@ function deserializeArgument(pos) {
691
706
  function deserializeUpdateExpression(pos) {
692
707
  let node = {
693
708
  type: "UpdateExpression",
694
- operator: deserializeUpdateOperator(pos + 28),
695
- prefix: deserializeBool(pos + 29),
709
+ operator: deserializeUpdateOperator(pos + 12),
710
+ prefix: deserializeBool(pos + 13),
696
711
  argument: null,
697
712
  start: deserializeU32(pos),
698
713
  end: deserializeU32(pos + 4),
699
714
  };
700
- node.argument = deserializeSimpleAssignmentTarget(pos + 8);
715
+ node.argument = deserializeSimpleAssignmentTarget(pos + 16);
701
716
  return node;
702
717
  }
703
718
 
704
719
  function deserializeUnaryExpression(pos) {
705
720
  let node = {
706
721
  type: "UnaryExpression",
707
- operator: deserializeUnaryOperator(pos + 28),
722
+ operator: deserializeUnaryOperator(pos + 12),
708
723
  argument: null,
709
724
  prefix: null,
710
725
  start: deserializeU32(pos),
711
726
  end: deserializeU32(pos + 4),
712
727
  };
713
- node.argument = deserializeExpression(pos + 8);
728
+ node.argument = deserializeExpression(pos + 16);
714
729
  node.prefix = true;
715
730
  return node;
716
731
  }
@@ -719,13 +734,13 @@ function deserializeBinaryExpression(pos) {
719
734
  let node = {
720
735
  type: "BinaryExpression",
721
736
  left: null,
722
- operator: deserializeBinaryOperator(pos + 44),
737
+ operator: deserializeBinaryOperator(pos + 12),
723
738
  right: null,
724
739
  start: deserializeU32(pos),
725
740
  end: deserializeU32(pos + 4),
726
741
  };
727
- node.left = deserializeExpression(pos + 8);
728
- node.right = deserializeExpression(pos + 24);
742
+ node.left = deserializeExpression(pos + 16);
743
+ node.right = deserializeExpression(pos + 32);
729
744
  return node;
730
745
  }
731
746
 
@@ -738,9 +753,9 @@ function deserializePrivateInExpression(pos) {
738
753
  start: deserializeU32(pos),
739
754
  end: deserializeU32(pos + 4),
740
755
  };
741
- node.left = deserializePrivateIdentifier(pos + 8);
756
+ node.left = deserializePrivateIdentifier(pos + 16);
742
757
  node.operator = "in";
743
- node.right = deserializeExpression(pos + 40);
758
+ node.right = deserializeExpression(pos + 48);
744
759
  return node;
745
760
  }
746
761
 
@@ -748,13 +763,13 @@ function deserializeLogicalExpression(pos) {
748
763
  let node = {
749
764
  type: "LogicalExpression",
750
765
  left: null,
751
- operator: deserializeLogicalOperator(pos + 44),
766
+ operator: deserializeLogicalOperator(pos + 12),
752
767
  right: null,
753
768
  start: deserializeU32(pos),
754
769
  end: deserializeU32(pos + 4),
755
770
  };
756
- node.left = deserializeExpression(pos + 8);
757
- node.right = deserializeExpression(pos + 24);
771
+ node.left = deserializeExpression(pos + 16);
772
+ node.right = deserializeExpression(pos + 32);
758
773
  return node;
759
774
  }
760
775
 
@@ -767,23 +782,23 @@ function deserializeConditionalExpression(pos) {
767
782
  start: deserializeU32(pos),
768
783
  end: deserializeU32(pos + 4),
769
784
  };
770
- node.test = deserializeExpression(pos + 8);
771
- node.consequent = deserializeExpression(pos + 24);
772
- node.alternate = deserializeExpression(pos + 40);
785
+ node.test = deserializeExpression(pos + 16);
786
+ node.consequent = deserializeExpression(pos + 32);
787
+ node.alternate = deserializeExpression(pos + 48);
773
788
  return node;
774
789
  }
775
790
 
776
791
  function deserializeAssignmentExpression(pos) {
777
792
  let node = {
778
793
  type: "AssignmentExpression",
779
- operator: deserializeAssignmentOperator(pos + 44),
794
+ operator: deserializeAssignmentOperator(pos + 12),
780
795
  left: null,
781
796
  right: null,
782
797
  start: deserializeU32(pos),
783
798
  end: deserializeU32(pos + 4),
784
799
  };
785
- node.left = deserializeAssignmentTarget(pos + 8);
786
- node.right = deserializeExpression(pos + 24);
800
+ node.left = deserializeAssignmentTarget(pos + 16);
801
+ node.right = deserializeExpression(pos + 32);
787
802
  return node;
788
803
  }
789
804
 
@@ -844,8 +859,8 @@ function deserializeArrayAssignmentTarget(pos) {
844
859
  start: deserializeU32(pos),
845
860
  end: deserializeU32(pos + 4),
846
861
  },
847
- elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 8),
848
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
862
+ elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 16),
863
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
849
864
  rest !== null && elements.push(rest);
850
865
  node.elements = elements;
851
866
  return node;
@@ -858,8 +873,8 @@ function deserializeObjectAssignmentTarget(pos) {
858
873
  start: deserializeU32(pos),
859
874
  end: deserializeU32(pos + 4),
860
875
  },
861
- properties = deserializeVecAssignmentTargetProperty(pos + 8),
862
- rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
876
+ properties = deserializeVecAssignmentTargetProperty(pos + 16),
877
+ rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
863
878
  rest !== null && properties.push(rest);
864
879
  node.properties = properties;
865
880
  return node;
@@ -872,7 +887,7 @@ function deserializeAssignmentTargetRest(pos) {
872
887
  start: deserializeU32(pos),
873
888
  end: deserializeU32(pos + 4),
874
889
  };
875
- node.argument = deserializeAssignmentTarget(pos + 8);
890
+ node.argument = deserializeAssignmentTarget(pos + 16);
876
891
  return node;
877
892
  }
878
893
 
@@ -913,8 +928,8 @@ function deserializeAssignmentTargetWithDefault(pos) {
913
928
  start: deserializeU32(pos),
914
929
  end: deserializeU32(pos + 4),
915
930
  };
916
- node.left = deserializeAssignmentTarget(pos + 8);
917
- node.right = deserializeExpression(pos + 24);
931
+ node.left = deserializeAssignmentTarget(pos + 16);
932
+ node.right = deserializeExpression(pos + 32);
918
933
  return node;
919
934
  }
920
935
 
@@ -943,14 +958,14 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
943
958
  start,
944
959
  end,
945
960
  },
946
- key = deserializeIdentifierReference(pos + 8),
961
+ key = deserializeIdentifierReference(pos + 16),
947
962
  value = {
948
963
  type: "Identifier",
949
964
  name: key.name,
950
965
  start: key.start,
951
966
  end: key.end,
952
967
  },
953
- init = deserializeOptionExpression(pos + 40);
968
+ init = deserializeOptionExpression(pos + 48);
954
969
  init !== null &&
955
970
  (value = {
956
971
  type: "AssignmentPattern",
@@ -976,13 +991,13 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
976
991
  value: null,
977
992
  method: null,
978
993
  shorthand: null,
979
- computed: deserializeBool(pos + 44),
994
+ computed: deserializeBool(pos + 12),
980
995
  start: deserializeU32(pos),
981
996
  end: deserializeU32(pos + 4),
982
997
  };
983
998
  node.kind = "init";
984
- node.key = deserializePropertyKey(pos + 8);
985
- node.value = deserializeAssignmentTargetMaybeDefault(pos + 24);
999
+ node.key = deserializePropertyKey(pos + 16);
1000
+ node.value = deserializeAssignmentTargetMaybeDefault(pos + 32);
986
1001
  node.method = false;
987
1002
  node.shorthand = false;
988
1003
  return node;
@@ -995,7 +1010,7 @@ function deserializeSequenceExpression(pos) {
995
1010
  start: deserializeU32(pos),
996
1011
  end: deserializeU32(pos + 4),
997
1012
  };
998
- node.expressions = deserializeVecExpression(pos + 8);
1013
+ node.expressions = deserializeVecExpression(pos + 16);
999
1014
  return node;
1000
1015
  }
1001
1016
 
@@ -1014,7 +1029,7 @@ function deserializeAwaitExpression(pos) {
1014
1029
  start: deserializeU32(pos),
1015
1030
  end: deserializeU32(pos + 4),
1016
1031
  };
1017
- node.argument = deserializeExpression(pos + 8);
1032
+ node.argument = deserializeExpression(pos + 16);
1018
1033
  return node;
1019
1034
  }
1020
1035
 
@@ -1025,7 +1040,7 @@ function deserializeChainExpression(pos) {
1025
1040
  start: deserializeU32(pos),
1026
1041
  end: deserializeU32(pos + 4),
1027
1042
  };
1028
- node.expression = deserializeChainElement(pos + 8);
1043
+ node.expression = deserializeChainElement(pos + 16);
1029
1044
  return node;
1030
1045
  }
1031
1046
 
@@ -1054,7 +1069,7 @@ function deserializeParenthesizedExpression(pos) {
1054
1069
  start: deserializeU32(pos),
1055
1070
  end: deserializeU32(pos + 4),
1056
1071
  };
1057
- node.expression = deserializeExpression(pos + 8);
1072
+ node.expression = deserializeExpression(pos + 16);
1058
1073
  return node;
1059
1074
  }
1060
1075
 
@@ -1135,18 +1150,18 @@ function deserializeDirective(pos) {
1135
1150
  let node = {
1136
1151
  type: "ExpressionStatement",
1137
1152
  expression: null,
1138
- directive: deserializeStr(pos + 56),
1153
+ directive: deserializeStr(pos + 64),
1139
1154
  start: deserializeU32(pos),
1140
1155
  end: deserializeU32(pos + 4),
1141
1156
  };
1142
- node.expression = deserializeStringLiteral(pos + 8);
1157
+ node.expression = deserializeStringLiteral(pos + 16);
1143
1158
  return node;
1144
1159
  }
1145
1160
 
1146
1161
  function deserializeHashbang(pos) {
1147
1162
  return {
1148
1163
  type: "Hashbang",
1149
- value: deserializeStr(pos + 8),
1164
+ value: deserializeStr(pos + 16),
1150
1165
  start: deserializeU32(pos),
1151
1166
  end: deserializeU32(pos + 4),
1152
1167
  };
@@ -1159,7 +1174,7 @@ function deserializeBlockStatement(pos) {
1159
1174
  start: deserializeU32(pos),
1160
1175
  end: deserializeU32(pos + 4),
1161
1176
  };
1162
- node.body = deserializeVecStatement(pos + 8);
1177
+ node.body = deserializeVecStatement(pos + 16);
1163
1178
  return node;
1164
1179
  }
1165
1180
 
@@ -1191,12 +1206,12 @@ function deserializeDeclaration(pos) {
1191
1206
  function deserializeVariableDeclaration(pos) {
1192
1207
  let node = {
1193
1208
  type: "VariableDeclaration",
1194
- kind: deserializeVariableDeclarationKind(pos + 36),
1209
+ kind: deserializeVariableDeclarationKind(pos + 12),
1195
1210
  declarations: null,
1196
1211
  start: deserializeU32(pos),
1197
1212
  end: deserializeU32(pos + 4),
1198
1213
  };
1199
- node.declarations = deserializeVecVariableDeclarator(pos + 8);
1214
+ node.declarations = deserializeVecVariableDeclarator(pos + 16);
1200
1215
  return node;
1201
1216
  }
1202
1217
 
@@ -1218,16 +1233,16 @@ function deserializeVariableDeclarationKind(pos) {
1218
1233
  }
1219
1234
 
1220
1235
  function deserializeVariableDeclarator(pos) {
1221
- let variableDeclarator = {
1236
+ let node = {
1222
1237
  type: "VariableDeclarator",
1223
1238
  id: null,
1224
1239
  init: null,
1225
1240
  start: deserializeU32(pos),
1226
1241
  end: deserializeU32(pos + 4),
1227
1242
  };
1228
- variableDeclarator.id = deserializeBindingPattern(pos + 8);
1229
- variableDeclarator.init = deserializeOptionExpression(pos + 32);
1230
- return variableDeclarator;
1243
+ node.id = deserializeBindingPattern(pos + 16);
1244
+ node.init = deserializeOptionExpression(pos + 40);
1245
+ return node;
1231
1246
  }
1232
1247
 
1233
1248
  function deserializeEmptyStatement(pos) {
@@ -1245,7 +1260,7 @@ function deserializeExpressionStatement(pos) {
1245
1260
  start: deserializeU32(pos),
1246
1261
  end: deserializeU32(pos + 4),
1247
1262
  };
1248
- node.expression = deserializeExpression(pos + 8);
1263
+ node.expression = deserializeExpression(pos + 16);
1249
1264
  return node;
1250
1265
  }
1251
1266
 
@@ -1258,9 +1273,9 @@ function deserializeIfStatement(pos) {
1258
1273
  start: deserializeU32(pos),
1259
1274
  end: deserializeU32(pos + 4),
1260
1275
  };
1261
- node.test = deserializeExpression(pos + 8);
1262
- node.consequent = deserializeStatement(pos + 24);
1263
- node.alternate = deserializeOptionStatement(pos + 40);
1276
+ node.test = deserializeExpression(pos + 16);
1277
+ node.consequent = deserializeStatement(pos + 32);
1278
+ node.alternate = deserializeOptionStatement(pos + 48);
1264
1279
  return node;
1265
1280
  }
1266
1281
 
@@ -1272,8 +1287,8 @@ function deserializeDoWhileStatement(pos) {
1272
1287
  start: deserializeU32(pos),
1273
1288
  end: deserializeU32(pos + 4),
1274
1289
  };
1275
- node.body = deserializeStatement(pos + 8);
1276
- node.test = deserializeExpression(pos + 24);
1290
+ node.body = deserializeStatement(pos + 16);
1291
+ node.test = deserializeExpression(pos + 32);
1277
1292
  return node;
1278
1293
  }
1279
1294
 
@@ -1285,8 +1300,8 @@ function deserializeWhileStatement(pos) {
1285
1300
  start: deserializeU32(pos),
1286
1301
  end: deserializeU32(pos + 4),
1287
1302
  };
1288
- node.test = deserializeExpression(pos + 8);
1289
- node.body = deserializeStatement(pos + 24);
1303
+ node.test = deserializeExpression(pos + 16);
1304
+ node.body = deserializeStatement(pos + 32);
1290
1305
  return node;
1291
1306
  }
1292
1307
 
@@ -1300,10 +1315,10 @@ function deserializeForStatement(pos) {
1300
1315
  start: deserializeU32(pos),
1301
1316
  end: deserializeU32(pos + 4),
1302
1317
  };
1303
- node.init = deserializeOptionForStatementInit(pos + 8);
1304
- node.test = deserializeOptionExpression(pos + 24);
1305
- node.update = deserializeOptionExpression(pos + 40);
1306
- node.body = deserializeStatement(pos + 56);
1318
+ node.init = deserializeOptionForStatementInit(pos + 16);
1319
+ node.test = deserializeOptionExpression(pos + 32);
1320
+ node.update = deserializeOptionExpression(pos + 48);
1321
+ node.body = deserializeStatement(pos + 64);
1307
1322
  return node;
1308
1323
  }
1309
1324
 
@@ -1411,9 +1426,9 @@ function deserializeForInStatement(pos) {
1411
1426
  start: deserializeU32(pos),
1412
1427
  end: deserializeU32(pos + 4),
1413
1428
  };
1414
- node.left = deserializeForStatementLeft(pos + 8);
1415
- node.right = deserializeExpression(pos + 24);
1416
- node.body = deserializeStatement(pos + 40);
1429
+ node.left = deserializeForStatementLeft(pos + 16);
1430
+ node.right = deserializeExpression(pos + 32);
1431
+ node.body = deserializeStatement(pos + 48);
1417
1432
  return node;
1418
1433
  }
1419
1434
 
@@ -1456,9 +1471,9 @@ function deserializeForOfStatement(pos) {
1456
1471
  start: deserializeU32(pos),
1457
1472
  end: deserializeU32(pos + 4),
1458
1473
  };
1459
- node.left = deserializeForStatementLeft(pos + 8);
1460
- node.right = deserializeExpression(pos + 24);
1461
- node.body = deserializeStatement(pos + 40);
1474
+ node.left = deserializeForStatementLeft(pos + 16);
1475
+ node.right = deserializeExpression(pos + 32);
1476
+ node.body = deserializeStatement(pos + 48);
1462
1477
  return node;
1463
1478
  }
1464
1479
 
@@ -1469,7 +1484,7 @@ function deserializeContinueStatement(pos) {
1469
1484
  start: deserializeU32(pos),
1470
1485
  end: deserializeU32(pos + 4),
1471
1486
  };
1472
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1487
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1473
1488
  return node;
1474
1489
  }
1475
1490
 
@@ -1480,7 +1495,7 @@ function deserializeBreakStatement(pos) {
1480
1495
  start: deserializeU32(pos),
1481
1496
  end: deserializeU32(pos + 4),
1482
1497
  };
1483
- node.label = deserializeOptionLabelIdentifier(pos + 8);
1498
+ node.label = deserializeOptionLabelIdentifier(pos + 16);
1484
1499
  return node;
1485
1500
  }
1486
1501
 
@@ -1491,7 +1506,7 @@ function deserializeReturnStatement(pos) {
1491
1506
  start: deserializeU32(pos),
1492
1507
  end: deserializeU32(pos + 4),
1493
1508
  };
1494
- node.argument = deserializeOptionExpression(pos + 8);
1509
+ node.argument = deserializeOptionExpression(pos + 16);
1495
1510
  return node;
1496
1511
  }
1497
1512
 
@@ -1503,8 +1518,8 @@ function deserializeWithStatement(pos) {
1503
1518
  start: deserializeU32(pos),
1504
1519
  end: deserializeU32(pos + 4),
1505
1520
  };
1506
- node.object = deserializeExpression(pos + 8);
1507
- node.body = deserializeStatement(pos + 24);
1521
+ node.object = deserializeExpression(pos + 16);
1522
+ node.body = deserializeStatement(pos + 32);
1508
1523
  return node;
1509
1524
  }
1510
1525
 
@@ -1516,8 +1531,8 @@ function deserializeSwitchStatement(pos) {
1516
1531
  start: deserializeU32(pos),
1517
1532
  end: deserializeU32(pos + 4),
1518
1533
  };
1519
- node.discriminant = deserializeExpression(pos + 8);
1520
- node.cases = deserializeVecSwitchCase(pos + 24);
1534
+ node.discriminant = deserializeExpression(pos + 16);
1535
+ node.cases = deserializeVecSwitchCase(pos + 32);
1521
1536
  return node;
1522
1537
  }
1523
1538
 
@@ -1529,8 +1544,8 @@ function deserializeSwitchCase(pos) {
1529
1544
  start: deserializeU32(pos),
1530
1545
  end: deserializeU32(pos + 4),
1531
1546
  };
1532
- node.test = deserializeOptionExpression(pos + 8);
1533
- node.consequent = deserializeVecStatement(pos + 24);
1547
+ node.test = deserializeOptionExpression(pos + 16);
1548
+ node.consequent = deserializeVecStatement(pos + 32);
1534
1549
  return node;
1535
1550
  }
1536
1551
 
@@ -1542,8 +1557,8 @@ function deserializeLabeledStatement(pos) {
1542
1557
  start: deserializeU32(pos),
1543
1558
  end: deserializeU32(pos + 4),
1544
1559
  };
1545
- node.label = deserializeLabelIdentifier(pos + 8);
1546
- node.body = deserializeStatement(pos + 40);
1560
+ node.label = deserializeLabelIdentifier(pos + 16);
1561
+ node.body = deserializeStatement(pos + 48);
1547
1562
  return node;
1548
1563
  }
1549
1564
 
@@ -1554,7 +1569,7 @@ function deserializeThrowStatement(pos) {
1554
1569
  start: deserializeU32(pos),
1555
1570
  end: deserializeU32(pos + 4),
1556
1571
  };
1557
- node.argument = deserializeExpression(pos + 8);
1572
+ node.argument = deserializeExpression(pos + 16);
1558
1573
  return node;
1559
1574
  }
1560
1575
 
@@ -1567,9 +1582,9 @@ function deserializeTryStatement(pos) {
1567
1582
  start: deserializeU32(pos),
1568
1583
  end: deserializeU32(pos + 4),
1569
1584
  };
1570
- node.block = deserializeBoxBlockStatement(pos + 8);
1571
- node.handler = deserializeOptionBoxCatchClause(pos + 16);
1572
- node.finalizer = deserializeOptionBoxBlockStatement(pos + 24);
1585
+ node.block = deserializeBoxBlockStatement(pos + 16);
1586
+ node.handler = deserializeOptionBoxCatchClause(pos + 24);
1587
+ node.finalizer = deserializeOptionBoxBlockStatement(pos + 32);
1573
1588
  return node;
1574
1589
  }
1575
1590
 
@@ -1581,13 +1596,13 @@ function deserializeCatchClause(pos) {
1581
1596
  start: deserializeU32(pos),
1582
1597
  end: deserializeU32(pos + 4),
1583
1598
  };
1584
- node.param = deserializeOptionCatchParameter(pos + 8);
1585
- node.body = deserializeBoxBlockStatement(pos + 48);
1599
+ node.param = deserializeOptionCatchParameter(pos + 16);
1600
+ node.body = deserializeBoxBlockStatement(pos + 56);
1586
1601
  return node;
1587
1602
  }
1588
1603
 
1589
1604
  function deserializeCatchParameter(pos) {
1590
- return deserializeBindingPattern(pos + 8);
1605
+ return deserializeBindingPattern(pos + 16);
1591
1606
  }
1592
1607
 
1593
1608
  function deserializeDebuggerStatement(pos) {
@@ -1621,8 +1636,8 @@ function deserializeAssignmentPattern(pos) {
1621
1636
  start: deserializeU32(pos),
1622
1637
  end: deserializeU32(pos + 4),
1623
1638
  };
1624
- node.left = deserializeBindingPattern(pos + 8);
1625
- node.right = deserializeExpression(pos + 24);
1639
+ node.left = deserializeBindingPattern(pos + 16);
1640
+ node.right = deserializeExpression(pos + 32);
1626
1641
  return node;
1627
1642
  }
1628
1643
 
@@ -1633,8 +1648,8 @@ function deserializeObjectPattern(pos) {
1633
1648
  start: deserializeU32(pos),
1634
1649
  end: deserializeU32(pos + 4),
1635
1650
  },
1636
- properties = deserializeVecBindingProperty(pos + 8),
1637
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1651
+ properties = deserializeVecBindingProperty(pos + 16),
1652
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1638
1653
  rest !== null && properties.push(rest);
1639
1654
  node.properties = properties;
1640
1655
  return node;
@@ -1647,14 +1662,14 @@ function deserializeBindingProperty(pos) {
1647
1662
  key: null,
1648
1663
  value: null,
1649
1664
  method: null,
1650
- shorthand: deserializeBool(pos + 44),
1651
- computed: deserializeBool(pos + 45),
1665
+ shorthand: deserializeBool(pos + 12),
1666
+ computed: deserializeBool(pos + 13),
1652
1667
  start: deserializeU32(pos),
1653
1668
  end: deserializeU32(pos + 4),
1654
1669
  };
1655
1670
  node.kind = "init";
1656
- node.key = deserializePropertyKey(pos + 8);
1657
- node.value = deserializeBindingPattern(pos + 24);
1671
+ node.key = deserializePropertyKey(pos + 16);
1672
+ node.value = deserializeBindingPattern(pos + 32);
1658
1673
  node.method = false;
1659
1674
  return node;
1660
1675
  }
@@ -1666,8 +1681,8 @@ function deserializeArrayPattern(pos) {
1666
1681
  start: deserializeU32(pos),
1667
1682
  end: deserializeU32(pos + 4),
1668
1683
  },
1669
- elements = deserializeVecOptionBindingPattern(pos + 8),
1670
- rest = deserializeOptionBoxBindingRestElement(pos + 32);
1684
+ elements = deserializeVecOptionBindingPattern(pos + 16),
1685
+ rest = deserializeOptionBoxBindingRestElement(pos + 40);
1671
1686
  rest !== null && elements.push(rest);
1672
1687
  node.elements = elements;
1673
1688
  return node;
@@ -1680,7 +1695,7 @@ function deserializeBindingRestElement(pos) {
1680
1695
  start: deserializeU32(pos),
1681
1696
  end: deserializeU32(pos + 4),
1682
1697
  };
1683
- node.argument = deserializeBindingPattern(pos + 8);
1698
+ node.argument = deserializeBindingPattern(pos + 16);
1684
1699
  return node;
1685
1700
  }
1686
1701
 
@@ -1696,10 +1711,10 @@ function deserializeFunction(pos) {
1696
1711
  start: deserializeU32(pos),
1697
1712
  end: deserializeU32(pos + 4),
1698
1713
  },
1699
- params = deserializeBoxFormalParameters(pos + 56);
1700
- node.id = deserializeOptionBindingIdentifier(pos + 8);
1714
+ params = deserializeBoxFormalParameters(pos + 64);
1715
+ node.id = deserializeOptionBindingIdentifier(pos + 16);
1701
1716
  node.params = params;
1702
- node.body = deserializeOptionBoxFunctionBody(pos + 72);
1717
+ node.body = deserializeOptionBoxFunctionBody(pos + 80);
1703
1718
  node.expression = false;
1704
1719
  return node;
1705
1720
  }
@@ -1720,16 +1735,16 @@ function deserializeFunctionType(pos) {
1720
1735
  }
1721
1736
 
1722
1737
  function deserializeFormalParameters(pos) {
1723
- let params = deserializeVecFormalParameter(pos + 8);
1724
- if (uint32[(pos + 32) >> 2] !== 0 && uint32[(pos + 36) >> 2] !== 0) {
1725
- pos = uint32[(pos + 32) >> 2];
1738
+ let params = deserializeVecFormalParameter(pos + 16);
1739
+ if (uint32[(pos + 40) >> 2] !== 0 && uint32[(pos + 44) >> 2] !== 0) {
1740
+ pos = uint32[(pos + 40) >> 2];
1726
1741
  let rest = {
1727
1742
  type: "RestElement",
1728
1743
  argument: null,
1729
- start: deserializeU32(pos + 32),
1730
- end: deserializeU32(pos + 36),
1744
+ start: deserializeU32(pos + 40),
1745
+ end: deserializeU32(pos + 44),
1731
1746
  };
1732
- rest.argument = deserializeBindingPattern(pos + 40);
1747
+ rest.argument = deserializeBindingPattern(pos + 56);
1733
1748
  params.push(rest);
1734
1749
  }
1735
1750
  return params;
@@ -1737,7 +1752,7 @@ function deserializeFormalParameters(pos) {
1737
1752
 
1738
1753
  function deserializeFormalParameter(pos) {
1739
1754
  let param;
1740
- if (uint32[(pos + 56) >> 2] !== 0 && uint32[(pos + 60) >> 2] !== 0) {
1755
+ if (uint32[(pos + 64) >> 2] !== 0 && uint32[(pos + 68) >> 2] !== 0) {
1741
1756
  param = {
1742
1757
  type: "AssignmentPattern",
1743
1758
  left: null,
@@ -1745,9 +1760,9 @@ function deserializeFormalParameter(pos) {
1745
1760
  start: deserializeU32(pos),
1746
1761
  end: deserializeU32(pos + 4),
1747
1762
  };
1748
- param.left = deserializeBindingPattern(pos + 32);
1749
- param.right = deserializeOptionBoxExpression(pos + 56);
1750
- } else param = deserializeBindingPattern(pos + 32);
1763
+ param.left = deserializeBindingPattern(pos + 40);
1764
+ param.right = deserializeOptionBoxExpression(pos + 64);
1765
+ } else param = deserializeBindingPattern(pos + 40);
1751
1766
  return param;
1752
1767
  }
1753
1768
 
@@ -1758,8 +1773,8 @@ function deserializeFunctionBody(pos) {
1758
1773
  start: deserializeU32(pos),
1759
1774
  end: deserializeU32(pos + 4),
1760
1775
  },
1761
- body = deserializeVecDirective(pos + 8);
1762
- body.push(...deserializeVecStatement(pos + 32));
1776
+ body = deserializeVecDirective(pos + 16);
1777
+ body.push(...deserializeVecStatement(pos + 40));
1763
1778
  node.body = body;
1764
1779
  return node;
1765
1780
  }
@@ -1777,9 +1792,9 @@ function deserializeArrowFunctionExpression(pos) {
1777
1792
  start: deserializeU32(pos),
1778
1793
  end: deserializeU32(pos + 4),
1779
1794
  },
1780
- body = deserializeBoxFunctionBody(pos + 32);
1795
+ body = deserializeBoxFunctionBody(pos + 40);
1781
1796
  expression === true && (body = body.body[0].expression);
1782
- node.params = deserializeBoxFormalParameters(pos + 16);
1797
+ node.params = deserializeBoxFormalParameters(pos + 24);
1783
1798
  node.body = body;
1784
1799
  node.generator = false;
1785
1800
  return node;
@@ -1788,12 +1803,12 @@ function deserializeArrowFunctionExpression(pos) {
1788
1803
  function deserializeYieldExpression(pos) {
1789
1804
  let node = {
1790
1805
  type: "YieldExpression",
1791
- delegate: deserializeBool(pos + 28),
1806
+ delegate: deserializeBool(pos + 12),
1792
1807
  argument: null,
1793
1808
  start: deserializeU32(pos),
1794
1809
  end: deserializeU32(pos + 4),
1795
1810
  };
1796
- node.argument = deserializeOptionExpression(pos + 8);
1811
+ node.argument = deserializeOptionExpression(pos + 16);
1797
1812
  return node;
1798
1813
  }
1799
1814
 
@@ -1807,10 +1822,10 @@ function deserializeClass(pos) {
1807
1822
  start: deserializeU32(pos),
1808
1823
  end: deserializeU32(pos + 4),
1809
1824
  };
1810
- node.decorators = deserializeVecDecorator(pos + 8);
1811
- node.id = deserializeOptionBindingIdentifier(pos + 32);
1812
- node.superClass = deserializeOptionExpression(pos + 72);
1813
- node.body = deserializeBoxClassBody(pos + 120);
1825
+ node.decorators = deserializeVecDecorator(pos + 16);
1826
+ node.id = deserializeOptionBindingIdentifier(pos + 40);
1827
+ node.superClass = deserializeOptionExpression(pos + 80);
1828
+ node.body = deserializeBoxClassBody(pos + 128);
1814
1829
  return node;
1815
1830
  }
1816
1831
 
@@ -1832,7 +1847,7 @@ function deserializeClassBody(pos) {
1832
1847
  start: deserializeU32(pos),
1833
1848
  end: deserializeU32(pos + 4),
1834
1849
  };
1835
- node.body = deserializeVecClassElement(pos + 8);
1850
+ node.body = deserializeVecClassElement(pos + 16);
1836
1851
  return node;
1837
1852
  }
1838
1853
 
@@ -1855,19 +1870,19 @@ function deserializeClassElement(pos) {
1855
1870
 
1856
1871
  function deserializeMethodDefinition(pos) {
1857
1872
  let node = {
1858
- type: deserializeMethodDefinitionType(pos + 60),
1873
+ type: deserializeMethodDefinitionType(pos + 12),
1859
1874
  decorators: null,
1860
1875
  key: null,
1861
1876
  value: null,
1862
- kind: deserializeMethodDefinitionKind(pos + 61),
1863
- computed: deserializeBool(pos + 62),
1864
- static: deserializeBool(pos + 63),
1877
+ kind: deserializeMethodDefinitionKind(pos + 13),
1878
+ computed: deserializeBool(pos + 14),
1879
+ static: deserializeBool(pos + 15),
1865
1880
  start: deserializeU32(pos),
1866
1881
  end: deserializeU32(pos + 4),
1867
1882
  };
1868
- node.decorators = deserializeVecDecorator(pos + 8);
1869
- node.key = deserializePropertyKey(pos + 32);
1870
- node.value = deserializeBoxFunction(pos + 48);
1883
+ node.decorators = deserializeVecDecorator(pos + 16);
1884
+ node.key = deserializePropertyKey(pos + 40);
1885
+ node.value = deserializeBoxFunction(pos + 56);
1871
1886
  return node;
1872
1887
  }
1873
1888
 
@@ -1884,18 +1899,18 @@ function deserializeMethodDefinitionType(pos) {
1884
1899
 
1885
1900
  function deserializePropertyDefinition(pos) {
1886
1901
  let node = {
1887
- type: deserializePropertyDefinitionType(pos + 76),
1902
+ type: deserializePropertyDefinitionType(pos + 12),
1888
1903
  decorators: null,
1889
1904
  key: null,
1890
1905
  value: null,
1891
- computed: deserializeBool(pos + 77),
1892
- static: deserializeBool(pos + 78),
1906
+ computed: deserializeBool(pos + 13),
1907
+ static: deserializeBool(pos + 14),
1893
1908
  start: deserializeU32(pos),
1894
1909
  end: deserializeU32(pos + 4),
1895
1910
  };
1896
- node.decorators = deserializeVecDecorator(pos + 8);
1897
- node.key = deserializePropertyKey(pos + 32);
1898
- node.value = deserializeOptionExpression(pos + 56);
1911
+ node.decorators = deserializeVecDecorator(pos + 16);
1912
+ node.key = deserializePropertyKey(pos + 40);
1913
+ node.value = deserializeOptionExpression(pos + 64);
1899
1914
  return node;
1900
1915
  }
1901
1916
 
@@ -1928,7 +1943,7 @@ function deserializeMethodDefinitionKind(pos) {
1928
1943
  function deserializePrivateIdentifier(pos) {
1929
1944
  return {
1930
1945
  type: "PrivateIdentifier",
1931
- name: deserializeStr(pos + 8),
1946
+ name: deserializeStr(pos + 16),
1932
1947
  start: deserializeU32(pos),
1933
1948
  end: deserializeU32(pos + 4),
1934
1949
  };
@@ -1941,7 +1956,7 @@ function deserializeStaticBlock(pos) {
1941
1956
  start: deserializeU32(pos),
1942
1957
  end: deserializeU32(pos + 4),
1943
1958
  };
1944
- node.body = deserializeVecStatement(pos + 8);
1959
+ node.body = deserializeVecStatement(pos + 16);
1945
1960
  return node;
1946
1961
  }
1947
1962
 
@@ -1958,18 +1973,18 @@ function deserializeAccessorPropertyType(pos) {
1958
1973
 
1959
1974
  function deserializeAccessorProperty(pos) {
1960
1975
  let node = {
1961
- type: deserializeAccessorPropertyType(pos + 76),
1976
+ type: deserializeAccessorPropertyType(pos + 12),
1962
1977
  decorators: null,
1963
1978
  key: null,
1964
1979
  value: null,
1965
- computed: deserializeBool(pos + 77),
1966
- static: deserializeBool(pos + 78),
1980
+ computed: deserializeBool(pos + 13),
1981
+ static: deserializeBool(pos + 14),
1967
1982
  start: deserializeU32(pos),
1968
1983
  end: deserializeU32(pos + 4),
1969
1984
  };
1970
- node.decorators = deserializeVecDecorator(pos + 8);
1971
- node.key = deserializePropertyKey(pos + 32);
1972
- node.value = deserializeOptionExpression(pos + 56);
1985
+ node.decorators = deserializeVecDecorator(pos + 16);
1986
+ node.key = deserializePropertyKey(pos + 40);
1987
+ node.value = deserializeOptionExpression(pos + 64);
1973
1988
  return node;
1974
1989
  }
1975
1990
 
@@ -1978,12 +1993,12 @@ function deserializeImportExpression(pos) {
1978
1993
  type: "ImportExpression",
1979
1994
  source: null,
1980
1995
  options: null,
1981
- phase: deserializeOptionImportPhase(pos + 44),
1996
+ phase: deserializeOptionImportPhase(pos + 12),
1982
1997
  start: deserializeU32(pos),
1983
1998
  end: deserializeU32(pos + 4),
1984
1999
  };
1985
- node.source = deserializeExpression(pos + 8);
1986
- node.options = deserializeOptionExpression(pos + 24);
2000
+ node.source = deserializeExpression(pos + 16);
2001
+ node.options = deserializeOptionExpression(pos + 32);
1987
2002
  return node;
1988
2003
  }
1989
2004
 
@@ -1992,16 +2007,16 @@ function deserializeImportDeclaration(pos) {
1992
2007
  type: "ImportDeclaration",
1993
2008
  specifiers: null,
1994
2009
  source: null,
1995
- phase: deserializeOptionImportPhase(pos + 92),
2010
+ phase: deserializeOptionImportPhase(pos + 12),
1996
2011
  attributes: null,
1997
2012
  start: deserializeU32(pos),
1998
2013
  end: deserializeU32(pos + 4),
1999
2014
  },
2000
- specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 8);
2015
+ specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 16);
2001
2016
  specifiers === null && (specifiers = []);
2002
- let withClause = deserializeOptionBoxWithClause(pos + 80);
2017
+ let withClause = deserializeOptionBoxWithClause(pos + 88);
2003
2018
  node.specifiers = specifiers;
2004
- node.source = deserializeStringLiteral(pos + 32);
2019
+ node.source = deserializeStringLiteral(pos + 40);
2005
2020
  node.attributes = withClause === null ? [] : withClause.attributes;
2006
2021
  return node;
2007
2022
  }
@@ -2038,8 +2053,8 @@ function deserializeImportSpecifier(pos) {
2038
2053
  start: deserializeU32(pos),
2039
2054
  end: deserializeU32(pos + 4),
2040
2055
  };
2041
- node.imported = deserializeModuleExportName(pos + 8);
2042
- node.local = deserializeBindingIdentifier(pos + 64);
2056
+ node.imported = deserializeModuleExportName(pos + 16);
2057
+ node.local = deserializeBindingIdentifier(pos + 72);
2043
2058
  return node;
2044
2059
  }
2045
2060
 
@@ -2050,7 +2065,7 @@ function deserializeImportDefaultSpecifier(pos) {
2050
2065
  start: deserializeU32(pos),
2051
2066
  end: deserializeU32(pos + 4),
2052
2067
  };
2053
- node.local = deserializeBindingIdentifier(pos + 8);
2068
+ node.local = deserializeBindingIdentifier(pos + 16);
2054
2069
  return node;
2055
2070
  }
2056
2071
 
@@ -2061,16 +2076,12 @@ function deserializeImportNamespaceSpecifier(pos) {
2061
2076
  start: deserializeU32(pos),
2062
2077
  end: deserializeU32(pos + 4),
2063
2078
  };
2064
- node.local = deserializeBindingIdentifier(pos + 8);
2079
+ node.local = deserializeBindingIdentifier(pos + 16);
2065
2080
  return node;
2066
2081
  }
2067
2082
 
2068
2083
  function deserializeWithClause(pos) {
2069
- return {
2070
- attributes: deserializeVecImportAttribute(pos + 8),
2071
- start: deserializeU32(pos),
2072
- end: deserializeU32(pos + 4),
2073
- };
2084
+ return { attributes: deserializeVecImportAttribute(pos + 16) };
2074
2085
  }
2075
2086
 
2076
2087
  function deserializeImportAttribute(pos) {
@@ -2081,8 +2092,8 @@ function deserializeImportAttribute(pos) {
2081
2092
  start: deserializeU32(pos),
2082
2093
  end: deserializeU32(pos + 4),
2083
2094
  };
2084
- node.key = deserializeImportAttributeKey(pos + 8);
2085
- node.value = deserializeStringLiteral(pos + 64);
2095
+ node.key = deserializeImportAttributeKey(pos + 16);
2096
+ node.value = deserializeStringLiteral(pos + 72);
2086
2097
  return node;
2087
2098
  }
2088
2099
 
@@ -2107,10 +2118,10 @@ function deserializeExportNamedDeclaration(pos) {
2107
2118
  start: deserializeU32(pos),
2108
2119
  end: deserializeU32(pos + 4),
2109
2120
  },
2110
- withClause = deserializeOptionBoxWithClause(pos + 96);
2111
- node.declaration = deserializeOptionDeclaration(pos + 8);
2112
- node.specifiers = deserializeVecExportSpecifier(pos + 24);
2113
- node.source = deserializeOptionStringLiteral(pos + 48);
2121
+ withClause = deserializeOptionBoxWithClause(pos + 104);
2122
+ node.declaration = deserializeOptionDeclaration(pos + 16);
2123
+ node.specifiers = deserializeVecExportSpecifier(pos + 32);
2124
+ node.source = deserializeOptionStringLiteral(pos + 56);
2114
2125
  node.attributes = withClause === null ? [] : withClause.attributes;
2115
2126
  return node;
2116
2127
  }
@@ -2122,7 +2133,7 @@ function deserializeExportDefaultDeclaration(pos) {
2122
2133
  start: deserializeU32(pos),
2123
2134
  end: deserializeU32(pos + 4),
2124
2135
  };
2125
- node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2136
+ node.declaration = deserializeExportDefaultDeclarationKind(pos + 16);
2126
2137
  return node;
2127
2138
  }
2128
2139
 
@@ -2135,9 +2146,9 @@ function deserializeExportAllDeclaration(pos) {
2135
2146
  start: deserializeU32(pos),
2136
2147
  end: deserializeU32(pos + 4),
2137
2148
  },
2138
- withClause = deserializeOptionBoxWithClause(pos + 112);
2139
- node.exported = deserializeOptionModuleExportName(pos + 8);
2140
- node.source = deserializeStringLiteral(pos + 64);
2149
+ withClause = deserializeOptionBoxWithClause(pos + 120);
2150
+ node.exported = deserializeOptionModuleExportName(pos + 16);
2151
+ node.source = deserializeStringLiteral(pos + 72);
2141
2152
  node.attributes = withClause === null ? [] : withClause.attributes;
2142
2153
  return node;
2143
2154
  }
@@ -2150,8 +2161,8 @@ function deserializeExportSpecifier(pos) {
2150
2161
  start: deserializeU32(pos),
2151
2162
  end: deserializeU32(pos + 4),
2152
2163
  };
2153
- node.local = deserializeModuleExportName(pos + 8);
2154
- node.exported = deserializeModuleExportName(pos + 64);
2164
+ node.local = deserializeModuleExportName(pos + 16);
2165
+ node.exported = deserializeModuleExportName(pos + 72);
2155
2166
  return node;
2156
2167
  }
2157
2168
 
@@ -2275,8 +2286,8 @@ function deserializeV8IntrinsicExpression(pos) {
2275
2286
  start: deserializeU32(pos),
2276
2287
  end: deserializeU32(pos + 4),
2277
2288
  };
2278
- node.name = deserializeIdentifierName(pos + 8);
2279
- node.arguments = deserializeVecArgument(pos + 40);
2289
+ node.name = deserializeIdentifierName(pos + 16);
2290
+ node.arguments = deserializeVecArgument(pos + 48);
2280
2291
  return node;
2281
2292
  }
2282
2293
 
@@ -2310,55 +2321,75 @@ function deserializeNullLiteral(pos) {
2310
2321
  }
2311
2322
 
2312
2323
  function deserializeNumericLiteral(pos) {
2324
+ let start = deserializeU32(pos),
2325
+ end = deserializeU32(pos + 4);
2313
2326
  return {
2314
2327
  type: "Literal",
2315
- value: deserializeF64(pos + 8),
2316
- raw: deserializeOptionStr(pos + 16),
2317
- start: deserializeU32(pos),
2318
- end: deserializeU32(pos + 4),
2328
+ value: deserializeF64(pos + 32),
2329
+ raw:
2330
+ uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0
2331
+ ? null
2332
+ : sourceText.slice(start, end),
2333
+ start,
2334
+ end,
2319
2335
  };
2320
2336
  }
2321
2337
 
2322
2338
  function deserializeStringLiteral(pos) {
2323
- let node = {
2339
+ let start = deserializeU32(pos),
2340
+ end = deserializeU32(pos + 4),
2341
+ node = {
2324
2342
  type: "Literal",
2325
2343
  value: null,
2326
- raw: deserializeOptionStr(pos + 24),
2327
- start: deserializeU32(pos),
2328
- end: deserializeU32(pos + 4),
2344
+ raw:
2345
+ uint32[(pos + 32) >> 2] === 0 && uint32[(pos + 36) >> 2] === 0
2346
+ ? null
2347
+ : sourceText.slice(start, end),
2348
+ start,
2349
+ end,
2329
2350
  },
2330
- value = deserializeStr(pos + 8);
2331
- deserializeBool(pos + 44) &&
2351
+ value = deserializeStr(pos + 16);
2352
+ deserializeBool(pos + 12) &&
2332
2353
  (value = value.replace(/\uFFFD(.{4})/g, (_, hex) => String.fromCodePoint(parseInt(hex, 16))));
2333
2354
  node.value = value;
2334
2355
  return node;
2335
2356
  }
2336
2357
 
2337
2358
  function deserializeBigIntLiteral(pos) {
2338
- let node = {
2359
+ let start = deserializeU32(pos),
2360
+ end = deserializeU32(pos + 4),
2361
+ node = {
2339
2362
  type: "Literal",
2340
2363
  value: null,
2341
- raw: deserializeOptionStr(pos + 24),
2364
+ raw:
2365
+ uint32[(pos + 32) >> 2] === 0 && uint32[(pos + 36) >> 2] === 0
2366
+ ? null
2367
+ : sourceText.slice(start, end),
2342
2368
  bigint: null,
2343
- start: deserializeU32(pos),
2344
- end: deserializeU32(pos + 4),
2369
+ start,
2370
+ end,
2345
2371
  },
2346
- bigint = deserializeStr(pos + 8);
2372
+ bigint = deserializeStr(pos + 16);
2347
2373
  node.value = BigInt(bigint);
2348
2374
  node.bigint = bigint;
2349
2375
  return node;
2350
2376
  }
2351
2377
 
2352
2378
  function deserializeRegExpLiteral(pos) {
2353
- let node = {
2379
+ let start = deserializeU32(pos),
2380
+ end = deserializeU32(pos + 4),
2381
+ node = {
2354
2382
  type: "Literal",
2355
2383
  value: null,
2356
- raw: deserializeOptionStr(pos + 40),
2384
+ raw:
2385
+ uint32[(pos + 48) >> 2] === 0 && uint32[(pos + 52) >> 2] === 0
2386
+ ? null
2387
+ : sourceText.slice(start, end),
2357
2388
  regex: null,
2358
- start: deserializeU32(pos),
2359
- end: deserializeU32(pos + 4),
2389
+ start,
2390
+ end,
2360
2391
  },
2361
- regex = deserializeRegExp(pos + 8),
2392
+ regex = deserializeRegExp(pos + 16),
2362
2393
  value = null;
2363
2394
  try {
2364
2395
  value = new RegExp(regex.pattern, regex.flags);
@@ -2399,11 +2430,11 @@ function deserializeJSXElement(pos) {
2399
2430
  start: deserializeU32(pos),
2400
2431
  end: deserializeU32(pos + 4),
2401
2432
  },
2402
- closingElement = deserializeOptionBoxJSXClosingElement(pos + 40),
2403
- openingElement = deserializeBoxJSXOpeningElement(pos + 8);
2433
+ closingElement = deserializeOptionBoxJSXClosingElement(pos + 48),
2434
+ openingElement = deserializeBoxJSXOpeningElement(pos + 16);
2404
2435
  closingElement === null && (openingElement.selfClosing = true);
2405
2436
  node.openingElement = openingElement;
2406
- node.children = deserializeVecJSXChild(pos + 16);
2437
+ node.children = deserializeVecJSXChild(pos + 24);
2407
2438
  node.closingElement = closingElement;
2408
2439
  return node;
2409
2440
  }
@@ -2417,8 +2448,8 @@ function deserializeJSXOpeningElement(pos) {
2417
2448
  start: deserializeU32(pos),
2418
2449
  end: deserializeU32(pos + 4),
2419
2450
  };
2420
- node.name = deserializeJSXElementName(pos + 8);
2421
- node.attributes = deserializeVecJSXAttributeItem(pos + 32);
2451
+ node.name = deserializeJSXElementName(pos + 16);
2452
+ node.attributes = deserializeVecJSXAttributeItem(pos + 40);
2422
2453
  node.selfClosing = false;
2423
2454
  return node;
2424
2455
  }
@@ -2430,7 +2461,7 @@ function deserializeJSXClosingElement(pos) {
2430
2461
  start: deserializeU32(pos),
2431
2462
  end: deserializeU32(pos + 4),
2432
2463
  };
2433
- node.name = deserializeJSXElementName(pos + 8);
2464
+ node.name = deserializeJSXElementName(pos + 16);
2434
2465
  return node;
2435
2466
  }
2436
2467
 
@@ -2443,9 +2474,9 @@ function deserializeJSXFragment(pos) {
2443
2474
  start: deserializeU32(pos),
2444
2475
  end: deserializeU32(pos + 4),
2445
2476
  };
2446
- node.openingFragment = deserializeJSXOpeningFragment(pos + 8);
2447
- node.children = deserializeVecJSXChild(pos + 24);
2448
- node.closingFragment = deserializeJSXClosingFragment(pos + 48);
2477
+ node.openingFragment = deserializeJSXOpeningFragment(pos + 16);
2478
+ node.children = deserializeVecJSXChild(pos + 32);
2479
+ node.closingFragment = deserializeJSXClosingFragment(pos + 56);
2449
2480
  return node;
2450
2481
  }
2451
2482
 
@@ -2507,8 +2538,8 @@ function deserializeJSXNamespacedName(pos) {
2507
2538
  start: deserializeU32(pos),
2508
2539
  end: deserializeU32(pos + 4),
2509
2540
  };
2510
- node.namespace = deserializeJSXIdentifier(pos + 8);
2511
- node.name = deserializeJSXIdentifier(pos + 40);
2541
+ node.namespace = deserializeJSXIdentifier(pos + 16);
2542
+ node.name = deserializeJSXIdentifier(pos + 48);
2512
2543
  return node;
2513
2544
  }
2514
2545
 
@@ -2520,8 +2551,8 @@ function deserializeJSXMemberExpression(pos) {
2520
2551
  start: deserializeU32(pos),
2521
2552
  end: deserializeU32(pos + 4),
2522
2553
  };
2523
- node.object = deserializeJSXMemberExpressionObject(pos + 8);
2524
- node.property = deserializeJSXIdentifier(pos + 24);
2554
+ node.object = deserializeJSXMemberExpressionObject(pos + 16);
2555
+ node.property = deserializeJSXIdentifier(pos + 32);
2525
2556
  return node;
2526
2557
  }
2527
2558
 
@@ -2557,7 +2588,7 @@ function deserializeJSXExpressionContainer(pos) {
2557
2588
  start: deserializeU32(pos),
2558
2589
  end: deserializeU32(pos + 4),
2559
2590
  };
2560
- node.expression = deserializeJSXExpression(pos + 8);
2591
+ node.expression = deserializeJSXExpression(pos + 16);
2561
2592
  return node;
2562
2593
  }
2563
2594
 
@@ -2683,8 +2714,8 @@ function deserializeJSXAttribute(pos) {
2683
2714
  start: deserializeU32(pos),
2684
2715
  end: deserializeU32(pos + 4),
2685
2716
  };
2686
- node.name = deserializeJSXAttributeName(pos + 8);
2687
- node.value = deserializeOptionJSXAttributeValue(pos + 24);
2717
+ node.name = deserializeJSXAttributeName(pos + 16);
2718
+ node.value = deserializeOptionJSXAttributeValue(pos + 32);
2688
2719
  return node;
2689
2720
  }
2690
2721
 
@@ -2695,7 +2726,7 @@ function deserializeJSXSpreadAttribute(pos) {
2695
2726
  start: deserializeU32(pos),
2696
2727
  end: deserializeU32(pos + 4),
2697
2728
  };
2698
- node.argument = deserializeExpression(pos + 8);
2729
+ node.argument = deserializeExpression(pos + 16);
2699
2730
  return node;
2700
2731
  }
2701
2732
 
@@ -2728,7 +2759,7 @@ function deserializeJSXAttributeValue(pos) {
2728
2759
  function deserializeJSXIdentifier(pos) {
2729
2760
  return {
2730
2761
  type: "JSXIdentifier",
2731
- name: deserializeStr(pos + 8),
2762
+ name: deserializeStr(pos + 16),
2732
2763
  start: deserializeU32(pos),
2733
2764
  end: deserializeU32(pos + 4),
2734
2765
  };
@@ -2758,17 +2789,22 @@ function deserializeJSXSpreadChild(pos) {
2758
2789
  start: deserializeU32(pos),
2759
2790
  end: deserializeU32(pos + 4),
2760
2791
  };
2761
- node.expression = deserializeExpression(pos + 8);
2792
+ node.expression = deserializeExpression(pos + 16);
2762
2793
  return node;
2763
2794
  }
2764
2795
 
2765
2796
  function deserializeJSXText(pos) {
2797
+ let start = deserializeU32(pos),
2798
+ end = deserializeU32(pos + 4);
2766
2799
  return {
2767
2800
  type: "JSXText",
2768
- value: deserializeStr(pos + 8),
2769
- raw: deserializeOptionStr(pos + 24),
2770
- start: deserializeU32(pos),
2771
- end: deserializeU32(pos + 4),
2801
+ value: deserializeStr(pos + 16),
2802
+ raw:
2803
+ uint32[(pos + 32) >> 2] === 0 && uint32[(pos + 36) >> 2] === 0
2804
+ ? null
2805
+ : sourceText.slice(start, end),
2806
+ start,
2807
+ end,
2772
2808
  };
2773
2809
  }
2774
2810
 
@@ -2785,7 +2821,7 @@ function deserializeTSThisParameter(pos) {
2785
2821
  node.decorators = [];
2786
2822
  node.name = "this";
2787
2823
  node.optional = false;
2788
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 16);
2824
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
2789
2825
  return node;
2790
2826
  }
2791
2827
 
@@ -2794,13 +2830,13 @@ function deserializeTSEnumDeclaration(pos) {
2794
2830
  type: "TSEnumDeclaration",
2795
2831
  id: null,
2796
2832
  body: null,
2797
- const: deserializeBool(pos + 84),
2798
- declare: deserializeBool(pos + 85),
2833
+ const: deserializeBool(pos + 12),
2834
+ declare: deserializeBool(pos + 13),
2799
2835
  start: deserializeU32(pos),
2800
2836
  end: deserializeU32(pos + 4),
2801
2837
  };
2802
- node.id = deserializeBindingIdentifier(pos + 8);
2803
- node.body = deserializeTSEnumBody(pos + 40);
2838
+ node.id = deserializeBindingIdentifier(pos + 16);
2839
+ node.body = deserializeTSEnumBody(pos + 48);
2804
2840
  return node;
2805
2841
  }
2806
2842
 
@@ -2811,7 +2847,7 @@ function deserializeTSEnumBody(pos) {
2811
2847
  start: deserializeU32(pos),
2812
2848
  end: deserializeU32(pos + 4),
2813
2849
  };
2814
- node.members = deserializeVecTSEnumMember(pos + 8);
2850
+ node.members = deserializeVecTSEnumMember(pos + 16);
2815
2851
  return node;
2816
2852
  }
2817
2853
 
@@ -2824,9 +2860,9 @@ function deserializeTSEnumMember(pos) {
2824
2860
  start: deserializeU32(pos),
2825
2861
  end: deserializeU32(pos + 4),
2826
2862
  };
2827
- node.id = deserializeTSEnumMemberName(pos + 8);
2828
- node.initializer = deserializeOptionExpression(pos + 24);
2829
- node.computed = deserializeU8(pos + 8) > 1;
2863
+ node.id = deserializeTSEnumMemberName(pos + 16);
2864
+ node.initializer = deserializeOptionExpression(pos + 32);
2865
+ node.computed = deserializeU8(pos + 16) > 1;
2830
2866
  return node;
2831
2867
  }
2832
2868
 
@@ -2852,7 +2888,7 @@ function deserializeTSTypeAnnotation(pos) {
2852
2888
  start: deserializeU32(pos),
2853
2889
  end: deserializeU32(pos + 4),
2854
2890
  };
2855
- node.typeAnnotation = deserializeTSType(pos + 8);
2891
+ node.typeAnnotation = deserializeTSType(pos + 16);
2856
2892
  return node;
2857
2893
  }
2858
2894
 
@@ -2863,7 +2899,7 @@ function deserializeTSLiteralType(pos) {
2863
2899
  start: deserializeU32(pos),
2864
2900
  end: deserializeU32(pos + 4),
2865
2901
  };
2866
- node.literal = deserializeTSLiteral(pos + 8);
2902
+ node.literal = deserializeTSLiteral(pos + 16);
2867
2903
  return node;
2868
2904
  }
2869
2905
 
@@ -2977,10 +3013,10 @@ function deserializeTSConditionalType(pos) {
2977
3013
  start: deserializeU32(pos),
2978
3014
  end: deserializeU32(pos + 4),
2979
3015
  };
2980
- node.checkType = deserializeTSType(pos + 8);
2981
- node.extendsType = deserializeTSType(pos + 24);
2982
- node.trueType = deserializeTSType(pos + 40);
2983
- node.falseType = deserializeTSType(pos + 56);
3016
+ node.checkType = deserializeTSType(pos + 16);
3017
+ node.extendsType = deserializeTSType(pos + 32);
3018
+ node.trueType = deserializeTSType(pos + 48);
3019
+ node.falseType = deserializeTSType(pos + 64);
2984
3020
  return node;
2985
3021
  }
2986
3022
 
@@ -2991,7 +3027,7 @@ function deserializeTSUnionType(pos) {
2991
3027
  start: deserializeU32(pos),
2992
3028
  end: deserializeU32(pos + 4),
2993
3029
  };
2994
- node.types = deserializeVecTSType(pos + 8);
3030
+ node.types = deserializeVecTSType(pos + 16);
2995
3031
  return node;
2996
3032
  }
2997
3033
 
@@ -3002,7 +3038,7 @@ function deserializeTSIntersectionType(pos) {
3002
3038
  start: deserializeU32(pos),
3003
3039
  end: deserializeU32(pos + 4),
3004
3040
  };
3005
- node.types = deserializeVecTSType(pos + 8);
3041
+ node.types = deserializeVecTSType(pos + 16);
3006
3042
  return node;
3007
3043
  }
3008
3044
 
@@ -3014,19 +3050,19 @@ function deserializeTSParenthesizedType(pos) {
3014
3050
  start: deserializeU32(pos),
3015
3051
  end: deserializeU32(pos + 4),
3016
3052
  };
3017
- node.typeAnnotation = deserializeTSType(pos + 8);
3053
+ node.typeAnnotation = deserializeTSType(pos + 16);
3018
3054
  return node;
3019
3055
  }
3020
3056
 
3021
3057
  function deserializeTSTypeOperator(pos) {
3022
3058
  let node = {
3023
3059
  type: "TSTypeOperator",
3024
- operator: deserializeTSTypeOperatorOperator(pos + 28),
3060
+ operator: deserializeTSTypeOperatorOperator(pos + 12),
3025
3061
  typeAnnotation: null,
3026
3062
  start: deserializeU32(pos),
3027
3063
  end: deserializeU32(pos + 4),
3028
3064
  };
3029
- node.typeAnnotation = deserializeTSType(pos + 8);
3065
+ node.typeAnnotation = deserializeTSType(pos + 16);
3030
3066
  return node;
3031
3067
  }
3032
3068
 
@@ -3050,7 +3086,7 @@ function deserializeTSArrayType(pos) {
3050
3086
  start: deserializeU32(pos),
3051
3087
  end: deserializeU32(pos + 4),
3052
3088
  };
3053
- node.elementType = deserializeTSType(pos + 8);
3089
+ node.elementType = deserializeTSType(pos + 16);
3054
3090
  return node;
3055
3091
  }
3056
3092
 
@@ -3062,8 +3098,8 @@ function deserializeTSIndexedAccessType(pos) {
3062
3098
  start: deserializeU32(pos),
3063
3099
  end: deserializeU32(pos + 4),
3064
3100
  };
3065
- node.objectType = deserializeTSType(pos + 8);
3066
- node.indexType = deserializeTSType(pos + 24);
3101
+ node.objectType = deserializeTSType(pos + 16);
3102
+ node.indexType = deserializeTSType(pos + 32);
3067
3103
  return node;
3068
3104
  }
3069
3105
 
@@ -3074,7 +3110,7 @@ function deserializeTSTupleType(pos) {
3074
3110
  start: deserializeU32(pos),
3075
3111
  end: deserializeU32(pos + 4),
3076
3112
  };
3077
- node.elementTypes = deserializeVecTSTupleElement(pos + 8);
3113
+ node.elementTypes = deserializeVecTSTupleElement(pos + 16);
3078
3114
  return node;
3079
3115
  }
3080
3116
 
@@ -3083,12 +3119,12 @@ function deserializeTSNamedTupleMember(pos) {
3083
3119
  type: "TSNamedTupleMember",
3084
3120
  label: null,
3085
3121
  elementType: null,
3086
- optional: deserializeBool(pos + 60),
3122
+ optional: deserializeBool(pos + 12),
3087
3123
  start: deserializeU32(pos),
3088
3124
  end: deserializeU32(pos + 4),
3089
3125
  };
3090
- node.label = deserializeIdentifierName(pos + 8);
3091
- node.elementType = deserializeTSTupleElement(pos + 40);
3126
+ node.label = deserializeIdentifierName(pos + 16);
3127
+ node.elementType = deserializeTSTupleElement(pos + 48);
3092
3128
  return node;
3093
3129
  }
3094
3130
 
@@ -3099,7 +3135,7 @@ function deserializeTSOptionalType(pos) {
3099
3135
  start: deserializeU32(pos),
3100
3136
  end: deserializeU32(pos + 4),
3101
3137
  };
3102
- node.typeAnnotation = deserializeTSType(pos + 8);
3138
+ node.typeAnnotation = deserializeTSType(pos + 16);
3103
3139
  return node;
3104
3140
  }
3105
3141
 
@@ -3110,7 +3146,7 @@ function deserializeTSRestType(pos) {
3110
3146
  start: deserializeU32(pos),
3111
3147
  end: deserializeU32(pos + 4),
3112
3148
  };
3113
- node.typeAnnotation = deserializeTSType(pos + 8);
3149
+ node.typeAnnotation = deserializeTSType(pos + 16);
3114
3150
  return node;
3115
3151
  }
3116
3152
 
@@ -3319,8 +3355,8 @@ function deserializeTSTypeReference(pos) {
3319
3355
  start: deserializeU32(pos),
3320
3356
  end: deserializeU32(pos + 4),
3321
3357
  };
3322
- node.typeName = deserializeTSTypeName(pos + 8);
3323
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3358
+ node.typeName = deserializeTSTypeName(pos + 16);
3359
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3324
3360
  return node;
3325
3361
  }
3326
3362
 
@@ -3345,8 +3381,8 @@ function deserializeTSQualifiedName(pos) {
3345
3381
  start: deserializeU32(pos),
3346
3382
  end: deserializeU32(pos + 4),
3347
3383
  };
3348
- node.left = deserializeTSTypeName(pos + 8);
3349
- node.right = deserializeIdentifierName(pos + 24);
3384
+ node.left = deserializeTSTypeName(pos + 16);
3385
+ node.right = deserializeIdentifierName(pos + 32);
3350
3386
  return node;
3351
3387
  }
3352
3388
 
@@ -3357,7 +3393,7 @@ function deserializeTSTypeParameterInstantiation(pos) {
3357
3393
  start: deserializeU32(pos),
3358
3394
  end: deserializeU32(pos + 4),
3359
3395
  };
3360
- node.params = deserializeVecTSType(pos + 8);
3396
+ node.params = deserializeVecTSType(pos + 16);
3361
3397
  return node;
3362
3398
  }
3363
3399
 
@@ -3367,15 +3403,15 @@ function deserializeTSTypeParameter(pos) {
3367
3403
  name: null,
3368
3404
  constraint: null,
3369
3405
  default: null,
3370
- in: deserializeBool(pos + 76),
3371
- out: deserializeBool(pos + 77),
3372
- const: deserializeBool(pos + 78),
3406
+ in: deserializeBool(pos + 12),
3407
+ out: deserializeBool(pos + 13),
3408
+ const: deserializeBool(pos + 14),
3373
3409
  start: deserializeU32(pos),
3374
3410
  end: deserializeU32(pos + 4),
3375
3411
  };
3376
- node.name = deserializeBindingIdentifier(pos + 8);
3377
- node.constraint = deserializeOptionTSType(pos + 40);
3378
- node.default = deserializeOptionTSType(pos + 56);
3412
+ node.name = deserializeBindingIdentifier(pos + 16);
3413
+ node.constraint = deserializeOptionTSType(pos + 48);
3414
+ node.default = deserializeOptionTSType(pos + 64);
3379
3415
  return node;
3380
3416
  }
3381
3417
 
@@ -3386,7 +3422,7 @@ function deserializeTSTypeParameterDeclaration(pos) {
3386
3422
  start: deserializeU32(pos),
3387
3423
  end: deserializeU32(pos + 4),
3388
3424
  };
3389
- node.params = deserializeVecTSTypeParameter(pos + 8);
3425
+ node.params = deserializeVecTSTypeParameter(pos + 16);
3390
3426
  return node;
3391
3427
  }
3392
3428
 
@@ -3400,9 +3436,9 @@ function deserializeTSTypeAliasDeclaration(pos) {
3400
3436
  start: deserializeU32(pos),
3401
3437
  end: deserializeU32(pos + 4),
3402
3438
  };
3403
- node.id = deserializeBindingIdentifier(pos + 8);
3404
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3405
- node.typeAnnotation = deserializeTSType(pos + 48);
3439
+ node.id = deserializeBindingIdentifier(pos + 16);
3440
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3441
+ node.typeAnnotation = deserializeTSType(pos + 56);
3406
3442
  return node;
3407
3443
  }
3408
3444
 
@@ -3417,10 +3453,10 @@ function deserializeTSInterfaceDeclaration(pos) {
3417
3453
  start: deserializeU32(pos),
3418
3454
  end: deserializeU32(pos + 4),
3419
3455
  };
3420
- node.id = deserializeBindingIdentifier(pos + 8);
3421
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 40);
3422
- node.extends = deserializeVecTSInterfaceHeritage(pos + 48);
3423
- node.body = deserializeBoxTSInterfaceBody(pos + 72);
3456
+ node.id = deserializeBindingIdentifier(pos + 16);
3457
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
3458
+ node.extends = deserializeVecTSInterfaceHeritage(pos + 56);
3459
+ node.body = deserializeBoxTSInterfaceBody(pos + 80);
3424
3460
  return node;
3425
3461
  }
3426
3462
 
@@ -3431,16 +3467,16 @@ function deserializeTSInterfaceBody(pos) {
3431
3467
  start: deserializeU32(pos),
3432
3468
  end: deserializeU32(pos + 4),
3433
3469
  };
3434
- node.body = deserializeVecTSSignature(pos + 8);
3470
+ node.body = deserializeVecTSSignature(pos + 16);
3435
3471
  return node;
3436
3472
  }
3437
3473
 
3438
3474
  function deserializeTSPropertySignature(pos) {
3439
3475
  let node = {
3440
3476
  type: "TSPropertySignature",
3441
- computed: deserializeBool(pos + 36),
3442
- optional: deserializeBool(pos + 37),
3443
- readonly: deserializeBool(pos + 38),
3477
+ computed: deserializeBool(pos + 12),
3478
+ optional: deserializeBool(pos + 13),
3479
+ readonly: deserializeBool(pos + 14),
3444
3480
  key: null,
3445
3481
  typeAnnotation: null,
3446
3482
  accessibility: null,
@@ -3448,8 +3484,8 @@ function deserializeTSPropertySignature(pos) {
3448
3484
  start: deserializeU32(pos),
3449
3485
  end: deserializeU32(pos + 4),
3450
3486
  };
3451
- node.key = deserializePropertyKey(pos + 8);
3452
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3487
+ node.key = deserializePropertyKey(pos + 16);
3488
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3453
3489
  node.static = false;
3454
3490
  return node;
3455
3491
  }
@@ -3476,14 +3512,14 @@ function deserializeTSIndexSignature(pos) {
3476
3512
  type: "TSIndexSignature",
3477
3513
  parameters: null,
3478
3514
  typeAnnotation: null,
3479
- readonly: deserializeBool(pos + 44),
3480
- static: deserializeBool(pos + 45),
3515
+ readonly: deserializeBool(pos + 12),
3516
+ static: deserializeBool(pos + 13),
3481
3517
  accessibility: null,
3482
3518
  start: deserializeU32(pos),
3483
3519
  end: deserializeU32(pos + 4),
3484
3520
  };
3485
- node.parameters = deserializeVecTSIndexSignatureName(pos + 8);
3486
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3521
+ node.parameters = deserializeVecTSIndexSignatureName(pos + 16);
3522
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 40);
3487
3523
  return node;
3488
3524
  }
3489
3525
 
@@ -3496,12 +3532,12 @@ function deserializeTSCallSignatureDeclaration(pos) {
3496
3532
  start: deserializeU32(pos),
3497
3533
  end: deserializeU32(pos + 4),
3498
3534
  },
3499
- params = deserializeBoxFormalParameters(pos + 24),
3500
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
3535
+ params = deserializeBoxFormalParameters(pos + 32),
3536
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
3501
3537
  thisParam !== null && params.unshift(thisParam);
3502
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3538
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3503
3539
  node.params = params;
3504
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3540
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 40);
3505
3541
  return node;
3506
3542
  }
3507
3543
 
@@ -3534,13 +3570,13 @@ function deserializeTSMethodSignature(pos) {
3534
3570
  start: deserializeU32(pos),
3535
3571
  end: deserializeU32(pos + 4),
3536
3572
  },
3537
- params = deserializeBoxFormalParameters(pos + 40),
3538
- thisParam = deserializeOptionBoxTSThisParameter(pos + 32);
3573
+ params = deserializeBoxFormalParameters(pos + 48),
3574
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 40);
3539
3575
  thisParam !== null && params.unshift(thisParam);
3540
- node.key = deserializePropertyKey(pos + 8);
3541
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 24);
3576
+ node.key = deserializePropertyKey(pos + 16);
3577
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 32);
3542
3578
  node.params = params;
3543
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 48);
3579
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 56);
3544
3580
  node.readonly = false;
3545
3581
  node.static = false;
3546
3582
  return node;
@@ -3555,9 +3591,9 @@ function deserializeTSConstructSignatureDeclaration(pos) {
3555
3591
  start: deserializeU32(pos),
3556
3592
  end: deserializeU32(pos + 4),
3557
3593
  };
3558
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3559
- node.params = deserializeBoxFormalParameters(pos + 16);
3560
- node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
3594
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3595
+ node.params = deserializeBoxFormalParameters(pos + 24);
3596
+ node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3561
3597
  return node;
3562
3598
  }
3563
3599
 
@@ -3565,7 +3601,7 @@ function deserializeTSIndexSignatureName(pos) {
3565
3601
  let node = {
3566
3602
  type: "Identifier",
3567
3603
  decorators: null,
3568
- name: deserializeStr(pos + 8),
3604
+ name: deserializeStr(pos + 16),
3569
3605
  optional: null,
3570
3606
  typeAnnotation: null,
3571
3607
  start: deserializeU32(pos),
@@ -3573,7 +3609,7 @@ function deserializeTSIndexSignatureName(pos) {
3573
3609
  };
3574
3610
  node.decorators = [];
3575
3611
  node.optional = false;
3576
- node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 24);
3612
+ node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3577
3613
  return node;
3578
3614
  }
3579
3615
 
@@ -3585,8 +3621,8 @@ function deserializeTSInterfaceHeritage(pos) {
3585
3621
  start: deserializeU32(pos),
3586
3622
  end: deserializeU32(pos + 4),
3587
3623
  };
3588
- node.expression = deserializeExpression(pos + 8);
3589
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3624
+ node.expression = deserializeExpression(pos + 16);
3625
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3590
3626
  return node;
3591
3627
  }
3592
3628
 
@@ -3594,13 +3630,13 @@ function deserializeTSTypePredicate(pos) {
3594
3630
  let node = {
3595
3631
  type: "TSTypePredicate",
3596
3632
  parameterName: null,
3597
- asserts: deserializeBool(pos + 44),
3633
+ asserts: deserializeBool(pos + 12),
3598
3634
  typeAnnotation: null,
3599
3635
  start: deserializeU32(pos),
3600
3636
  end: deserializeU32(pos + 4),
3601
3637
  };
3602
- node.parameterName = deserializeTSTypePredicateName(pos + 8);
3603
- node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3638
+ node.parameterName = deserializeTSTypePredicateName(pos + 16);
3639
+ node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 40);
3604
3640
  return node;
3605
3641
  }
3606
3642
 
@@ -3621,7 +3657,7 @@ function deserializeTSModuleDeclaration(pos) {
3621
3657
  end = deserializeU32(pos + 4),
3622
3658
  declare = deserializeBool(pos + 89),
3623
3659
  node,
3624
- body = deserializeOptionTSModuleDeclarationBody(pos + 64);
3660
+ body = deserializeOptionTSModuleDeclarationBody(pos + 72);
3625
3661
  if (body === null) {
3626
3662
  node = {
3627
3663
  type: "TSModuleDeclaration",
@@ -3632,7 +3668,7 @@ function deserializeTSModuleDeclaration(pos) {
3632
3668
  start,
3633
3669
  end,
3634
3670
  };
3635
- node.id = deserializeTSModuleDeclarationName(pos + 8);
3671
+ node.id = deserializeTSModuleDeclarationName(pos + 16);
3636
3672
  } else {
3637
3673
  node = {
3638
3674
  type: "TSModuleDeclaration",
@@ -3644,7 +3680,7 @@ function deserializeTSModuleDeclaration(pos) {
3644
3680
  start,
3645
3681
  end,
3646
3682
  };
3647
- let id = deserializeTSModuleDeclarationName(pos + 8);
3683
+ let id = deserializeTSModuleDeclarationName(pos + 16);
3648
3684
  if (body.type === "TSModuleBlock") node.id = id;
3649
3685
  else {
3650
3686
  let innerId = body.id;
@@ -3731,10 +3767,10 @@ function deserializeTSGlobalDeclaration(pos) {
3731
3767
  node.id = {
3732
3768
  type: "Identifier",
3733
3769
  name: "global",
3734
- start: deserializeU32(pos + 8),
3735
- end: deserializeU32(pos + 12),
3770
+ start: deserializeU32(pos + 16),
3771
+ end: deserializeU32(pos + 20),
3736
3772
  };
3737
- node.body = deserializeTSModuleBlock(pos + 16);
3773
+ node.body = deserializeTSModuleBlock(pos + 24);
3738
3774
  node.kind = "global";
3739
3775
  node.global = true;
3740
3776
  return node;
@@ -3747,8 +3783,8 @@ function deserializeTSModuleBlock(pos) {
3747
3783
  start: deserializeU32(pos),
3748
3784
  end: deserializeU32(pos + 4),
3749
3785
  },
3750
- body = deserializeVecDirective(pos + 8);
3751
- body.push(...deserializeVecStatement(pos + 32));
3786
+ body = deserializeVecDirective(pos + 16);
3787
+ body.push(...deserializeVecStatement(pos + 40));
3752
3788
  node.body = body;
3753
3789
  return node;
3754
3790
  }
@@ -3760,7 +3796,7 @@ function deserializeTSTypeLiteral(pos) {
3760
3796
  start: deserializeU32(pos),
3761
3797
  end: deserializeU32(pos + 4),
3762
3798
  };
3763
- node.members = deserializeVecTSSignature(pos + 8);
3799
+ node.members = deserializeVecTSSignature(pos + 16);
3764
3800
  return node;
3765
3801
  }
3766
3802
 
@@ -3771,7 +3807,7 @@ function deserializeTSInferType(pos) {
3771
3807
  start: deserializeU32(pos),
3772
3808
  end: deserializeU32(pos + 4),
3773
3809
  };
3774
- node.typeParameter = deserializeBoxTSTypeParameter(pos + 8);
3810
+ node.typeParameter = deserializeBoxTSTypeParameter(pos + 16);
3775
3811
  return node;
3776
3812
  }
3777
3813
 
@@ -3783,8 +3819,8 @@ function deserializeTSTypeQuery(pos) {
3783
3819
  start: deserializeU32(pos),
3784
3820
  end: deserializeU32(pos + 4),
3785
3821
  };
3786
- node.exprName = deserializeTSTypeQueryExprName(pos + 8);
3787
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3822
+ node.exprName = deserializeTSTypeQueryExprName(pos + 16);
3823
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
3788
3824
  return node;
3789
3825
  }
3790
3826
 
@@ -3813,10 +3849,10 @@ function deserializeTSImportType(pos) {
3813
3849
  start: deserializeU32(pos),
3814
3850
  end: deserializeU32(pos + 4),
3815
3851
  };
3816
- node.source = deserializeStringLiteral(pos + 8);
3817
- node.options = deserializeOptionBoxObjectExpression(pos + 56);
3818
- node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 64);
3819
- node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 80);
3852
+ node.source = deserializeStringLiteral(pos + 16);
3853
+ node.options = deserializeOptionBoxObjectExpression(pos + 64);
3854
+ node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 72);
3855
+ node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 88);
3820
3856
  return node;
3821
3857
  }
3822
3858
 
@@ -3839,8 +3875,8 @@ function deserializeTSImportTypeQualifiedName(pos) {
3839
3875
  start: deserializeU32(pos),
3840
3876
  end: deserializeU32(pos + 4),
3841
3877
  };
3842
- node.left = deserializeTSImportTypeQualifier(pos + 8);
3843
- node.right = deserializeIdentifierName(pos + 24);
3878
+ node.left = deserializeTSImportTypeQualifier(pos + 16);
3879
+ node.right = deserializeIdentifierName(pos + 32);
3844
3880
  return node;
3845
3881
  }
3846
3882
 
@@ -3853,12 +3889,12 @@ function deserializeTSFunctionType(pos) {
3853
3889
  start: deserializeU32(pos),
3854
3890
  end: deserializeU32(pos + 4),
3855
3891
  },
3856
- params = deserializeBoxFormalParameters(pos + 24),
3857
- thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
3892
+ params = deserializeBoxFormalParameters(pos + 32),
3893
+ thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
3858
3894
  thisParam !== null && params.unshift(thisParam);
3859
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3895
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3860
3896
  node.params = params;
3861
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
3897
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 40);
3862
3898
  return node;
3863
3899
  }
3864
3900
 
@@ -3872,9 +3908,9 @@ function deserializeTSConstructorType(pos) {
3872
3908
  start: deserializeU32(pos),
3873
3909
  end: deserializeU32(pos + 4),
3874
3910
  };
3875
- node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
3876
- node.params = deserializeBoxFormalParameters(pos + 16);
3877
- node.returnType = deserializeBoxTSTypeAnnotation(pos + 24);
3911
+ node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3912
+ node.params = deserializeBoxFormalParameters(pos + 24);
3913
+ node.returnType = deserializeBoxTSTypeAnnotation(pos + 32);
3878
3914
  return node;
3879
3915
  }
3880
3916
 
@@ -3892,10 +3928,10 @@ function deserializeTSMappedType(pos) {
3892
3928
  },
3893
3929
  optional = deserializeOptionTSMappedTypeModifierOperator(pos + 96);
3894
3930
  optional === null && (optional = false);
3895
- node.key = deserializeBindingIdentifier(pos + 8);
3896
- node.constraint = deserializeTSType(pos + 40);
3897
- node.nameType = deserializeOptionTSType(pos + 56);
3898
- node.typeAnnotation = deserializeOptionTSType(pos + 72);
3931
+ node.key = deserializeBindingIdentifier(pos + 16);
3932
+ node.constraint = deserializeTSType(pos + 48);
3933
+ node.nameType = deserializeOptionTSType(pos + 64);
3934
+ node.typeAnnotation = deserializeOptionTSType(pos + 80);
3899
3935
  node.optional = optional;
3900
3936
  return node;
3901
3937
  }
@@ -3921,8 +3957,8 @@ function deserializeTSTemplateLiteralType(pos) {
3921
3957
  start: deserializeU32(pos),
3922
3958
  end: deserializeU32(pos + 4),
3923
3959
  };
3924
- node.quasis = deserializeVecTemplateElement(pos + 8);
3925
- node.types = deserializeVecTSType(pos + 32);
3960
+ node.quasis = deserializeVecTemplateElement(pos + 16);
3961
+ node.types = deserializeVecTSType(pos + 40);
3926
3962
  return node;
3927
3963
  }
3928
3964
 
@@ -3934,8 +3970,8 @@ function deserializeTSAsExpression(pos) {
3934
3970
  start: deserializeU32(pos),
3935
3971
  end: deserializeU32(pos + 4),
3936
3972
  };
3937
- node.expression = deserializeExpression(pos + 8);
3938
- node.typeAnnotation = deserializeTSType(pos + 24);
3973
+ node.expression = deserializeExpression(pos + 16);
3974
+ node.typeAnnotation = deserializeTSType(pos + 32);
3939
3975
  return node;
3940
3976
  }
3941
3977
 
@@ -3947,8 +3983,8 @@ function deserializeTSSatisfiesExpression(pos) {
3947
3983
  start: deserializeU32(pos),
3948
3984
  end: deserializeU32(pos + 4),
3949
3985
  };
3950
- node.expression = deserializeExpression(pos + 8);
3951
- node.typeAnnotation = deserializeTSType(pos + 24);
3986
+ node.expression = deserializeExpression(pos + 16);
3987
+ node.typeAnnotation = deserializeTSType(pos + 32);
3952
3988
  return node;
3953
3989
  }
3954
3990
 
@@ -3960,8 +3996,8 @@ function deserializeTSTypeAssertion(pos) {
3960
3996
  start: deserializeU32(pos),
3961
3997
  end: deserializeU32(pos + 4),
3962
3998
  };
3963
- node.typeAnnotation = deserializeTSType(pos + 8);
3964
- node.expression = deserializeExpression(pos + 24);
3999
+ node.typeAnnotation = deserializeTSType(pos + 16);
4000
+ node.expression = deserializeExpression(pos + 32);
3965
4001
  return node;
3966
4002
  }
3967
4003
 
@@ -3970,12 +4006,12 @@ function deserializeTSImportEqualsDeclaration(pos) {
3970
4006
  type: "TSImportEqualsDeclaration",
3971
4007
  id: null,
3972
4008
  moduleReference: null,
3973
- importKind: deserializeImportOrExportKind(pos + 60),
4009
+ importKind: deserializeImportOrExportKind(pos + 12),
3974
4010
  start: deserializeU32(pos),
3975
4011
  end: deserializeU32(pos + 4),
3976
4012
  };
3977
- node.id = deserializeBindingIdentifier(pos + 8);
3978
- node.moduleReference = deserializeTSModuleReference(pos + 40);
4013
+ node.id = deserializeBindingIdentifier(pos + 16);
4014
+ node.moduleReference = deserializeTSModuleReference(pos + 48);
3979
4015
  return node;
3980
4016
  }
3981
4017
 
@@ -3999,7 +4035,7 @@ function deserializeTSExternalModuleReference(pos) {
3999
4035
  start: deserializeU32(pos),
4000
4036
  end: deserializeU32(pos + 4),
4001
4037
  };
4002
- node.expression = deserializeStringLiteral(pos + 8);
4038
+ node.expression = deserializeStringLiteral(pos + 16);
4003
4039
  return node;
4004
4040
  }
4005
4041
 
@@ -4010,7 +4046,7 @@ function deserializeTSNonNullExpression(pos) {
4010
4046
  start: deserializeU32(pos),
4011
4047
  end: deserializeU32(pos + 4),
4012
4048
  };
4013
- node.expression = deserializeExpression(pos + 8);
4049
+ node.expression = deserializeExpression(pos + 16);
4014
4050
  return node;
4015
4051
  }
4016
4052
 
@@ -4021,7 +4057,7 @@ function deserializeDecorator(pos) {
4021
4057
  start: deserializeU32(pos),
4022
4058
  end: deserializeU32(pos + 4),
4023
4059
  };
4024
- node.expression = deserializeExpression(pos + 8);
4060
+ node.expression = deserializeExpression(pos + 16);
4025
4061
  return node;
4026
4062
  }
4027
4063
 
@@ -4032,7 +4068,7 @@ function deserializeTSExportAssignment(pos) {
4032
4068
  start: deserializeU32(pos),
4033
4069
  end: deserializeU32(pos + 4),
4034
4070
  };
4035
- node.expression = deserializeExpression(pos + 8);
4071
+ node.expression = deserializeExpression(pos + 16);
4036
4072
  return node;
4037
4073
  }
4038
4074
 
@@ -4043,7 +4079,7 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4043
4079
  start: deserializeU32(pos),
4044
4080
  end: deserializeU32(pos + 4),
4045
4081
  };
4046
- node.id = deserializeIdentifierName(pos + 8);
4082
+ node.id = deserializeIdentifierName(pos + 16);
4047
4083
  return node;
4048
4084
  }
4049
4085
 
@@ -4055,8 +4091,8 @@ function deserializeTSInstantiationExpression(pos) {
4055
4091
  start: deserializeU32(pos),
4056
4092
  end: deserializeU32(pos + 4),
4057
4093
  };
4058
- node.expression = deserializeExpression(pos + 8);
4059
- node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 24);
4094
+ node.expression = deserializeExpression(pos + 16);
4095
+ node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 32);
4060
4096
  return node;
4061
4097
  }
4062
4098
 
@@ -4075,11 +4111,11 @@ function deserializeJSDocNullableType(pos) {
4075
4111
  let node = {
4076
4112
  type: "TSJSDocNullableType",
4077
4113
  typeAnnotation: null,
4078
- postfix: deserializeBool(pos + 28),
4114
+ postfix: deserializeBool(pos + 12),
4079
4115
  start: deserializeU32(pos),
4080
4116
  end: deserializeU32(pos + 4),
4081
4117
  };
4082
- node.typeAnnotation = deserializeTSType(pos + 8);
4118
+ node.typeAnnotation = deserializeTSType(pos + 16);
4083
4119
  return node;
4084
4120
  }
4085
4121
 
@@ -4087,11 +4123,11 @@ function deserializeJSDocNonNullableType(pos) {
4087
4123
  let node = {
4088
4124
  type: "TSJSDocNonNullableType",
4089
4125
  typeAnnotation: null,
4090
- postfix: deserializeBool(pos + 28),
4126
+ postfix: deserializeBool(pos + 12),
4091
4127
  start: deserializeU32(pos),
4092
4128
  end: deserializeU32(pos + 4),
4093
4129
  };
4094
- node.typeAnnotation = deserializeTSType(pos + 8);
4130
+ node.typeAnnotation = deserializeTSType(pos + 16);
4095
4131
  return node;
4096
4132
  }
4097
4133
 
@@ -4128,6 +4164,26 @@ function deserializeComment(pos) {
4128
4164
  };
4129
4165
  }
4130
4166
 
4167
+ function deserializeModuleKind(pos) {
4168
+ switch (uint8[pos]) {
4169
+ case 0:
4170
+ return "script";
4171
+ case 1:
4172
+ return "module";
4173
+ case 3:
4174
+ return "commonjs";
4175
+ default:
4176
+ throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4177
+ }
4178
+ }
4179
+
4180
+ function deserializeSpan(pos) {
4181
+ return {
4182
+ start: deserializeU32(pos),
4183
+ end: deserializeU32(pos + 4),
4184
+ };
4185
+ }
4186
+
4131
4187
  function deserializeNameSpan(pos) {
4132
4188
  return {
4133
4189
  value: deserializeStr(pos + 8),
@@ -4425,26 +4481,6 @@ function deserializeUpdateOperator(pos) {
4425
4481
  }
4426
4482
  }
4427
4483
 
4428
- function deserializeSpan(pos) {
4429
- return {
4430
- start: deserializeU32(pos),
4431
- end: deserializeU32(pos + 4),
4432
- };
4433
- }
4434
-
4435
- function deserializeModuleKind(pos) {
4436
- switch (uint8[pos]) {
4437
- case 0:
4438
- return "script";
4439
- case 1:
4440
- return "module";
4441
- case 3:
4442
- return "commonjs";
4443
- default:
4444
- throw Error(`Unexpected discriminant ${uint8[pos]} for ModuleKind`);
4445
- }
4446
- }
4447
-
4448
4484
  function deserializeRawTransferData(pos) {
4449
4485
  return {
4450
4486
  program: deserializeProgram(pos),
@@ -4512,36 +4548,32 @@ function deserializeStaticExport(pos) {
4512
4548
  };
4513
4549
  }
4514
4550
 
4515
- function deserializeU32(pos) {
4516
- return uint32[pos >> 2];
4517
- }
4518
-
4519
- function deserializeU8(pos) {
4520
- return uint8[pos];
4521
- }
4522
-
4523
4551
  function deserializeStr(pos) {
4524
4552
  let pos32 = pos >> 2,
4525
4553
  len = uint32[pos32 + 2];
4526
4554
  if (len === 0) return "";
4527
4555
  pos = uint32[pos32];
4528
- if (sourceIsAscii && pos < sourceEndPos) return sourceText.substr(pos, len);
4529
- // Longer strings use `TextDecoder`
4530
- // TODO: Find best switch-over point
4531
4556
  let end = pos + len;
4532
- if (len > 50) return decodeStr(uint8.subarray(pos, end));
4533
- // Shorter strings decode by hand to avoid native call
4534
- let out = "",
4535
- c;
4536
- do {
4537
- c = uint8[pos++];
4538
- if (c < 128) out += fromCodePoint(c);
4539
- else {
4540
- out += decodeStr(uint8.subarray(pos - 1, end));
4541
- break;
4542
- }
4543
- } while (pos < end);
4544
- return out;
4557
+ if (end <= firstNonAsciiPos) return sourceTextLatin.substr(pos, len);
4558
+ // Use `utf8Slice` for strings longer than 64 bytes
4559
+ if (len > 64) return utf8Slice.call(uint8, pos, end);
4560
+ if (pos < sourceEndPos) {
4561
+ // Check if all bytes are ASCII, use `utf8Slice` if not
4562
+ for (let i = pos; i < end; i++) if (uint8[i] >= 128) return utf8Slice.call(uint8, pos, end);
4563
+ // String is all ASCII, so slice from `sourceTextLatin`
4564
+ return sourceTextLatin.substr(pos, len);
4565
+ }
4566
+ // String is not in source region - use `fromCharCode.apply` with a temp array of correct length.
4567
+ // Copy bytes into temp array.
4568
+ // If any byte is non-ASCII, use `utf8Slice`.
4569
+ let arr = stringDecodeArrays[len];
4570
+ for (let i = 0; i < len; i++) {
4571
+ let b = uint8[pos + i];
4572
+ if (b >= 128) return utf8Slice.call(uint8, pos, end);
4573
+ arr[i] = b;
4574
+ }
4575
+ // Call `fromCharCode` with temp array
4576
+ return fromCharCode.apply(null, arr);
4545
4577
  }
4546
4578
 
4547
4579
  function deserializeVecComment(pos) {
@@ -4557,8 +4589,9 @@ function deserializeVecComment(pos) {
4557
4589
  }
4558
4590
 
4559
4591
  function deserializeOptionHashbang(pos) {
4560
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
4561
- return deserializeHashbang(pos);
4592
+ return uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0
4593
+ ? null
4594
+ : deserializeHashbang(pos);
4562
4595
  }
4563
4596
 
4564
4597
  function deserializeVecDirective(pos) {
@@ -4818,13 +4851,13 @@ function deserializeBoxTSTypeParameterInstantiation(pos) {
4818
4851
  }
4819
4852
 
4820
4853
  function deserializeOptionBoxTSTypeParameterInstantiation(pos) {
4821
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4822
- return deserializeBoxTSTypeParameterInstantiation(pos);
4854
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
4855
+ ? null
4856
+ : deserializeBoxTSTypeParameterInstantiation(pos);
4823
4857
  }
4824
4858
 
4825
4859
  function deserializeOptionStr(pos) {
4826
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4827
- return deserializeStr(pos);
4860
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0 ? null : deserializeStr(pos);
4828
4861
  }
4829
4862
 
4830
4863
  function deserializeBoxComputedMemberExpression(pos) {
@@ -4860,8 +4893,7 @@ function deserializeBoxObjectAssignmentTarget(pos) {
4860
4893
  }
4861
4894
 
4862
4895
  function deserializeOptionAssignmentTargetMaybeDefault(pos) {
4863
- if (uint8[pos] === 51) return null;
4864
- return deserializeAssignmentTargetMaybeDefault(pos);
4896
+ return uint8[pos] === 51 ? null : deserializeAssignmentTargetMaybeDefault(pos);
4865
4897
  }
4866
4898
 
4867
4899
  function deserializeVecOptionAssignmentTargetMaybeDefault(pos) {
@@ -4881,8 +4913,9 @@ function deserializeBoxAssignmentTargetRest(pos) {
4881
4913
  }
4882
4914
 
4883
4915
  function deserializeOptionBoxAssignmentTargetRest(pos) {
4884
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4885
- return deserializeBoxAssignmentTargetRest(pos);
4916
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
4917
+ ? null
4918
+ : deserializeBoxAssignmentTargetRest(pos);
4886
4919
  }
4887
4920
 
4888
4921
  function deserializeVecAssignmentTargetProperty(pos) {
@@ -4910,8 +4943,7 @@ function deserializeBoxAssignmentTargetPropertyProperty(pos) {
4910
4943
  }
4911
4944
 
4912
4945
  function deserializeOptionExpression(pos) {
4913
- if (uint8[pos] === 51) return null;
4914
- return deserializeExpression(pos);
4946
+ return uint8[pos] === 51 ? null : deserializeExpression(pos);
4915
4947
  }
4916
4948
 
4917
4949
  function deserializeBoxBlockStatement(pos) {
@@ -5031,23 +5063,23 @@ function deserializeBoxTSTypeAnnotation(pos) {
5031
5063
  }
5032
5064
 
5033
5065
  function deserializeOptionBoxTSTypeAnnotation(pos) {
5034
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5035
- return deserializeBoxTSTypeAnnotation(pos);
5066
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5067
+ ? null
5068
+ : deserializeBoxTSTypeAnnotation(pos);
5036
5069
  }
5037
5070
 
5038
5071
  function deserializeOptionStatement(pos) {
5039
- if (uint8[pos] === 70) return null;
5040
- return deserializeStatement(pos);
5072
+ return uint8[pos] === 70 ? null : deserializeStatement(pos);
5041
5073
  }
5042
5074
 
5043
5075
  function deserializeOptionForStatementInit(pos) {
5044
- if (uint8[pos] === 65) return null;
5045
- return deserializeForStatementInit(pos);
5076
+ return uint8[pos] === 65 ? null : deserializeForStatementInit(pos);
5046
5077
  }
5047
5078
 
5048
5079
  function deserializeOptionLabelIdentifier(pos) {
5049
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5050
- return deserializeLabelIdentifier(pos);
5080
+ return uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0
5081
+ ? null
5082
+ : deserializeLabelIdentifier(pos);
5051
5083
  }
5052
5084
 
5053
5085
  function deserializeVecSwitchCase(pos) {
@@ -5067,18 +5099,19 @@ function deserializeBoxCatchClause(pos) {
5067
5099
  }
5068
5100
 
5069
5101
  function deserializeOptionBoxCatchClause(pos) {
5070
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5071
- return deserializeBoxCatchClause(pos);
5102
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5103
+ ? null
5104
+ : deserializeBoxCatchClause(pos);
5072
5105
  }
5073
5106
 
5074
5107
  function deserializeOptionBoxBlockStatement(pos) {
5075
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5076
- return deserializeBoxBlockStatement(pos);
5108
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5109
+ ? null
5110
+ : deserializeBoxBlockStatement(pos);
5077
5111
  }
5078
5112
 
5079
5113
  function deserializeOptionCatchParameter(pos) {
5080
- if (uint8[pos + 8] === 4) return null;
5081
- return deserializeCatchParameter(pos);
5114
+ return uint8[pos + 16] === 4 ? null : deserializeCatchParameter(pos);
5082
5115
  }
5083
5116
 
5084
5117
  function deserializeBoxBindingIdentifier(pos) {
@@ -5114,13 +5147,13 @@ function deserializeBoxBindingRestElement(pos) {
5114
5147
  }
5115
5148
 
5116
5149
  function deserializeOptionBoxBindingRestElement(pos) {
5117
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5118
- return deserializeBoxBindingRestElement(pos);
5150
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5151
+ ? null
5152
+ : deserializeBoxBindingRestElement(pos);
5119
5153
  }
5120
5154
 
5121
5155
  function deserializeOptionBindingPattern(pos) {
5122
- if (uint8[pos] === 4) return null;
5123
- return deserializeBindingPattern(pos);
5156
+ return uint8[pos] === 4 ? null : deserializeBindingPattern(pos);
5124
5157
  }
5125
5158
 
5126
5159
  function deserializeVecOptionBindingPattern(pos) {
@@ -5136,8 +5169,9 @@ function deserializeVecOptionBindingPattern(pos) {
5136
5169
  }
5137
5170
 
5138
5171
  function deserializeOptionBindingIdentifier(pos) {
5139
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5140
- return deserializeBindingIdentifier(pos);
5172
+ return uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0
5173
+ ? null
5174
+ : deserializeBindingIdentifier(pos);
5141
5175
  }
5142
5176
 
5143
5177
  function deserializeBoxTSTypeParameterDeclaration(pos) {
@@ -5145,8 +5179,9 @@ function deserializeBoxTSTypeParameterDeclaration(pos) {
5145
5179
  }
5146
5180
 
5147
5181
  function deserializeOptionBoxTSTypeParameterDeclaration(pos) {
5148
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5149
- return deserializeBoxTSTypeParameterDeclaration(pos);
5182
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5183
+ ? null
5184
+ : deserializeBoxTSTypeParameterDeclaration(pos);
5150
5185
  }
5151
5186
 
5152
5187
  function deserializeBoxTSThisParameter(pos) {
@@ -5154,8 +5189,9 @@ function deserializeBoxTSThisParameter(pos) {
5154
5189
  }
5155
5190
 
5156
5191
  function deserializeOptionBoxTSThisParameter(pos) {
5157
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5158
- return deserializeBoxTSThisParameter(pos);
5192
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5193
+ ? null
5194
+ : deserializeBoxTSThisParameter(pos);
5159
5195
  }
5160
5196
 
5161
5197
  function deserializeBoxFormalParameters(pos) {
@@ -5167,8 +5203,9 @@ function deserializeBoxFunctionBody(pos) {
5167
5203
  }
5168
5204
 
5169
5205
  function deserializeOptionBoxFunctionBody(pos) {
5170
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5171
- return deserializeBoxFunctionBody(pos);
5206
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5207
+ ? null
5208
+ : deserializeBoxFunctionBody(pos);
5172
5209
  }
5173
5210
 
5174
5211
  function deserializeVecFormalParameter(pos) {
@@ -5200,8 +5237,9 @@ function deserializeBoxExpression(pos) {
5200
5237
  }
5201
5238
 
5202
5239
  function deserializeOptionBoxExpression(pos) {
5203
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5204
- return deserializeBoxExpression(pos);
5240
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5241
+ ? null
5242
+ : deserializeBoxExpression(pos);
5205
5243
  }
5206
5244
 
5207
5245
  function deserializeBoxClassBody(pos) {
@@ -5265,8 +5303,7 @@ function deserializeBoxTSNamespaceExportDeclaration(pos) {
5265
5303
  }
5266
5304
 
5267
5305
  function deserializeOptionImportPhase(pos) {
5268
- if (uint8[pos] === 2) return null;
5269
- return deserializeImportPhase(pos);
5306
+ return uint8[pos] === 2 ? null : deserializeImportPhase(pos);
5270
5307
  }
5271
5308
 
5272
5309
  function deserializeVecImportDeclarationSpecifier(pos) {
@@ -5282,8 +5319,9 @@ function deserializeVecImportDeclarationSpecifier(pos) {
5282
5319
  }
5283
5320
 
5284
5321
  function deserializeOptionVecImportDeclarationSpecifier(pos) {
5285
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5286
- return deserializeVecImportDeclarationSpecifier(pos);
5322
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5323
+ ? null
5324
+ : deserializeVecImportDeclarationSpecifier(pos);
5287
5325
  }
5288
5326
 
5289
5327
  function deserializeBoxWithClause(pos) {
@@ -5291,8 +5329,9 @@ function deserializeBoxWithClause(pos) {
5291
5329
  }
5292
5330
 
5293
5331
  function deserializeOptionBoxWithClause(pos) {
5294
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5295
- return deserializeBoxWithClause(pos);
5332
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5333
+ ? null
5334
+ : deserializeBoxWithClause(pos);
5296
5335
  }
5297
5336
 
5298
5337
  function deserializeBoxImportSpecifier(pos) {
@@ -5320,8 +5359,7 @@ function deserializeVecImportAttribute(pos) {
5320
5359
  }
5321
5360
 
5322
5361
  function deserializeOptionDeclaration(pos) {
5323
- if (uint8[pos] === 31) return null;
5324
- return deserializeDeclaration(pos);
5362
+ return uint8[pos] === 31 ? null : deserializeDeclaration(pos);
5325
5363
  }
5326
5364
 
5327
5365
  function deserializeVecExportSpecifier(pos) {
@@ -5337,19 +5375,21 @@ function deserializeVecExportSpecifier(pos) {
5337
5375
  }
5338
5376
 
5339
5377
  function deserializeOptionStringLiteral(pos) {
5340
- if (uint8[pos + 44] === 2) return null;
5341
- return deserializeStringLiteral(pos);
5378
+ return uint8[pos + 12] === 2 ? null : deserializeStringLiteral(pos);
5342
5379
  }
5343
5380
 
5344
5381
  function deserializeOptionModuleExportName(pos) {
5345
- if (uint8[pos] === 3) return null;
5346
- return deserializeModuleExportName(pos);
5382
+ return uint8[pos] === 3 ? null : deserializeModuleExportName(pos);
5347
5383
  }
5348
5384
 
5349
5385
  function deserializeF64(pos) {
5350
5386
  return float64[pos >> 3];
5351
5387
  }
5352
5388
 
5389
+ function deserializeU8(pos) {
5390
+ return uint8[pos];
5391
+ }
5392
+
5353
5393
  function deserializeBoxJSXOpeningElement(pos) {
5354
5394
  return deserializeJSXOpeningElement(uint32[pos >> 2]);
5355
5395
  }
@@ -5371,8 +5411,9 @@ function deserializeBoxJSXClosingElement(pos) {
5371
5411
  }
5372
5412
 
5373
5413
  function deserializeOptionBoxJSXClosingElement(pos) {
5374
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5375
- return deserializeBoxJSXClosingElement(pos);
5414
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5415
+ ? null
5416
+ : deserializeBoxJSXClosingElement(pos);
5376
5417
  }
5377
5418
 
5378
5419
  function deserializeVecJSXAttributeItem(pos) {
@@ -5408,8 +5449,7 @@ function deserializeBoxJSXSpreadAttribute(pos) {
5408
5449
  }
5409
5450
 
5410
5451
  function deserializeOptionJSXAttributeValue(pos) {
5411
- if (uint8[pos] === 4) return null;
5412
- return deserializeJSXAttributeValue(pos);
5452
+ return uint8[pos] === 4 ? null : deserializeJSXAttributeValue(pos);
5413
5453
  }
5414
5454
 
5415
5455
  function deserializeBoxJSXExpressionContainer(pos) {
@@ -5621,8 +5661,7 @@ function deserializeBoxTSQualifiedName(pos) {
5621
5661
  }
5622
5662
 
5623
5663
  function deserializeOptionTSType(pos) {
5624
- if (uint8[pos] === 38) return null;
5625
- return deserializeTSType(pos);
5664
+ return uint8[pos] === 38 ? null : deserializeTSType(pos);
5626
5665
  }
5627
5666
 
5628
5667
  function deserializeVecTSTypeParameter(pos) {
@@ -5694,8 +5733,7 @@ function deserializeVecTSIndexSignatureName(pos) {
5694
5733
  }
5695
5734
 
5696
5735
  function deserializeOptionTSModuleDeclarationBody(pos) {
5697
- if (uint8[pos] === 2) return null;
5698
- return deserializeTSModuleDeclarationBody(pos);
5736
+ return uint8[pos] === 2 ? null : deserializeTSModuleDeclarationBody(pos);
5699
5737
  }
5700
5738
 
5701
5739
  function deserializeBoxTSModuleBlock(pos) {
@@ -5707,13 +5745,13 @@ function deserializeBoxTSTypeParameter(pos) {
5707
5745
  }
5708
5746
 
5709
5747
  function deserializeOptionBoxObjectExpression(pos) {
5710
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5711
- return deserializeBoxObjectExpression(pos);
5748
+ return uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0
5749
+ ? null
5750
+ : deserializeBoxObjectExpression(pos);
5712
5751
  }
5713
5752
 
5714
5753
  function deserializeOptionTSImportTypeQualifier(pos) {
5715
- if (uint8[pos] === 2) return null;
5716
- return deserializeTSImportTypeQualifier(pos);
5754
+ return uint8[pos] === 2 ? null : deserializeTSImportTypeQualifier(pos);
5717
5755
  }
5718
5756
 
5719
5757
  function deserializeBoxTSImportTypeQualifiedName(pos) {
@@ -5721,17 +5759,21 @@ function deserializeBoxTSImportTypeQualifiedName(pos) {
5721
5759
  }
5722
5760
 
5723
5761
  function deserializeOptionTSMappedTypeModifierOperator(pos) {
5724
- if (uint8[pos] === 3) return null;
5725
- return deserializeTSMappedTypeModifierOperator(pos);
5762
+ return uint8[pos] === 3 ? null : deserializeTSMappedTypeModifierOperator(pos);
5726
5763
  }
5727
5764
 
5728
5765
  function deserializeBoxTSExternalModuleReference(pos) {
5729
5766
  return deserializeTSExternalModuleReference(uint32[pos >> 2]);
5730
5767
  }
5731
5768
 
5769
+ function deserializeU32(pos) {
5770
+ return uint32[pos >> 2];
5771
+ }
5772
+
5732
5773
  function deserializeOptionNameSpan(pos) {
5733
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5734
- return deserializeNameSpan(pos);
5774
+ return uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0
5775
+ ? null
5776
+ : deserializeNameSpan(pos);
5735
5777
  }
5736
5778
 
5737
5779
  function deserializeVecError(pos) {