oxc-parser 0.123.0 → 0.125.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,36 +1,51 @@
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
+ int32,
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
- uint32 = buffer.uint32;
24
+ int32 = buffer.int32;
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(int32[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 = int32 = float64 = sourceText = sourceTextLatin = void 0;
29
44
  }
30
45
 
31
46
  function deserializeProgram(pos) {
32
- let start = deserializeU32(pos),
33
- end = deserializeU32(pos + 4),
47
+ let start = deserializeI32(pos),
48
+ end = deserializeI32(pos + 4),
34
49
  program = {
35
50
  type: "Program",
36
51
  body: null,
@@ -141,8 +156,8 @@ function deserializeIdentifierName(pos) {
141
156
  return {
142
157
  type: "Identifier",
143
158
  name: deserializeStr(pos + 16),
144
- start: deserializeU32(pos),
145
- end: deserializeU32(pos + 4),
159
+ start: deserializeI32(pos),
160
+ end: deserializeI32(pos + 4),
146
161
  };
147
162
  }
148
163
 
@@ -150,8 +165,8 @@ function deserializeIdentifierReference(pos) {
150
165
  return {
151
166
  type: "Identifier",
152
167
  name: deserializeStr(pos + 16),
153
- start: deserializeU32(pos),
154
- end: deserializeU32(pos + 4),
168
+ start: deserializeI32(pos),
169
+ end: deserializeI32(pos + 4),
155
170
  };
156
171
  }
157
172
 
@@ -159,8 +174,8 @@ function deserializeBindingIdentifier(pos) {
159
174
  return {
160
175
  type: "Identifier",
161
176
  name: deserializeStr(pos + 16),
162
- start: deserializeU32(pos),
163
- end: deserializeU32(pos + 4),
177
+ start: deserializeI32(pos),
178
+ end: deserializeI32(pos + 4),
164
179
  };
165
180
  }
166
181
 
@@ -168,16 +183,16 @@ function deserializeLabelIdentifier(pos) {
168
183
  return {
169
184
  type: "Identifier",
170
185
  name: deserializeStr(pos + 16),
171
- start: deserializeU32(pos),
172
- end: deserializeU32(pos + 4),
186
+ start: deserializeI32(pos),
187
+ end: deserializeI32(pos + 4),
173
188
  };
174
189
  }
175
190
 
176
191
  function deserializeThisExpression(pos) {
177
192
  return {
178
193
  type: "ThisExpression",
179
- start: deserializeU32(pos),
180
- end: deserializeU32(pos + 4),
194
+ start: deserializeI32(pos),
195
+ end: deserializeI32(pos + 4),
181
196
  };
182
197
  }
183
198
 
@@ -185,8 +200,8 @@ function deserializeArrayExpression(pos) {
185
200
  let node = {
186
201
  type: "ArrayExpression",
187
202
  elements: null,
188
- start: deserializeU32(pos),
189
- end: deserializeU32(pos + 4),
203
+ start: deserializeI32(pos),
204
+ end: deserializeI32(pos + 4),
190
205
  };
191
206
  node.elements = deserializeVecArrayExpressionElement(pos + 16);
192
207
  return node;
@@ -297,8 +312,8 @@ function deserializeObjectExpression(pos) {
297
312
  let node = {
298
313
  type: "ObjectExpression",
299
314
  properties: null,
300
- start: deserializeU32(pos),
301
- end: deserializeU32(pos + 4),
315
+ start: deserializeI32(pos),
316
+ end: deserializeI32(pos + 4),
302
317
  };
303
318
  node.properties = deserializeVecObjectPropertyKind(pos + 16);
304
319
  return node;
@@ -324,8 +339,8 @@ function deserializeObjectProperty(pos) {
324
339
  method: deserializeBool(pos + 13),
325
340
  shorthand: deserializeBool(pos + 14),
326
341
  computed: deserializeBool(pos + 15),
327
- start: deserializeU32(pos),
328
- end: deserializeU32(pos + 4),
342
+ start: deserializeI32(pos),
343
+ end: deserializeI32(pos + 4),
329
344
  };
330
345
  node.key = deserializePropertyKey(pos + 16);
331
346
  node.value = deserializeExpression(pos + 32);
@@ -447,8 +462,8 @@ function deserializeTemplateLiteral(pos) {
447
462
  type: "TemplateLiteral",
448
463
  quasis: null,
449
464
  expressions: null,
450
- start: deserializeU32(pos),
451
- end: deserializeU32(pos + 4),
465
+ start: deserializeI32(pos),
466
+ end: deserializeI32(pos + 4),
452
467
  };
453
468
  node.quasis = deserializeVecTemplateElement(pos + 16);
454
469
  node.expressions = deserializeVecExpression(pos + 40);
@@ -460,8 +475,8 @@ function deserializeTaggedTemplateExpression(pos) {
460
475
  type: "TaggedTemplateExpression",
461
476
  tag: null,
462
477
  quasi: null,
463
- start: deserializeU32(pos),
464
- end: deserializeU32(pos + 4),
478
+ start: deserializeI32(pos),
479
+ end: deserializeI32(pos + 4),
465
480
  };
466
481
  node.tag = deserializeExpression(pos + 16);
467
482
  node.quasi = deserializeTemplateLiteral(pos + 40);
@@ -470,8 +485,8 @@ function deserializeTaggedTemplateExpression(pos) {
470
485
 
471
486
  function deserializeTemplateElement(pos) {
472
487
  let tail = deserializeBool(pos + 12),
473
- start = deserializeU32(pos),
474
- end = deserializeU32(pos + 4),
488
+ start = deserializeI32(pos),
489
+ end = deserializeI32(pos + 4),
475
490
  value = deserializeTemplateElementValue(pos + 16);
476
491
  value.cooked !== null &&
477
492
  deserializeBool(pos + 13) &&
@@ -500,13 +515,12 @@ function deserializeComputedMemberExpression(pos) {
500
515
  object: null,
501
516
  property: null,
502
517
  optional: deserializeBool(pos + 12),
503
- computed: null,
504
- start: deserializeU32(pos),
505
- end: deserializeU32(pos + 4),
518
+ computed: true,
519
+ start: deserializeI32(pos),
520
+ end: deserializeI32(pos + 4),
506
521
  };
507
522
  node.object = deserializeExpression(pos + 16);
508
523
  node.property = deserializeExpression(pos + 32);
509
- node.computed = true;
510
524
  return node;
511
525
  }
512
526
 
@@ -516,13 +530,12 @@ function deserializeStaticMemberExpression(pos) {
516
530
  object: null,
517
531
  property: null,
518
532
  optional: deserializeBool(pos + 12),
519
- computed: null,
520
- start: deserializeU32(pos),
521
- end: deserializeU32(pos + 4),
533
+ computed: false,
534
+ start: deserializeI32(pos),
535
+ end: deserializeI32(pos + 4),
522
536
  };
523
537
  node.object = deserializeExpression(pos + 16);
524
538
  node.property = deserializeIdentifierName(pos + 32);
525
- node.computed = false;
526
539
  return node;
527
540
  }
528
541
 
@@ -532,13 +545,12 @@ function deserializePrivateFieldExpression(pos) {
532
545
  object: null,
533
546
  property: null,
534
547
  optional: deserializeBool(pos + 12),
535
- computed: null,
536
- start: deserializeU32(pos),
537
- end: deserializeU32(pos + 4),
548
+ computed: false,
549
+ start: deserializeI32(pos),
550
+ end: deserializeI32(pos + 4),
538
551
  };
539
552
  node.object = deserializeExpression(pos + 16);
540
553
  node.property = deserializePrivateIdentifier(pos + 32);
541
- node.computed = false;
542
554
  return node;
543
555
  }
544
556
 
@@ -548,8 +560,8 @@ function deserializeCallExpression(pos) {
548
560
  callee: null,
549
561
  arguments: null,
550
562
  optional: deserializeBool(pos + 12),
551
- start: deserializeU32(pos),
552
- end: deserializeU32(pos + 4),
563
+ start: deserializeI32(pos),
564
+ end: deserializeI32(pos + 4),
553
565
  };
554
566
  node.callee = deserializeExpression(pos + 16);
555
567
  node.arguments = deserializeVecArgument(pos + 40);
@@ -561,8 +573,8 @@ function deserializeNewExpression(pos) {
561
573
  type: "NewExpression",
562
574
  callee: null,
563
575
  arguments: null,
564
- start: deserializeU32(pos),
565
- end: deserializeU32(pos + 4),
576
+ start: deserializeI32(pos),
577
+ end: deserializeI32(pos + 4),
566
578
  };
567
579
  node.callee = deserializeExpression(pos + 16);
568
580
  node.arguments = deserializeVecArgument(pos + 40);
@@ -574,8 +586,8 @@ function deserializeMetaProperty(pos) {
574
586
  type: "MetaProperty",
575
587
  meta: null,
576
588
  property: null,
577
- start: deserializeU32(pos),
578
- end: deserializeU32(pos + 4),
589
+ start: deserializeI32(pos),
590
+ end: deserializeI32(pos + 4),
579
591
  };
580
592
  node.meta = deserializeIdentifierName(pos + 16);
581
593
  node.property = deserializeIdentifierName(pos + 48);
@@ -586,8 +598,8 @@ function deserializeSpreadElement(pos) {
586
598
  let node = {
587
599
  type: "SpreadElement",
588
600
  argument: null,
589
- start: deserializeU32(pos),
590
- end: deserializeU32(pos + 4),
601
+ start: deserializeI32(pos),
602
+ end: deserializeI32(pos + 4),
591
603
  };
592
604
  node.argument = deserializeExpression(pos + 16);
593
605
  return node;
@@ -694,8 +706,8 @@ function deserializeUpdateExpression(pos) {
694
706
  operator: deserializeUpdateOperator(pos + 12),
695
707
  prefix: deserializeBool(pos + 13),
696
708
  argument: null,
697
- start: deserializeU32(pos),
698
- end: deserializeU32(pos + 4),
709
+ start: deserializeI32(pos),
710
+ end: deserializeI32(pos + 4),
699
711
  };
700
712
  node.argument = deserializeSimpleAssignmentTarget(pos + 16);
701
713
  return node;
@@ -706,12 +718,11 @@ function deserializeUnaryExpression(pos) {
706
718
  type: "UnaryExpression",
707
719
  operator: deserializeUnaryOperator(pos + 12),
708
720
  argument: null,
709
- prefix: null,
710
- start: deserializeU32(pos),
711
- end: deserializeU32(pos + 4),
721
+ prefix: true,
722
+ start: deserializeI32(pos),
723
+ end: deserializeI32(pos + 4),
712
724
  };
713
725
  node.argument = deserializeExpression(pos + 16);
714
- node.prefix = true;
715
726
  return node;
716
727
  }
717
728
 
@@ -721,8 +732,8 @@ function deserializeBinaryExpression(pos) {
721
732
  left: null,
722
733
  operator: deserializeBinaryOperator(pos + 12),
723
734
  right: null,
724
- start: deserializeU32(pos),
725
- end: deserializeU32(pos + 4),
735
+ start: deserializeI32(pos),
736
+ end: deserializeI32(pos + 4),
726
737
  };
727
738
  node.left = deserializeExpression(pos + 16);
728
739
  node.right = deserializeExpression(pos + 32);
@@ -733,13 +744,12 @@ function deserializePrivateInExpression(pos) {
733
744
  let node = {
734
745
  type: "BinaryExpression",
735
746
  left: null,
736
- operator: null,
747
+ operator: "in",
737
748
  right: null,
738
- start: deserializeU32(pos),
739
- end: deserializeU32(pos + 4),
749
+ start: deserializeI32(pos),
750
+ end: deserializeI32(pos + 4),
740
751
  };
741
752
  node.left = deserializePrivateIdentifier(pos + 16);
742
- node.operator = "in";
743
753
  node.right = deserializeExpression(pos + 48);
744
754
  return node;
745
755
  }
@@ -750,8 +760,8 @@ function deserializeLogicalExpression(pos) {
750
760
  left: null,
751
761
  operator: deserializeLogicalOperator(pos + 12),
752
762
  right: null,
753
- start: deserializeU32(pos),
754
- end: deserializeU32(pos + 4),
763
+ start: deserializeI32(pos),
764
+ end: deserializeI32(pos + 4),
755
765
  };
756
766
  node.left = deserializeExpression(pos + 16);
757
767
  node.right = deserializeExpression(pos + 32);
@@ -764,8 +774,8 @@ function deserializeConditionalExpression(pos) {
764
774
  test: null,
765
775
  consequent: null,
766
776
  alternate: null,
767
- start: deserializeU32(pos),
768
- end: deserializeU32(pos + 4),
777
+ start: deserializeI32(pos),
778
+ end: deserializeI32(pos + 4),
769
779
  };
770
780
  node.test = deserializeExpression(pos + 16);
771
781
  node.consequent = deserializeExpression(pos + 32);
@@ -779,8 +789,8 @@ function deserializeAssignmentExpression(pos) {
779
789
  operator: deserializeAssignmentOperator(pos + 12),
780
790
  left: null,
781
791
  right: null,
782
- start: deserializeU32(pos),
783
- end: deserializeU32(pos + 4),
792
+ start: deserializeI32(pos),
793
+ end: deserializeI32(pos + 4),
784
794
  };
785
795
  node.left = deserializeAssignmentTarget(pos + 16);
786
796
  node.right = deserializeExpression(pos + 32);
@@ -841,8 +851,8 @@ function deserializeArrayAssignmentTarget(pos) {
841
851
  let node = {
842
852
  type: "ArrayPattern",
843
853
  elements: null,
844
- start: deserializeU32(pos),
845
- end: deserializeU32(pos + 4),
854
+ start: deserializeI32(pos),
855
+ end: deserializeI32(pos + 4),
846
856
  },
847
857
  elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 16),
848
858
  rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
@@ -855,8 +865,8 @@ function deserializeObjectAssignmentTarget(pos) {
855
865
  let node = {
856
866
  type: "ObjectPattern",
857
867
  properties: null,
858
- start: deserializeU32(pos),
859
- end: deserializeU32(pos + 4),
868
+ start: deserializeI32(pos),
869
+ end: deserializeI32(pos + 4),
860
870
  },
861
871
  properties = deserializeVecAssignmentTargetProperty(pos + 16),
862
872
  rest = deserializeOptionBoxAssignmentTargetRest(pos + 40);
@@ -869,8 +879,8 @@ function deserializeAssignmentTargetRest(pos) {
869
879
  let node = {
870
880
  type: "RestElement",
871
881
  argument: null,
872
- start: deserializeU32(pos),
873
- end: deserializeU32(pos + 4),
882
+ start: deserializeI32(pos),
883
+ end: deserializeI32(pos + 4),
874
884
  };
875
885
  node.argument = deserializeAssignmentTarget(pos + 16);
876
886
  return node;
@@ -910,8 +920,8 @@ function deserializeAssignmentTargetWithDefault(pos) {
910
920
  type: "AssignmentPattern",
911
921
  left: null,
912
922
  right: null,
913
- start: deserializeU32(pos),
914
- end: deserializeU32(pos + 4),
923
+ start: deserializeI32(pos),
924
+ end: deserializeI32(pos + 4),
915
925
  };
916
926
  node.left = deserializeAssignmentTarget(pos + 16);
917
927
  node.right = deserializeExpression(pos + 32);
@@ -930,16 +940,16 @@ function deserializeAssignmentTargetProperty(pos) {
930
940
  }
931
941
 
932
942
  function deserializeAssignmentTargetPropertyIdentifier(pos) {
933
- let start = deserializeU32(pos),
934
- end = deserializeU32(pos + 4),
943
+ let start = deserializeI32(pos),
944
+ end = deserializeI32(pos + 4),
935
945
  node = {
936
946
  type: "Property",
937
- kind: null,
947
+ kind: "init",
938
948
  key: null,
939
949
  value: null,
940
- method: null,
941
- shorthand: null,
942
- computed: null,
950
+ method: false,
951
+ shorthand: true,
952
+ computed: false,
943
953
  start,
944
954
  end,
945
955
  },
@@ -959,32 +969,25 @@ function deserializeAssignmentTargetPropertyIdentifier(pos) {
959
969
  start,
960
970
  end,
961
971
  });
962
- node.kind = "init";
963
972
  node.key = key;
964
973
  node.value = value;
965
- node.method = false;
966
- node.shorthand = true;
967
- node.computed = false;
968
974
  return node;
969
975
  }
970
976
 
971
977
  function deserializeAssignmentTargetPropertyProperty(pos) {
972
978
  let node = {
973
979
  type: "Property",
974
- kind: null,
980
+ kind: "init",
975
981
  key: null,
976
982
  value: null,
977
- method: null,
978
- shorthand: null,
983
+ method: false,
984
+ shorthand: false,
979
985
  computed: deserializeBool(pos + 12),
980
- start: deserializeU32(pos),
981
- end: deserializeU32(pos + 4),
986
+ start: deserializeI32(pos),
987
+ end: deserializeI32(pos + 4),
982
988
  };
983
- node.kind = "init";
984
989
  node.key = deserializePropertyKey(pos + 16);
985
990
  node.value = deserializeAssignmentTargetMaybeDefault(pos + 32);
986
- node.method = false;
987
- node.shorthand = false;
988
991
  return node;
989
992
  }
990
993
 
@@ -992,8 +995,8 @@ function deserializeSequenceExpression(pos) {
992
995
  let node = {
993
996
  type: "SequenceExpression",
994
997
  expressions: null,
995
- start: deserializeU32(pos),
996
- end: deserializeU32(pos + 4),
998
+ start: deserializeI32(pos),
999
+ end: deserializeI32(pos + 4),
997
1000
  };
998
1001
  node.expressions = deserializeVecExpression(pos + 16);
999
1002
  return node;
@@ -1002,8 +1005,8 @@ function deserializeSequenceExpression(pos) {
1002
1005
  function deserializeSuper(pos) {
1003
1006
  return {
1004
1007
  type: "Super",
1005
- start: deserializeU32(pos),
1006
- end: deserializeU32(pos + 4),
1008
+ start: deserializeI32(pos),
1009
+ end: deserializeI32(pos + 4),
1007
1010
  };
1008
1011
  }
1009
1012
 
@@ -1011,8 +1014,8 @@ function deserializeAwaitExpression(pos) {
1011
1014
  let node = {
1012
1015
  type: "AwaitExpression",
1013
1016
  argument: null,
1014
- start: deserializeU32(pos),
1015
- end: deserializeU32(pos + 4),
1017
+ start: deserializeI32(pos),
1018
+ end: deserializeI32(pos + 4),
1016
1019
  };
1017
1020
  node.argument = deserializeExpression(pos + 16);
1018
1021
  return node;
@@ -1022,8 +1025,8 @@ function deserializeChainExpression(pos) {
1022
1025
  let node = {
1023
1026
  type: "ChainExpression",
1024
1027
  expression: null,
1025
- start: deserializeU32(pos),
1026
- end: deserializeU32(pos + 4),
1028
+ start: deserializeI32(pos),
1029
+ end: deserializeI32(pos + 4),
1027
1030
  };
1028
1031
  node.expression = deserializeChainElement(pos + 16);
1029
1032
  return node;
@@ -1051,8 +1054,8 @@ function deserializeParenthesizedExpression(pos) {
1051
1054
  node = {
1052
1055
  type: "ParenthesizedExpression",
1053
1056
  expression: null,
1054
- start: deserializeU32(pos),
1055
- end: deserializeU32(pos + 4),
1057
+ start: deserializeI32(pos),
1058
+ end: deserializeI32(pos + 4),
1056
1059
  };
1057
1060
  node.expression = deserializeExpression(pos + 16);
1058
1061
  return node;
@@ -1136,8 +1139,8 @@ function deserializeDirective(pos) {
1136
1139
  type: "ExpressionStatement",
1137
1140
  expression: null,
1138
1141
  directive: deserializeStr(pos + 64),
1139
- start: deserializeU32(pos),
1140
- end: deserializeU32(pos + 4),
1142
+ start: deserializeI32(pos),
1143
+ end: deserializeI32(pos + 4),
1141
1144
  };
1142
1145
  node.expression = deserializeStringLiteral(pos + 16);
1143
1146
  return node;
@@ -1147,8 +1150,8 @@ function deserializeHashbang(pos) {
1147
1150
  return {
1148
1151
  type: "Hashbang",
1149
1152
  value: deserializeStr(pos + 16),
1150
- start: deserializeU32(pos),
1151
- end: deserializeU32(pos + 4),
1153
+ start: deserializeI32(pos),
1154
+ end: deserializeI32(pos + 4),
1152
1155
  };
1153
1156
  }
1154
1157
 
@@ -1156,8 +1159,8 @@ function deserializeBlockStatement(pos) {
1156
1159
  let node = {
1157
1160
  type: "BlockStatement",
1158
1161
  body: null,
1159
- start: deserializeU32(pos),
1160
- end: deserializeU32(pos + 4),
1162
+ start: deserializeI32(pos),
1163
+ end: deserializeI32(pos + 4),
1161
1164
  };
1162
1165
  node.body = deserializeVecStatement(pos + 16);
1163
1166
  return node;
@@ -1193,8 +1196,8 @@ function deserializeVariableDeclaration(pos) {
1193
1196
  type: "VariableDeclaration",
1194
1197
  kind: deserializeVariableDeclarationKind(pos + 12),
1195
1198
  declarations: null,
1196
- start: deserializeU32(pos),
1197
- end: deserializeU32(pos + 4),
1199
+ start: deserializeI32(pos),
1200
+ end: deserializeI32(pos + 4),
1198
1201
  };
1199
1202
  node.declarations = deserializeVecVariableDeclarator(pos + 16);
1200
1203
  return node;
@@ -1222,8 +1225,8 @@ function deserializeVariableDeclarator(pos) {
1222
1225
  type: "VariableDeclarator",
1223
1226
  id: null,
1224
1227
  init: null,
1225
- start: deserializeU32(pos),
1226
- end: deserializeU32(pos + 4),
1228
+ start: deserializeI32(pos),
1229
+ end: deserializeI32(pos + 4),
1227
1230
  };
1228
1231
  node.id = deserializeBindingPattern(pos + 16);
1229
1232
  node.init = deserializeOptionExpression(pos + 40);
@@ -1233,8 +1236,8 @@ function deserializeVariableDeclarator(pos) {
1233
1236
  function deserializeEmptyStatement(pos) {
1234
1237
  return {
1235
1238
  type: "EmptyStatement",
1236
- start: deserializeU32(pos),
1237
- end: deserializeU32(pos + 4),
1239
+ start: deserializeI32(pos),
1240
+ end: deserializeI32(pos + 4),
1238
1241
  };
1239
1242
  }
1240
1243
 
@@ -1242,8 +1245,8 @@ function deserializeExpressionStatement(pos) {
1242
1245
  let node = {
1243
1246
  type: "ExpressionStatement",
1244
1247
  expression: null,
1245
- start: deserializeU32(pos),
1246
- end: deserializeU32(pos + 4),
1248
+ start: deserializeI32(pos),
1249
+ end: deserializeI32(pos + 4),
1247
1250
  };
1248
1251
  node.expression = deserializeExpression(pos + 16);
1249
1252
  return node;
@@ -1255,8 +1258,8 @@ function deserializeIfStatement(pos) {
1255
1258
  test: null,
1256
1259
  consequent: null,
1257
1260
  alternate: null,
1258
- start: deserializeU32(pos),
1259
- end: deserializeU32(pos + 4),
1261
+ start: deserializeI32(pos),
1262
+ end: deserializeI32(pos + 4),
1260
1263
  };
1261
1264
  node.test = deserializeExpression(pos + 16);
1262
1265
  node.consequent = deserializeStatement(pos + 32);
@@ -1269,8 +1272,8 @@ function deserializeDoWhileStatement(pos) {
1269
1272
  type: "DoWhileStatement",
1270
1273
  body: null,
1271
1274
  test: null,
1272
- start: deserializeU32(pos),
1273
- end: deserializeU32(pos + 4),
1275
+ start: deserializeI32(pos),
1276
+ end: deserializeI32(pos + 4),
1274
1277
  };
1275
1278
  node.body = deserializeStatement(pos + 16);
1276
1279
  node.test = deserializeExpression(pos + 32);
@@ -1282,8 +1285,8 @@ function deserializeWhileStatement(pos) {
1282
1285
  type: "WhileStatement",
1283
1286
  test: null,
1284
1287
  body: null,
1285
- start: deserializeU32(pos),
1286
- end: deserializeU32(pos + 4),
1288
+ start: deserializeI32(pos),
1289
+ end: deserializeI32(pos + 4),
1287
1290
  };
1288
1291
  node.test = deserializeExpression(pos + 16);
1289
1292
  node.body = deserializeStatement(pos + 32);
@@ -1297,8 +1300,8 @@ function deserializeForStatement(pos) {
1297
1300
  test: null,
1298
1301
  update: null,
1299
1302
  body: null,
1300
- start: deserializeU32(pos),
1301
- end: deserializeU32(pos + 4),
1303
+ start: deserializeI32(pos),
1304
+ end: deserializeI32(pos + 4),
1302
1305
  };
1303
1306
  node.init = deserializeOptionForStatementInit(pos + 16);
1304
1307
  node.test = deserializeOptionExpression(pos + 32);
@@ -1408,8 +1411,8 @@ function deserializeForInStatement(pos) {
1408
1411
  left: null,
1409
1412
  right: null,
1410
1413
  body: null,
1411
- start: deserializeU32(pos),
1412
- end: deserializeU32(pos + 4),
1414
+ start: deserializeI32(pos),
1415
+ end: deserializeI32(pos + 4),
1413
1416
  };
1414
1417
  node.left = deserializeForStatementLeft(pos + 16);
1415
1418
  node.right = deserializeExpression(pos + 32);
@@ -1453,8 +1456,8 @@ function deserializeForOfStatement(pos) {
1453
1456
  left: null,
1454
1457
  right: null,
1455
1458
  body: null,
1456
- start: deserializeU32(pos),
1457
- end: deserializeU32(pos + 4),
1459
+ start: deserializeI32(pos),
1460
+ end: deserializeI32(pos + 4),
1458
1461
  };
1459
1462
  node.left = deserializeForStatementLeft(pos + 16);
1460
1463
  node.right = deserializeExpression(pos + 32);
@@ -1466,8 +1469,8 @@ function deserializeContinueStatement(pos) {
1466
1469
  let node = {
1467
1470
  type: "ContinueStatement",
1468
1471
  label: null,
1469
- start: deserializeU32(pos),
1470
- end: deserializeU32(pos + 4),
1472
+ start: deserializeI32(pos),
1473
+ end: deserializeI32(pos + 4),
1471
1474
  };
1472
1475
  node.label = deserializeOptionLabelIdentifier(pos + 16);
1473
1476
  return node;
@@ -1477,8 +1480,8 @@ function deserializeBreakStatement(pos) {
1477
1480
  let node = {
1478
1481
  type: "BreakStatement",
1479
1482
  label: null,
1480
- start: deserializeU32(pos),
1481
- end: deserializeU32(pos + 4),
1483
+ start: deserializeI32(pos),
1484
+ end: deserializeI32(pos + 4),
1482
1485
  };
1483
1486
  node.label = deserializeOptionLabelIdentifier(pos + 16);
1484
1487
  return node;
@@ -1488,8 +1491,8 @@ function deserializeReturnStatement(pos) {
1488
1491
  let node = {
1489
1492
  type: "ReturnStatement",
1490
1493
  argument: null,
1491
- start: deserializeU32(pos),
1492
- end: deserializeU32(pos + 4),
1494
+ start: deserializeI32(pos),
1495
+ end: deserializeI32(pos + 4),
1493
1496
  };
1494
1497
  node.argument = deserializeOptionExpression(pos + 16);
1495
1498
  return node;
@@ -1500,8 +1503,8 @@ function deserializeWithStatement(pos) {
1500
1503
  type: "WithStatement",
1501
1504
  object: null,
1502
1505
  body: null,
1503
- start: deserializeU32(pos),
1504
- end: deserializeU32(pos + 4),
1506
+ start: deserializeI32(pos),
1507
+ end: deserializeI32(pos + 4),
1505
1508
  };
1506
1509
  node.object = deserializeExpression(pos + 16);
1507
1510
  node.body = deserializeStatement(pos + 32);
@@ -1513,8 +1516,8 @@ function deserializeSwitchStatement(pos) {
1513
1516
  type: "SwitchStatement",
1514
1517
  discriminant: null,
1515
1518
  cases: null,
1516
- start: deserializeU32(pos),
1517
- end: deserializeU32(pos + 4),
1519
+ start: deserializeI32(pos),
1520
+ end: deserializeI32(pos + 4),
1518
1521
  };
1519
1522
  node.discriminant = deserializeExpression(pos + 16);
1520
1523
  node.cases = deserializeVecSwitchCase(pos + 32);
@@ -1526,8 +1529,8 @@ function deserializeSwitchCase(pos) {
1526
1529
  type: "SwitchCase",
1527
1530
  test: null,
1528
1531
  consequent: null,
1529
- start: deserializeU32(pos),
1530
- end: deserializeU32(pos + 4),
1532
+ start: deserializeI32(pos),
1533
+ end: deserializeI32(pos + 4),
1531
1534
  };
1532
1535
  node.test = deserializeOptionExpression(pos + 16);
1533
1536
  node.consequent = deserializeVecStatement(pos + 32);
@@ -1539,8 +1542,8 @@ function deserializeLabeledStatement(pos) {
1539
1542
  type: "LabeledStatement",
1540
1543
  label: null,
1541
1544
  body: null,
1542
- start: deserializeU32(pos),
1543
- end: deserializeU32(pos + 4),
1545
+ start: deserializeI32(pos),
1546
+ end: deserializeI32(pos + 4),
1544
1547
  };
1545
1548
  node.label = deserializeLabelIdentifier(pos + 16);
1546
1549
  node.body = deserializeStatement(pos + 48);
@@ -1551,8 +1554,8 @@ function deserializeThrowStatement(pos) {
1551
1554
  let node = {
1552
1555
  type: "ThrowStatement",
1553
1556
  argument: null,
1554
- start: deserializeU32(pos),
1555
- end: deserializeU32(pos + 4),
1557
+ start: deserializeI32(pos),
1558
+ end: deserializeI32(pos + 4),
1556
1559
  };
1557
1560
  node.argument = deserializeExpression(pos + 16);
1558
1561
  return node;
@@ -1564,8 +1567,8 @@ function deserializeTryStatement(pos) {
1564
1567
  block: null,
1565
1568
  handler: null,
1566
1569
  finalizer: null,
1567
- start: deserializeU32(pos),
1568
- end: deserializeU32(pos + 4),
1570
+ start: deserializeI32(pos),
1571
+ end: deserializeI32(pos + 4),
1569
1572
  };
1570
1573
  node.block = deserializeBoxBlockStatement(pos + 16);
1571
1574
  node.handler = deserializeOptionBoxCatchClause(pos + 24);
@@ -1578,8 +1581,8 @@ function deserializeCatchClause(pos) {
1578
1581
  type: "CatchClause",
1579
1582
  param: null,
1580
1583
  body: null,
1581
- start: deserializeU32(pos),
1582
- end: deserializeU32(pos + 4),
1584
+ start: deserializeI32(pos),
1585
+ end: deserializeI32(pos + 4),
1583
1586
  };
1584
1587
  node.param = deserializeOptionCatchParameter(pos + 16);
1585
1588
  node.body = deserializeBoxBlockStatement(pos + 56);
@@ -1593,8 +1596,8 @@ function deserializeCatchParameter(pos) {
1593
1596
  function deserializeDebuggerStatement(pos) {
1594
1597
  return {
1595
1598
  type: "DebuggerStatement",
1596
- start: deserializeU32(pos),
1597
- end: deserializeU32(pos + 4),
1599
+ start: deserializeI32(pos),
1600
+ end: deserializeI32(pos + 4),
1598
1601
  };
1599
1602
  }
1600
1603
 
@@ -1618,8 +1621,8 @@ function deserializeAssignmentPattern(pos) {
1618
1621
  type: "AssignmentPattern",
1619
1622
  left: null,
1620
1623
  right: null,
1621
- start: deserializeU32(pos),
1622
- end: deserializeU32(pos + 4),
1624
+ start: deserializeI32(pos),
1625
+ end: deserializeI32(pos + 4),
1623
1626
  };
1624
1627
  node.left = deserializeBindingPattern(pos + 16);
1625
1628
  node.right = deserializeExpression(pos + 32);
@@ -1630,8 +1633,8 @@ function deserializeObjectPattern(pos) {
1630
1633
  let node = {
1631
1634
  type: "ObjectPattern",
1632
1635
  properties: null,
1633
- start: deserializeU32(pos),
1634
- end: deserializeU32(pos + 4),
1636
+ start: deserializeI32(pos),
1637
+ end: deserializeI32(pos + 4),
1635
1638
  },
1636
1639
  properties = deserializeVecBindingProperty(pos + 16),
1637
1640
  rest = deserializeOptionBoxBindingRestElement(pos + 40);
@@ -1643,19 +1646,17 @@ function deserializeObjectPattern(pos) {
1643
1646
  function deserializeBindingProperty(pos) {
1644
1647
  let node = {
1645
1648
  type: "Property",
1646
- kind: null,
1649
+ kind: "init",
1647
1650
  key: null,
1648
1651
  value: null,
1649
- method: null,
1652
+ method: false,
1650
1653
  shorthand: deserializeBool(pos + 12),
1651
1654
  computed: deserializeBool(pos + 13),
1652
- start: deserializeU32(pos),
1653
- end: deserializeU32(pos + 4),
1655
+ start: deserializeI32(pos),
1656
+ end: deserializeI32(pos + 4),
1654
1657
  };
1655
- node.kind = "init";
1656
1658
  node.key = deserializePropertyKey(pos + 16);
1657
1659
  node.value = deserializeBindingPattern(pos + 32);
1658
- node.method = false;
1659
1660
  return node;
1660
1661
  }
1661
1662
 
@@ -1663,8 +1664,8 @@ function deserializeArrayPattern(pos) {
1663
1664
  let node = {
1664
1665
  type: "ArrayPattern",
1665
1666
  elements: null,
1666
- start: deserializeU32(pos),
1667
- end: deserializeU32(pos + 4),
1667
+ start: deserializeI32(pos),
1668
+ end: deserializeI32(pos + 4),
1668
1669
  },
1669
1670
  elements = deserializeVecOptionBindingPattern(pos + 16),
1670
1671
  rest = deserializeOptionBoxBindingRestElement(pos + 40);
@@ -1677,8 +1678,8 @@ function deserializeBindingRestElement(pos) {
1677
1678
  let node = {
1678
1679
  type: "RestElement",
1679
1680
  argument: null,
1680
- start: deserializeU32(pos),
1681
- end: deserializeU32(pos + 4),
1681
+ start: deserializeI32(pos),
1682
+ end: deserializeI32(pos + 4),
1682
1683
  };
1683
1684
  node.argument = deserializeBindingPattern(pos + 16);
1684
1685
  return node;
@@ -1692,15 +1693,14 @@ function deserializeFunction(pos) {
1692
1693
  async: deserializeBool(pos + 90),
1693
1694
  params: null,
1694
1695
  body: null,
1695
- expression: null,
1696
- start: deserializeU32(pos),
1697
- end: deserializeU32(pos + 4),
1696
+ expression: false,
1697
+ start: deserializeI32(pos),
1698
+ end: deserializeI32(pos + 4),
1698
1699
  },
1699
1700
  params = deserializeBoxFormalParameters(pos + 64);
1700
1701
  node.id = deserializeOptionBindingIdentifier(pos + 16);
1701
1702
  node.params = params;
1702
1703
  node.body = deserializeOptionBoxFunctionBody(pos + 80);
1703
- node.expression = false;
1704
1704
  return node;
1705
1705
  }
1706
1706
 
@@ -1720,14 +1720,15 @@ function deserializeFunctionType(pos) {
1720
1720
  }
1721
1721
 
1722
1722
  function deserializeFormalParameters(pos) {
1723
- let params = deserializeVecFormalParameter(pos + 16);
1724
- if (uint32[(pos + 40) >> 2] !== 0 && uint32[(pos + 44) >> 2] !== 0) {
1725
- pos = uint32[(pos + 40) >> 2];
1723
+ let params = deserializeVecFormalParameter(pos + 16),
1724
+ restFieldPos32 = (pos >> 2) + 10;
1725
+ if (int32[restFieldPos32] !== 0 && int32[restFieldPos32 + 1] !== 0) {
1726
+ pos = int32[restFieldPos32];
1726
1727
  let rest = {
1727
1728
  type: "RestElement",
1728
1729
  argument: null,
1729
- start: deserializeU32(pos + 40),
1730
- end: deserializeU32(pos + 44),
1730
+ start: deserializeI32(pos + 40),
1731
+ end: deserializeI32(pos + 44),
1731
1732
  };
1732
1733
  rest.argument = deserializeBindingPattern(pos + 56);
1733
1734
  params.push(rest);
@@ -1736,14 +1737,15 @@ function deserializeFormalParameters(pos) {
1736
1737
  }
1737
1738
 
1738
1739
  function deserializeFormalParameter(pos) {
1739
- let param;
1740
- if (uint32[(pos + 64) >> 2] !== 0 && uint32[(pos + 68) >> 2] !== 0) {
1740
+ let param,
1741
+ initializerFieldPos32 = (pos >> 2) + 16;
1742
+ if (int32[initializerFieldPos32] !== 0 && int32[initializerFieldPos32 + 1] !== 0) {
1741
1743
  param = {
1742
1744
  type: "AssignmentPattern",
1743
1745
  left: null,
1744
1746
  right: null,
1745
- start: deserializeU32(pos),
1746
- end: deserializeU32(pos + 4),
1747
+ start: deserializeI32(pos),
1748
+ end: deserializeI32(pos + 4),
1747
1749
  };
1748
1750
  param.left = deserializeBindingPattern(pos + 40);
1749
1751
  param.right = deserializeOptionBoxExpression(pos + 64);
@@ -1755,8 +1757,8 @@ function deserializeFunctionBody(pos) {
1755
1757
  let node = {
1756
1758
  type: "BlockStatement",
1757
1759
  body: null,
1758
- start: deserializeU32(pos),
1759
- end: deserializeU32(pos + 4),
1760
+ start: deserializeI32(pos),
1761
+ end: deserializeI32(pos + 4),
1760
1762
  },
1761
1763
  body = deserializeVecDirective(pos + 16);
1762
1764
  body.push(...deserializeVecStatement(pos + 40));
@@ -1773,15 +1775,14 @@ function deserializeArrowFunctionExpression(pos) {
1773
1775
  params: null,
1774
1776
  body: null,
1775
1777
  id: null,
1776
- generator: null,
1777
- start: deserializeU32(pos),
1778
- end: deserializeU32(pos + 4),
1778
+ generator: false,
1779
+ start: deserializeI32(pos),
1780
+ end: deserializeI32(pos + 4),
1779
1781
  },
1780
1782
  body = deserializeBoxFunctionBody(pos + 40);
1781
1783
  expression === true && (body = body.body[0].expression);
1782
1784
  node.params = deserializeBoxFormalParameters(pos + 24);
1783
1785
  node.body = body;
1784
- node.generator = false;
1785
1786
  return node;
1786
1787
  }
1787
1788
 
@@ -1790,8 +1791,8 @@ function deserializeYieldExpression(pos) {
1790
1791
  type: "YieldExpression",
1791
1792
  delegate: deserializeBool(pos + 12),
1792
1793
  argument: null,
1793
- start: deserializeU32(pos),
1794
- end: deserializeU32(pos + 4),
1794
+ start: deserializeI32(pos),
1795
+ end: deserializeI32(pos + 4),
1795
1796
  };
1796
1797
  node.argument = deserializeOptionExpression(pos + 16);
1797
1798
  return node;
@@ -1804,8 +1805,8 @@ function deserializeClass(pos) {
1804
1805
  id: null,
1805
1806
  superClass: null,
1806
1807
  body: null,
1807
- start: deserializeU32(pos),
1808
- end: deserializeU32(pos + 4),
1808
+ start: deserializeI32(pos),
1809
+ end: deserializeI32(pos + 4),
1809
1810
  };
1810
1811
  node.decorators = deserializeVecDecorator(pos + 16);
1811
1812
  node.id = deserializeOptionBindingIdentifier(pos + 40);
@@ -1829,8 +1830,8 @@ function deserializeClassBody(pos) {
1829
1830
  let node = {
1830
1831
  type: "ClassBody",
1831
1832
  body: null,
1832
- start: deserializeU32(pos),
1833
- end: deserializeU32(pos + 4),
1833
+ start: deserializeI32(pos),
1834
+ end: deserializeI32(pos + 4),
1834
1835
  };
1835
1836
  node.body = deserializeVecClassElement(pos + 16);
1836
1837
  return node;
@@ -1862,8 +1863,8 @@ function deserializeMethodDefinition(pos) {
1862
1863
  kind: deserializeMethodDefinitionKind(pos + 13),
1863
1864
  computed: deserializeBool(pos + 14),
1864
1865
  static: deserializeBool(pos + 15),
1865
- start: deserializeU32(pos),
1866
- end: deserializeU32(pos + 4),
1866
+ start: deserializeI32(pos),
1867
+ end: deserializeI32(pos + 4),
1867
1868
  };
1868
1869
  node.decorators = deserializeVecDecorator(pos + 16);
1869
1870
  node.key = deserializePropertyKey(pos + 40);
@@ -1890,8 +1891,8 @@ function deserializePropertyDefinition(pos) {
1890
1891
  value: null,
1891
1892
  computed: deserializeBool(pos + 13),
1892
1893
  static: deserializeBool(pos + 14),
1893
- start: deserializeU32(pos),
1894
- end: deserializeU32(pos + 4),
1894
+ start: deserializeI32(pos),
1895
+ end: deserializeI32(pos + 4),
1895
1896
  };
1896
1897
  node.decorators = deserializeVecDecorator(pos + 16);
1897
1898
  node.key = deserializePropertyKey(pos + 40);
@@ -1929,8 +1930,8 @@ function deserializePrivateIdentifier(pos) {
1929
1930
  return {
1930
1931
  type: "PrivateIdentifier",
1931
1932
  name: deserializeStr(pos + 16),
1932
- start: deserializeU32(pos),
1933
- end: deserializeU32(pos + 4),
1933
+ start: deserializeI32(pos),
1934
+ end: deserializeI32(pos + 4),
1934
1935
  };
1935
1936
  }
1936
1937
 
@@ -1938,8 +1939,8 @@ function deserializeStaticBlock(pos) {
1938
1939
  let node = {
1939
1940
  type: "StaticBlock",
1940
1941
  body: null,
1941
- start: deserializeU32(pos),
1942
- end: deserializeU32(pos + 4),
1942
+ start: deserializeI32(pos),
1943
+ end: deserializeI32(pos + 4),
1943
1944
  };
1944
1945
  node.body = deserializeVecStatement(pos + 16);
1945
1946
  return node;
@@ -1964,8 +1965,8 @@ function deserializeAccessorProperty(pos) {
1964
1965
  value: null,
1965
1966
  computed: deserializeBool(pos + 13),
1966
1967
  static: deserializeBool(pos + 14),
1967
- start: deserializeU32(pos),
1968
- end: deserializeU32(pos + 4),
1968
+ start: deserializeI32(pos),
1969
+ end: deserializeI32(pos + 4),
1969
1970
  };
1970
1971
  node.decorators = deserializeVecDecorator(pos + 16);
1971
1972
  node.key = deserializePropertyKey(pos + 40);
@@ -1979,8 +1980,8 @@ function deserializeImportExpression(pos) {
1979
1980
  source: null,
1980
1981
  options: null,
1981
1982
  phase: deserializeOptionImportPhase(pos + 12),
1982
- start: deserializeU32(pos),
1983
- end: deserializeU32(pos + 4),
1983
+ start: deserializeI32(pos),
1984
+ end: deserializeI32(pos + 4),
1984
1985
  };
1985
1986
  node.source = deserializeExpression(pos + 16);
1986
1987
  node.options = deserializeOptionExpression(pos + 32);
@@ -1994,8 +1995,8 @@ function deserializeImportDeclaration(pos) {
1994
1995
  source: null,
1995
1996
  phase: deserializeOptionImportPhase(pos + 12),
1996
1997
  attributes: null,
1997
- start: deserializeU32(pos),
1998
- end: deserializeU32(pos + 4),
1998
+ start: deserializeI32(pos),
1999
+ end: deserializeI32(pos + 4),
1999
2000
  },
2000
2001
  specifiers = deserializeOptionVecImportDeclarationSpecifier(pos + 16);
2001
2002
  specifiers === null && (specifiers = []);
@@ -2035,8 +2036,8 @@ function deserializeImportSpecifier(pos) {
2035
2036
  type: "ImportSpecifier",
2036
2037
  imported: null,
2037
2038
  local: null,
2038
- start: deserializeU32(pos),
2039
- end: deserializeU32(pos + 4),
2039
+ start: deserializeI32(pos),
2040
+ end: deserializeI32(pos + 4),
2040
2041
  };
2041
2042
  node.imported = deserializeModuleExportName(pos + 16);
2042
2043
  node.local = deserializeBindingIdentifier(pos + 72);
@@ -2047,8 +2048,8 @@ function deserializeImportDefaultSpecifier(pos) {
2047
2048
  let node = {
2048
2049
  type: "ImportDefaultSpecifier",
2049
2050
  local: null,
2050
- start: deserializeU32(pos),
2051
- end: deserializeU32(pos + 4),
2051
+ start: deserializeI32(pos),
2052
+ end: deserializeI32(pos + 4),
2052
2053
  };
2053
2054
  node.local = deserializeBindingIdentifier(pos + 16);
2054
2055
  return node;
@@ -2058,8 +2059,8 @@ function deserializeImportNamespaceSpecifier(pos) {
2058
2059
  let node = {
2059
2060
  type: "ImportNamespaceSpecifier",
2060
2061
  local: null,
2061
- start: deserializeU32(pos),
2062
- end: deserializeU32(pos + 4),
2062
+ start: deserializeI32(pos),
2063
+ end: deserializeI32(pos + 4),
2063
2064
  };
2064
2065
  node.local = deserializeBindingIdentifier(pos + 16);
2065
2066
  return node;
@@ -2074,8 +2075,8 @@ function deserializeImportAttribute(pos) {
2074
2075
  type: "ImportAttribute",
2075
2076
  key: null,
2076
2077
  value: null,
2077
- start: deserializeU32(pos),
2078
- end: deserializeU32(pos + 4),
2078
+ start: deserializeI32(pos),
2079
+ end: deserializeI32(pos + 4),
2079
2080
  };
2080
2081
  node.key = deserializeImportAttributeKey(pos + 16);
2081
2082
  node.value = deserializeStringLiteral(pos + 72);
@@ -2100,8 +2101,8 @@ function deserializeExportNamedDeclaration(pos) {
2100
2101
  specifiers: null,
2101
2102
  source: null,
2102
2103
  attributes: null,
2103
- start: deserializeU32(pos),
2104
- end: deserializeU32(pos + 4),
2104
+ start: deserializeI32(pos),
2105
+ end: deserializeI32(pos + 4),
2105
2106
  },
2106
2107
  withClause = deserializeOptionBoxWithClause(pos + 104);
2107
2108
  node.declaration = deserializeOptionDeclaration(pos + 16);
@@ -2115,8 +2116,8 @@ function deserializeExportDefaultDeclaration(pos) {
2115
2116
  let node = {
2116
2117
  type: "ExportDefaultDeclaration",
2117
2118
  declaration: null,
2118
- start: deserializeU32(pos),
2119
- end: deserializeU32(pos + 4),
2119
+ start: deserializeI32(pos),
2120
+ end: deserializeI32(pos + 4),
2120
2121
  };
2121
2122
  node.declaration = deserializeExportDefaultDeclarationKind(pos + 16);
2122
2123
  return node;
@@ -2128,8 +2129,8 @@ function deserializeExportAllDeclaration(pos) {
2128
2129
  exported: null,
2129
2130
  source: null,
2130
2131
  attributes: null,
2131
- start: deserializeU32(pos),
2132
- end: deserializeU32(pos + 4),
2132
+ start: deserializeI32(pos),
2133
+ end: deserializeI32(pos + 4),
2133
2134
  },
2134
2135
  withClause = deserializeOptionBoxWithClause(pos + 120);
2135
2136
  node.exported = deserializeOptionModuleExportName(pos + 16);
@@ -2143,8 +2144,8 @@ function deserializeExportSpecifier(pos) {
2143
2144
  type: "ExportSpecifier",
2144
2145
  local: null,
2145
2146
  exported: null,
2146
- start: deserializeU32(pos),
2147
- end: deserializeU32(pos + 4),
2147
+ start: deserializeI32(pos),
2148
+ end: deserializeI32(pos + 4),
2148
2149
  };
2149
2150
  node.local = deserializeModuleExportName(pos + 16);
2150
2151
  node.exported = deserializeModuleExportName(pos + 72);
@@ -2268,8 +2269,8 @@ function deserializeV8IntrinsicExpression(pos) {
2268
2269
  type: "V8IntrinsicExpression",
2269
2270
  name: null,
2270
2271
  arguments: null,
2271
- start: deserializeU32(pos),
2272
- end: deserializeU32(pos + 4),
2272
+ start: deserializeI32(pos),
2273
+ end: deserializeI32(pos + 4),
2273
2274
  };
2274
2275
  node.name = deserializeIdentifierName(pos + 16);
2275
2276
  node.arguments = deserializeVecArgument(pos + 48);
@@ -2278,8 +2279,8 @@ function deserializeV8IntrinsicExpression(pos) {
2278
2279
 
2279
2280
  function deserializeBooleanLiteral(pos) {
2280
2281
  let value = deserializeBool(pos + 12),
2281
- start = deserializeU32(pos),
2282
- end = deserializeU32(pos + 4),
2282
+ start = deserializeI32(pos),
2283
+ end = deserializeI32(pos + 4),
2283
2284
  node = {
2284
2285
  type: "Literal",
2285
2286
  value,
@@ -2292,36 +2293,44 @@ function deserializeBooleanLiteral(pos) {
2292
2293
  }
2293
2294
 
2294
2295
  function deserializeNullLiteral(pos) {
2295
- let start = deserializeU32(pos),
2296
- end = deserializeU32(pos + 4),
2297
- node = {
2298
- type: "Literal",
2299
- value: null,
2300
- raw: null,
2301
- start,
2302
- end,
2303
- };
2304
- node.raw = start === 0 && end === 0 ? null : "null";
2305
- return node;
2296
+ let start = deserializeI32(pos),
2297
+ end = deserializeI32(pos + 4);
2298
+ return {
2299
+ type: "Literal",
2300
+ value: null,
2301
+ raw: start === 0 && end === 0 ? null : "null",
2302
+ start,
2303
+ end,
2304
+ };
2306
2305
  }
2307
2306
 
2308
2307
  function deserializeNumericLiteral(pos) {
2308
+ let start = deserializeI32(pos),
2309
+ end = deserializeI32(pos + 4);
2309
2310
  return {
2310
2311
  type: "Literal",
2311
2312
  value: deserializeF64(pos + 32),
2312
- raw: deserializeOptionStr(pos + 16),
2313
- start: deserializeU32(pos),
2314
- end: deserializeU32(pos + 4),
2313
+ raw:
2314
+ int32[(pos >> 2) + 4] === 0 && int32[(pos >> 2) + 5] === 0
2315
+ ? null
2316
+ : sourceText.slice(start, end),
2317
+ start,
2318
+ end,
2315
2319
  };
2316
2320
  }
2317
2321
 
2318
2322
  function deserializeStringLiteral(pos) {
2319
- let node = {
2323
+ let start = deserializeI32(pos),
2324
+ end = deserializeI32(pos + 4),
2325
+ node = {
2320
2326
  type: "Literal",
2321
2327
  value: null,
2322
- raw: deserializeOptionStr(pos + 32),
2323
- start: deserializeU32(pos),
2324
- end: deserializeU32(pos + 4),
2328
+ raw:
2329
+ int32[(pos >> 2) + 8] === 0 && int32[(pos >> 2) + 9] === 0
2330
+ ? null
2331
+ : sourceText.slice(start, end),
2332
+ start,
2333
+ end,
2325
2334
  },
2326
2335
  value = deserializeStr(pos + 16);
2327
2336
  deserializeBool(pos + 12) &&
@@ -2331,28 +2340,35 @@ function deserializeStringLiteral(pos) {
2331
2340
  }
2332
2341
 
2333
2342
  function deserializeBigIntLiteral(pos) {
2334
- let node = {
2335
- type: "Literal",
2336
- value: null,
2337
- raw: deserializeOptionStr(pos + 32),
2338
- bigint: null,
2339
- start: deserializeU32(pos),
2340
- end: deserializeU32(pos + 4),
2341
- },
2343
+ let start = deserializeI32(pos),
2344
+ end = deserializeI32(pos + 4),
2342
2345
  bigint = deserializeStr(pos + 16);
2343
- node.value = BigInt(bigint);
2344
- node.bigint = bigint;
2345
- return node;
2346
+ return {
2347
+ type: "Literal",
2348
+ value: BigInt(bigint),
2349
+ raw:
2350
+ int32[(pos >> 2) + 8] === 0 && int32[(pos >> 2) + 9] === 0
2351
+ ? null
2352
+ : sourceText.slice(start, end),
2353
+ bigint,
2354
+ start,
2355
+ end,
2356
+ };
2346
2357
  }
2347
2358
 
2348
2359
  function deserializeRegExpLiteral(pos) {
2349
- let node = {
2360
+ let start = deserializeI32(pos),
2361
+ end = deserializeI32(pos + 4),
2362
+ node = {
2350
2363
  type: "Literal",
2351
2364
  value: null,
2352
- raw: deserializeOptionStr(pos + 48),
2365
+ raw:
2366
+ int32[(pos >> 2) + 12] === 0 && int32[(pos >> 2) + 13] === 0
2367
+ ? null
2368
+ : sourceText.slice(start, end),
2353
2369
  regex: null,
2354
- start: deserializeU32(pos),
2355
- end: deserializeU32(pos + 4),
2370
+ start,
2371
+ end,
2356
2372
  },
2357
2373
  regex = deserializeRegExp(pos + 16),
2358
2374
  value = null;
@@ -2392,8 +2408,8 @@ function deserializeJSXElement(pos) {
2392
2408
  openingElement: null,
2393
2409
  children: null,
2394
2410
  closingElement: null,
2395
- start: deserializeU32(pos),
2396
- end: deserializeU32(pos + 4),
2411
+ start: deserializeI32(pos),
2412
+ end: deserializeI32(pos + 4),
2397
2413
  },
2398
2414
  closingElement = deserializeOptionBoxJSXClosingElement(pos + 48),
2399
2415
  openingElement = deserializeBoxJSXOpeningElement(pos + 16);
@@ -2409,13 +2425,12 @@ function deserializeJSXOpeningElement(pos) {
2409
2425
  type: "JSXOpeningElement",
2410
2426
  name: null,
2411
2427
  attributes: null,
2412
- selfClosing: null,
2413
- start: deserializeU32(pos),
2414
- end: deserializeU32(pos + 4),
2428
+ selfClosing: false,
2429
+ start: deserializeI32(pos),
2430
+ end: deserializeI32(pos + 4),
2415
2431
  };
2416
2432
  node.name = deserializeJSXElementName(pos + 16);
2417
2433
  node.attributes = deserializeVecJSXAttributeItem(pos + 40);
2418
- node.selfClosing = false;
2419
2434
  return node;
2420
2435
  }
2421
2436
 
@@ -2423,8 +2438,8 @@ function deserializeJSXClosingElement(pos) {
2423
2438
  let node = {
2424
2439
  type: "JSXClosingElement",
2425
2440
  name: null,
2426
- start: deserializeU32(pos),
2427
- end: deserializeU32(pos + 4),
2441
+ start: deserializeI32(pos),
2442
+ end: deserializeI32(pos + 4),
2428
2443
  };
2429
2444
  node.name = deserializeJSXElementName(pos + 16);
2430
2445
  return node;
@@ -2436,8 +2451,8 @@ function deserializeJSXFragment(pos) {
2436
2451
  openingFragment: null,
2437
2452
  children: null,
2438
2453
  closingFragment: null,
2439
- start: deserializeU32(pos),
2440
- end: deserializeU32(pos + 4),
2454
+ start: deserializeI32(pos),
2455
+ end: deserializeI32(pos + 4),
2441
2456
  };
2442
2457
  node.openingFragment = deserializeJSXOpeningFragment(pos + 16);
2443
2458
  node.children = deserializeVecJSXChild(pos + 32);
@@ -2446,23 +2461,20 @@ function deserializeJSXFragment(pos) {
2446
2461
  }
2447
2462
 
2448
2463
  function deserializeJSXOpeningFragment(pos) {
2449
- let node = {
2464
+ return {
2450
2465
  type: "JSXOpeningFragment",
2451
- attributes: null,
2452
- selfClosing: null,
2453
- start: deserializeU32(pos),
2454
- end: deserializeU32(pos + 4),
2466
+ attributes: [],
2467
+ selfClosing: false,
2468
+ start: deserializeI32(pos),
2469
+ end: deserializeI32(pos + 4),
2455
2470
  };
2456
- node.attributes = [];
2457
- node.selfClosing = false;
2458
- return node;
2459
2471
  }
2460
2472
 
2461
2473
  function deserializeJSXClosingFragment(pos) {
2462
2474
  return {
2463
2475
  type: "JSXClosingFragment",
2464
- start: deserializeU32(pos),
2465
- end: deserializeU32(pos + 4),
2476
+ start: deserializeI32(pos),
2477
+ end: deserializeI32(pos + 4),
2466
2478
  };
2467
2479
  }
2468
2480
 
@@ -2500,8 +2512,8 @@ function deserializeJSXNamespacedName(pos) {
2500
2512
  type: "JSXNamespacedName",
2501
2513
  namespace: null,
2502
2514
  name: null,
2503
- start: deserializeU32(pos),
2504
- end: deserializeU32(pos + 4),
2515
+ start: deserializeI32(pos),
2516
+ end: deserializeI32(pos + 4),
2505
2517
  };
2506
2518
  node.namespace = deserializeJSXIdentifier(pos + 16);
2507
2519
  node.name = deserializeJSXIdentifier(pos + 48);
@@ -2513,8 +2525,8 @@ function deserializeJSXMemberExpression(pos) {
2513
2525
  type: "JSXMemberExpression",
2514
2526
  object: null,
2515
2527
  property: null,
2516
- start: deserializeU32(pos),
2517
- end: deserializeU32(pos + 4),
2528
+ start: deserializeI32(pos),
2529
+ end: deserializeI32(pos + 4),
2518
2530
  };
2519
2531
  node.object = deserializeJSXMemberExpressionObject(pos + 16);
2520
2532
  node.property = deserializeJSXIdentifier(pos + 32);
@@ -2550,8 +2562,8 @@ function deserializeJSXExpressionContainer(pos) {
2550
2562
  let node = {
2551
2563
  type: "JSXExpressionContainer",
2552
2564
  expression: null,
2553
- start: deserializeU32(pos),
2554
- end: deserializeU32(pos + 4),
2565
+ start: deserializeI32(pos),
2566
+ end: deserializeI32(pos + 4),
2555
2567
  };
2556
2568
  node.expression = deserializeJSXExpression(pos + 16);
2557
2569
  return node;
@@ -2655,8 +2667,8 @@ function deserializeJSXExpression(pos) {
2655
2667
  function deserializeJSXEmptyExpression(pos) {
2656
2668
  return {
2657
2669
  type: "JSXEmptyExpression",
2658
- start: deserializeU32(pos),
2659
- end: deserializeU32(pos + 4),
2670
+ start: deserializeI32(pos),
2671
+ end: deserializeI32(pos + 4),
2660
2672
  };
2661
2673
  }
2662
2674
 
@@ -2676,8 +2688,8 @@ function deserializeJSXAttribute(pos) {
2676
2688
  type: "JSXAttribute",
2677
2689
  name: null,
2678
2690
  value: null,
2679
- start: deserializeU32(pos),
2680
- end: deserializeU32(pos + 4),
2691
+ start: deserializeI32(pos),
2692
+ end: deserializeI32(pos + 4),
2681
2693
  };
2682
2694
  node.name = deserializeJSXAttributeName(pos + 16);
2683
2695
  node.value = deserializeOptionJSXAttributeValue(pos + 32);
@@ -2688,8 +2700,8 @@ function deserializeJSXSpreadAttribute(pos) {
2688
2700
  let node = {
2689
2701
  type: "JSXSpreadAttribute",
2690
2702
  argument: null,
2691
- start: deserializeU32(pos),
2692
- end: deserializeU32(pos + 4),
2703
+ start: deserializeI32(pos),
2704
+ end: deserializeI32(pos + 4),
2693
2705
  };
2694
2706
  node.argument = deserializeExpression(pos + 16);
2695
2707
  return node;
@@ -2725,8 +2737,8 @@ function deserializeJSXIdentifier(pos) {
2725
2737
  return {
2726
2738
  type: "JSXIdentifier",
2727
2739
  name: deserializeStr(pos + 16),
2728
- start: deserializeU32(pos),
2729
- end: deserializeU32(pos + 4),
2740
+ start: deserializeI32(pos),
2741
+ end: deserializeI32(pos + 4),
2730
2742
  };
2731
2743
  }
2732
2744
 
@@ -2751,36 +2763,38 @@ function deserializeJSXSpreadChild(pos) {
2751
2763
  let node = {
2752
2764
  type: "JSXSpreadChild",
2753
2765
  expression: null,
2754
- start: deserializeU32(pos),
2755
- end: deserializeU32(pos + 4),
2766
+ start: deserializeI32(pos),
2767
+ end: deserializeI32(pos + 4),
2756
2768
  };
2757
2769
  node.expression = deserializeExpression(pos + 16);
2758
2770
  return node;
2759
2771
  }
2760
2772
 
2761
2773
  function deserializeJSXText(pos) {
2774
+ let start = deserializeI32(pos),
2775
+ end = deserializeI32(pos + 4);
2762
2776
  return {
2763
2777
  type: "JSXText",
2764
2778
  value: deserializeStr(pos + 16),
2765
- raw: deserializeOptionStr(pos + 32),
2766
- start: deserializeU32(pos),
2767
- end: deserializeU32(pos + 4),
2779
+ raw:
2780
+ int32[(pos >> 2) + 8] === 0 && int32[(pos >> 2) + 9] === 0
2781
+ ? null
2782
+ : sourceText.slice(start, end),
2783
+ start,
2784
+ end,
2768
2785
  };
2769
2786
  }
2770
2787
 
2771
2788
  function deserializeTSThisParameter(pos) {
2772
2789
  let node = {
2773
2790
  type: "Identifier",
2774
- decorators: null,
2775
- name: null,
2776
- optional: null,
2791
+ decorators: [],
2792
+ name: "this",
2793
+ optional: false,
2777
2794
  typeAnnotation: null,
2778
- start: deserializeU32(pos),
2779
- end: deserializeU32(pos + 4),
2795
+ start: deserializeI32(pos),
2796
+ end: deserializeI32(pos + 4),
2780
2797
  };
2781
- node.decorators = [];
2782
- node.name = "this";
2783
- node.optional = false;
2784
2798
  node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 24);
2785
2799
  return node;
2786
2800
  }
@@ -2792,8 +2806,8 @@ function deserializeTSEnumDeclaration(pos) {
2792
2806
  body: null,
2793
2807
  const: deserializeBool(pos + 12),
2794
2808
  declare: deserializeBool(pos + 13),
2795
- start: deserializeU32(pos),
2796
- end: deserializeU32(pos + 4),
2809
+ start: deserializeI32(pos),
2810
+ end: deserializeI32(pos + 4),
2797
2811
  };
2798
2812
  node.id = deserializeBindingIdentifier(pos + 16);
2799
2813
  node.body = deserializeTSEnumBody(pos + 48);
@@ -2804,8 +2818,8 @@ function deserializeTSEnumBody(pos) {
2804
2818
  let node = {
2805
2819
  type: "TSEnumBody",
2806
2820
  members: null,
2807
- start: deserializeU32(pos),
2808
- end: deserializeU32(pos + 4),
2821
+ start: deserializeI32(pos),
2822
+ end: deserializeI32(pos + 4),
2809
2823
  };
2810
2824
  node.members = deserializeVecTSEnumMember(pos + 16);
2811
2825
  return node;
@@ -2816,13 +2830,12 @@ function deserializeTSEnumMember(pos) {
2816
2830
  type: "TSEnumMember",
2817
2831
  id: null,
2818
2832
  initializer: null,
2819
- computed: null,
2820
- start: deserializeU32(pos),
2821
- end: deserializeU32(pos + 4),
2833
+ computed: deserializeU8(pos + 16) > 1,
2834
+ start: deserializeI32(pos),
2835
+ end: deserializeI32(pos + 4),
2822
2836
  };
2823
2837
  node.id = deserializeTSEnumMemberName(pos + 16);
2824
2838
  node.initializer = deserializeOptionExpression(pos + 32);
2825
- node.computed = deserializeU8(pos + 16) > 1;
2826
2839
  return node;
2827
2840
  }
2828
2841
 
@@ -2845,8 +2858,8 @@ function deserializeTSTypeAnnotation(pos) {
2845
2858
  let node = {
2846
2859
  type: "TSTypeAnnotation",
2847
2860
  typeAnnotation: null,
2848
- start: deserializeU32(pos),
2849
- end: deserializeU32(pos + 4),
2861
+ start: deserializeI32(pos),
2862
+ end: deserializeI32(pos + 4),
2850
2863
  };
2851
2864
  node.typeAnnotation = deserializeTSType(pos + 16);
2852
2865
  return node;
@@ -2856,8 +2869,8 @@ function deserializeTSLiteralType(pos) {
2856
2869
  let node = {
2857
2870
  type: "TSLiteralType",
2858
2871
  literal: null,
2859
- start: deserializeU32(pos),
2860
- end: deserializeU32(pos + 4),
2872
+ start: deserializeI32(pos),
2873
+ end: deserializeI32(pos + 4),
2861
2874
  };
2862
2875
  node.literal = deserializeTSLiteral(pos + 16);
2863
2876
  return node;
@@ -2970,8 +2983,8 @@ function deserializeTSConditionalType(pos) {
2970
2983
  extendsType: null,
2971
2984
  trueType: null,
2972
2985
  falseType: null,
2973
- start: deserializeU32(pos),
2974
- end: deserializeU32(pos + 4),
2986
+ start: deserializeI32(pos),
2987
+ end: deserializeI32(pos + 4),
2975
2988
  };
2976
2989
  node.checkType = deserializeTSType(pos + 16);
2977
2990
  node.extendsType = deserializeTSType(pos + 32);
@@ -2984,8 +2997,8 @@ function deserializeTSUnionType(pos) {
2984
2997
  let node = {
2985
2998
  type: "TSUnionType",
2986
2999
  types: null,
2987
- start: deserializeU32(pos),
2988
- end: deserializeU32(pos + 4),
3000
+ start: deserializeI32(pos),
3001
+ end: deserializeI32(pos + 4),
2989
3002
  };
2990
3003
  node.types = deserializeVecTSType(pos + 16);
2991
3004
  return node;
@@ -2995,8 +3008,8 @@ function deserializeTSIntersectionType(pos) {
2995
3008
  let node = {
2996
3009
  type: "TSIntersectionType",
2997
3010
  types: null,
2998
- start: deserializeU32(pos),
2999
- end: deserializeU32(pos + 4),
3011
+ start: deserializeI32(pos),
3012
+ end: deserializeI32(pos + 4),
3000
3013
  };
3001
3014
  node.types = deserializeVecTSType(pos + 16);
3002
3015
  return node;
@@ -3007,8 +3020,8 @@ function deserializeTSParenthesizedType(pos) {
3007
3020
  node = {
3008
3021
  type: "TSParenthesizedType",
3009
3022
  typeAnnotation: null,
3010
- start: deserializeU32(pos),
3011
- end: deserializeU32(pos + 4),
3023
+ start: deserializeI32(pos),
3024
+ end: deserializeI32(pos + 4),
3012
3025
  };
3013
3026
  node.typeAnnotation = deserializeTSType(pos + 16);
3014
3027
  return node;
@@ -3019,8 +3032,8 @@ function deserializeTSTypeOperator(pos) {
3019
3032
  type: "TSTypeOperator",
3020
3033
  operator: deserializeTSTypeOperatorOperator(pos + 12),
3021
3034
  typeAnnotation: null,
3022
- start: deserializeU32(pos),
3023
- end: deserializeU32(pos + 4),
3035
+ start: deserializeI32(pos),
3036
+ end: deserializeI32(pos + 4),
3024
3037
  };
3025
3038
  node.typeAnnotation = deserializeTSType(pos + 16);
3026
3039
  return node;
@@ -3043,8 +3056,8 @@ function deserializeTSArrayType(pos) {
3043
3056
  let node = {
3044
3057
  type: "TSArrayType",
3045
3058
  elementType: null,
3046
- start: deserializeU32(pos),
3047
- end: deserializeU32(pos + 4),
3059
+ start: deserializeI32(pos),
3060
+ end: deserializeI32(pos + 4),
3048
3061
  };
3049
3062
  node.elementType = deserializeTSType(pos + 16);
3050
3063
  return node;
@@ -3055,8 +3068,8 @@ function deserializeTSIndexedAccessType(pos) {
3055
3068
  type: "TSIndexedAccessType",
3056
3069
  objectType: null,
3057
3070
  indexType: null,
3058
- start: deserializeU32(pos),
3059
- end: deserializeU32(pos + 4),
3071
+ start: deserializeI32(pos),
3072
+ end: deserializeI32(pos + 4),
3060
3073
  };
3061
3074
  node.objectType = deserializeTSType(pos + 16);
3062
3075
  node.indexType = deserializeTSType(pos + 32);
@@ -3067,8 +3080,8 @@ function deserializeTSTupleType(pos) {
3067
3080
  let node = {
3068
3081
  type: "TSTupleType",
3069
3082
  elementTypes: null,
3070
- start: deserializeU32(pos),
3071
- end: deserializeU32(pos + 4),
3083
+ start: deserializeI32(pos),
3084
+ end: deserializeI32(pos + 4),
3072
3085
  };
3073
3086
  node.elementTypes = deserializeVecTSTupleElement(pos + 16);
3074
3087
  return node;
@@ -3080,8 +3093,8 @@ function deserializeTSNamedTupleMember(pos) {
3080
3093
  label: null,
3081
3094
  elementType: null,
3082
3095
  optional: deserializeBool(pos + 12),
3083
- start: deserializeU32(pos),
3084
- end: deserializeU32(pos + 4),
3096
+ start: deserializeI32(pos),
3097
+ end: deserializeI32(pos + 4),
3085
3098
  };
3086
3099
  node.label = deserializeIdentifierName(pos + 16);
3087
3100
  node.elementType = deserializeTSTupleElement(pos + 48);
@@ -3092,8 +3105,8 @@ function deserializeTSOptionalType(pos) {
3092
3105
  let node = {
3093
3106
  type: "TSOptionalType",
3094
3107
  typeAnnotation: null,
3095
- start: deserializeU32(pos),
3096
- end: deserializeU32(pos + 4),
3108
+ start: deserializeI32(pos),
3109
+ end: deserializeI32(pos + 4),
3097
3110
  };
3098
3111
  node.typeAnnotation = deserializeTSType(pos + 16);
3099
3112
  return node;
@@ -3103,8 +3116,8 @@ function deserializeTSRestType(pos) {
3103
3116
  let node = {
3104
3117
  type: "TSRestType",
3105
3118
  typeAnnotation: null,
3106
- start: deserializeU32(pos),
3107
- end: deserializeU32(pos + 4),
3119
+ start: deserializeI32(pos),
3120
+ end: deserializeI32(pos + 4),
3108
3121
  };
3109
3122
  node.typeAnnotation = deserializeTSType(pos + 16);
3110
3123
  return node;
@@ -3198,112 +3211,112 @@ function deserializeTSTupleElement(pos) {
3198
3211
  function deserializeTSAnyKeyword(pos) {
3199
3212
  return {
3200
3213
  type: "TSAnyKeyword",
3201
- start: deserializeU32(pos),
3202
- end: deserializeU32(pos + 4),
3214
+ start: deserializeI32(pos),
3215
+ end: deserializeI32(pos + 4),
3203
3216
  };
3204
3217
  }
3205
3218
 
3206
3219
  function deserializeTSStringKeyword(pos) {
3207
3220
  return {
3208
3221
  type: "TSStringKeyword",
3209
- start: deserializeU32(pos),
3210
- end: deserializeU32(pos + 4),
3222
+ start: deserializeI32(pos),
3223
+ end: deserializeI32(pos + 4),
3211
3224
  };
3212
3225
  }
3213
3226
 
3214
3227
  function deserializeTSBooleanKeyword(pos) {
3215
3228
  return {
3216
3229
  type: "TSBooleanKeyword",
3217
- start: deserializeU32(pos),
3218
- end: deserializeU32(pos + 4),
3230
+ start: deserializeI32(pos),
3231
+ end: deserializeI32(pos + 4),
3219
3232
  };
3220
3233
  }
3221
3234
 
3222
3235
  function deserializeTSNumberKeyword(pos) {
3223
3236
  return {
3224
3237
  type: "TSNumberKeyword",
3225
- start: deserializeU32(pos),
3226
- end: deserializeU32(pos + 4),
3238
+ start: deserializeI32(pos),
3239
+ end: deserializeI32(pos + 4),
3227
3240
  };
3228
3241
  }
3229
3242
 
3230
3243
  function deserializeTSNeverKeyword(pos) {
3231
3244
  return {
3232
3245
  type: "TSNeverKeyword",
3233
- start: deserializeU32(pos),
3234
- end: deserializeU32(pos + 4),
3246
+ start: deserializeI32(pos),
3247
+ end: deserializeI32(pos + 4),
3235
3248
  };
3236
3249
  }
3237
3250
 
3238
3251
  function deserializeTSIntrinsicKeyword(pos) {
3239
3252
  return {
3240
3253
  type: "TSIntrinsicKeyword",
3241
- start: deserializeU32(pos),
3242
- end: deserializeU32(pos + 4),
3254
+ start: deserializeI32(pos),
3255
+ end: deserializeI32(pos + 4),
3243
3256
  };
3244
3257
  }
3245
3258
 
3246
3259
  function deserializeTSUnknownKeyword(pos) {
3247
3260
  return {
3248
3261
  type: "TSUnknownKeyword",
3249
- start: deserializeU32(pos),
3250
- end: deserializeU32(pos + 4),
3262
+ start: deserializeI32(pos),
3263
+ end: deserializeI32(pos + 4),
3251
3264
  };
3252
3265
  }
3253
3266
 
3254
3267
  function deserializeTSNullKeyword(pos) {
3255
3268
  return {
3256
3269
  type: "TSNullKeyword",
3257
- start: deserializeU32(pos),
3258
- end: deserializeU32(pos + 4),
3270
+ start: deserializeI32(pos),
3271
+ end: deserializeI32(pos + 4),
3259
3272
  };
3260
3273
  }
3261
3274
 
3262
3275
  function deserializeTSUndefinedKeyword(pos) {
3263
3276
  return {
3264
3277
  type: "TSUndefinedKeyword",
3265
- start: deserializeU32(pos),
3266
- end: deserializeU32(pos + 4),
3278
+ start: deserializeI32(pos),
3279
+ end: deserializeI32(pos + 4),
3267
3280
  };
3268
3281
  }
3269
3282
 
3270
3283
  function deserializeTSVoidKeyword(pos) {
3271
3284
  return {
3272
3285
  type: "TSVoidKeyword",
3273
- start: deserializeU32(pos),
3274
- end: deserializeU32(pos + 4),
3286
+ start: deserializeI32(pos),
3287
+ end: deserializeI32(pos + 4),
3275
3288
  };
3276
3289
  }
3277
3290
 
3278
3291
  function deserializeTSSymbolKeyword(pos) {
3279
3292
  return {
3280
3293
  type: "TSSymbolKeyword",
3281
- start: deserializeU32(pos),
3282
- end: deserializeU32(pos + 4),
3294
+ start: deserializeI32(pos),
3295
+ end: deserializeI32(pos + 4),
3283
3296
  };
3284
3297
  }
3285
3298
 
3286
3299
  function deserializeTSThisType(pos) {
3287
3300
  return {
3288
3301
  type: "TSThisType",
3289
- start: deserializeU32(pos),
3290
- end: deserializeU32(pos + 4),
3302
+ start: deserializeI32(pos),
3303
+ end: deserializeI32(pos + 4),
3291
3304
  };
3292
3305
  }
3293
3306
 
3294
3307
  function deserializeTSObjectKeyword(pos) {
3295
3308
  return {
3296
3309
  type: "TSObjectKeyword",
3297
- start: deserializeU32(pos),
3298
- end: deserializeU32(pos + 4),
3310
+ start: deserializeI32(pos),
3311
+ end: deserializeI32(pos + 4),
3299
3312
  };
3300
3313
  }
3301
3314
 
3302
3315
  function deserializeTSBigIntKeyword(pos) {
3303
3316
  return {
3304
3317
  type: "TSBigIntKeyword",
3305
- start: deserializeU32(pos),
3306
- end: deserializeU32(pos + 4),
3318
+ start: deserializeI32(pos),
3319
+ end: deserializeI32(pos + 4),
3307
3320
  };
3308
3321
  }
3309
3322
 
@@ -3312,8 +3325,8 @@ function deserializeTSTypeReference(pos) {
3312
3325
  type: "TSTypeReference",
3313
3326
  typeName: null,
3314
3327
  typeArguments: null,
3315
- start: deserializeU32(pos),
3316
- end: deserializeU32(pos + 4),
3328
+ start: deserializeI32(pos),
3329
+ end: deserializeI32(pos + 4),
3317
3330
  };
3318
3331
  node.typeName = deserializeTSTypeName(pos + 16);
3319
3332
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
@@ -3338,8 +3351,8 @@ function deserializeTSQualifiedName(pos) {
3338
3351
  type: "TSQualifiedName",
3339
3352
  left: null,
3340
3353
  right: null,
3341
- start: deserializeU32(pos),
3342
- end: deserializeU32(pos + 4),
3354
+ start: deserializeI32(pos),
3355
+ end: deserializeI32(pos + 4),
3343
3356
  };
3344
3357
  node.left = deserializeTSTypeName(pos + 16);
3345
3358
  node.right = deserializeIdentifierName(pos + 32);
@@ -3350,8 +3363,8 @@ function deserializeTSTypeParameterInstantiation(pos) {
3350
3363
  let node = {
3351
3364
  type: "TSTypeParameterInstantiation",
3352
3365
  params: null,
3353
- start: deserializeU32(pos),
3354
- end: deserializeU32(pos + 4),
3366
+ start: deserializeI32(pos),
3367
+ end: deserializeI32(pos + 4),
3355
3368
  };
3356
3369
  node.params = deserializeVecTSType(pos + 16);
3357
3370
  return node;
@@ -3366,8 +3379,8 @@ function deserializeTSTypeParameter(pos) {
3366
3379
  in: deserializeBool(pos + 12),
3367
3380
  out: deserializeBool(pos + 13),
3368
3381
  const: deserializeBool(pos + 14),
3369
- start: deserializeU32(pos),
3370
- end: deserializeU32(pos + 4),
3382
+ start: deserializeI32(pos),
3383
+ end: deserializeI32(pos + 4),
3371
3384
  };
3372
3385
  node.name = deserializeBindingIdentifier(pos + 16);
3373
3386
  node.constraint = deserializeOptionTSType(pos + 48);
@@ -3379,8 +3392,8 @@ function deserializeTSTypeParameterDeclaration(pos) {
3379
3392
  let node = {
3380
3393
  type: "TSTypeParameterDeclaration",
3381
3394
  params: null,
3382
- start: deserializeU32(pos),
3383
- end: deserializeU32(pos + 4),
3395
+ start: deserializeI32(pos),
3396
+ end: deserializeI32(pos + 4),
3384
3397
  };
3385
3398
  node.params = deserializeVecTSTypeParameter(pos + 16);
3386
3399
  return node;
@@ -3393,8 +3406,8 @@ function deserializeTSTypeAliasDeclaration(pos) {
3393
3406
  typeParameters: null,
3394
3407
  typeAnnotation: null,
3395
3408
  declare: deserializeBool(pos + 72),
3396
- start: deserializeU32(pos),
3397
- end: deserializeU32(pos + 4),
3409
+ start: deserializeI32(pos),
3410
+ end: deserializeI32(pos + 4),
3398
3411
  };
3399
3412
  node.id = deserializeBindingIdentifier(pos + 16);
3400
3413
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
@@ -3410,8 +3423,8 @@ function deserializeTSInterfaceDeclaration(pos) {
3410
3423
  extends: null,
3411
3424
  body: null,
3412
3425
  declare: deserializeBool(pos + 88),
3413
- start: deserializeU32(pos),
3414
- end: deserializeU32(pos + 4),
3426
+ start: deserializeI32(pos),
3427
+ end: deserializeI32(pos + 4),
3415
3428
  };
3416
3429
  node.id = deserializeBindingIdentifier(pos + 16);
3417
3430
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 48);
@@ -3424,8 +3437,8 @@ function deserializeTSInterfaceBody(pos) {
3424
3437
  let node = {
3425
3438
  type: "TSInterfaceBody",
3426
3439
  body: null,
3427
- start: deserializeU32(pos),
3428
- end: deserializeU32(pos + 4),
3440
+ start: deserializeI32(pos),
3441
+ end: deserializeI32(pos + 4),
3429
3442
  };
3430
3443
  node.body = deserializeVecTSSignature(pos + 16);
3431
3444
  return node;
@@ -3440,13 +3453,12 @@ function deserializeTSPropertySignature(pos) {
3440
3453
  key: null,
3441
3454
  typeAnnotation: null,
3442
3455
  accessibility: null,
3443
- static: null,
3444
- start: deserializeU32(pos),
3445
- end: deserializeU32(pos + 4),
3456
+ static: false,
3457
+ start: deserializeI32(pos),
3458
+ end: deserializeI32(pos + 4),
3446
3459
  };
3447
3460
  node.key = deserializePropertyKey(pos + 16);
3448
3461
  node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 32);
3449
- node.static = false;
3450
3462
  return node;
3451
3463
  }
3452
3464
 
@@ -3475,8 +3487,8 @@ function deserializeTSIndexSignature(pos) {
3475
3487
  readonly: deserializeBool(pos + 12),
3476
3488
  static: deserializeBool(pos + 13),
3477
3489
  accessibility: null,
3478
- start: deserializeU32(pos),
3479
- end: deserializeU32(pos + 4),
3490
+ start: deserializeI32(pos),
3491
+ end: deserializeI32(pos + 4),
3480
3492
  };
3481
3493
  node.parameters = deserializeVecTSIndexSignatureName(pos + 16);
3482
3494
  node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 40);
@@ -3489,8 +3501,8 @@ function deserializeTSCallSignatureDeclaration(pos) {
3489
3501
  typeParameters: null,
3490
3502
  params: null,
3491
3503
  returnType: null,
3492
- start: deserializeU32(pos),
3493
- end: deserializeU32(pos + 4),
3504
+ start: deserializeI32(pos),
3505
+ end: deserializeI32(pos + 4),
3494
3506
  },
3495
3507
  params = deserializeBoxFormalParameters(pos + 32),
3496
3508
  thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
@@ -3525,10 +3537,10 @@ function deserializeTSMethodSignature(pos) {
3525
3537
  params: null,
3526
3538
  returnType: null,
3527
3539
  accessibility: null,
3528
- readonly: null,
3529
- static: null,
3530
- start: deserializeU32(pos),
3531
- end: deserializeU32(pos + 4),
3540
+ readonly: false,
3541
+ static: false,
3542
+ start: deserializeI32(pos),
3543
+ end: deserializeI32(pos + 4),
3532
3544
  },
3533
3545
  params = deserializeBoxFormalParameters(pos + 48),
3534
3546
  thisParam = deserializeOptionBoxTSThisParameter(pos + 40);
@@ -3537,8 +3549,6 @@ function deserializeTSMethodSignature(pos) {
3537
3549
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 32);
3538
3550
  node.params = params;
3539
3551
  node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 56);
3540
- node.readonly = false;
3541
- node.static = false;
3542
3552
  return node;
3543
3553
  }
3544
3554
 
@@ -3548,8 +3558,8 @@ function deserializeTSConstructSignatureDeclaration(pos) {
3548
3558
  typeParameters: null,
3549
3559
  params: null,
3550
3560
  returnType: null,
3551
- start: deserializeU32(pos),
3552
- end: deserializeU32(pos + 4),
3561
+ start: deserializeI32(pos),
3562
+ end: deserializeI32(pos + 4),
3553
3563
  };
3554
3564
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3555
3565
  node.params = deserializeBoxFormalParameters(pos + 24);
@@ -3560,15 +3570,13 @@ function deserializeTSConstructSignatureDeclaration(pos) {
3560
3570
  function deserializeTSIndexSignatureName(pos) {
3561
3571
  let node = {
3562
3572
  type: "Identifier",
3563
- decorators: null,
3573
+ decorators: [],
3564
3574
  name: deserializeStr(pos + 16),
3565
- optional: null,
3575
+ optional: false,
3566
3576
  typeAnnotation: null,
3567
- start: deserializeU32(pos),
3568
- end: deserializeU32(pos + 4),
3577
+ start: deserializeI32(pos),
3578
+ end: deserializeI32(pos + 4),
3569
3579
  };
3570
- node.decorators = [];
3571
- node.optional = false;
3572
3580
  node.typeAnnotation = deserializeBoxTSTypeAnnotation(pos + 32);
3573
3581
  return node;
3574
3582
  }
@@ -3578,8 +3586,8 @@ function deserializeTSInterfaceHeritage(pos) {
3578
3586
  type: "TSInterfaceHeritage",
3579
3587
  expression: null,
3580
3588
  typeArguments: null,
3581
- start: deserializeU32(pos),
3582
- end: deserializeU32(pos + 4),
3589
+ start: deserializeI32(pos),
3590
+ end: deserializeI32(pos + 4),
3583
3591
  };
3584
3592
  node.expression = deserializeExpression(pos + 16);
3585
3593
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
@@ -3592,8 +3600,8 @@ function deserializeTSTypePredicate(pos) {
3592
3600
  parameterName: null,
3593
3601
  asserts: deserializeBool(pos + 12),
3594
3602
  typeAnnotation: null,
3595
- start: deserializeU32(pos),
3596
- end: deserializeU32(pos + 4),
3603
+ start: deserializeI32(pos),
3604
+ end: deserializeI32(pos + 4),
3597
3605
  };
3598
3606
  node.parameterName = deserializeTSTypePredicateName(pos + 16);
3599
3607
  node.typeAnnotation = deserializeOptionBoxTSTypeAnnotation(pos + 40);
@@ -3613,8 +3621,8 @@ function deserializeTSTypePredicateName(pos) {
3613
3621
 
3614
3622
  function deserializeTSModuleDeclaration(pos) {
3615
3623
  let kind = deserializeTSModuleDeclarationKind(pos + 88),
3616
- start = deserializeU32(pos),
3617
- end = deserializeU32(pos + 4),
3624
+ start = deserializeI32(pos),
3625
+ end = deserializeI32(pos + 4),
3618
3626
  declare = deserializeBool(pos + 89),
3619
3627
  node,
3620
3628
  body = deserializeOptionTSModuleDeclarationBody(pos + 72);
@@ -3718,21 +3726,19 @@ function deserializeTSGlobalDeclaration(pos) {
3718
3726
  type: "TSModuleDeclaration",
3719
3727
  id: null,
3720
3728
  body: null,
3721
- kind: null,
3729
+ kind: "global",
3722
3730
  declare: deserializeBool(pos + 88),
3723
- global: null,
3724
- start: deserializeU32(pos),
3725
- end: deserializeU32(pos + 4),
3731
+ global: true,
3732
+ start: deserializeI32(pos),
3733
+ end: deserializeI32(pos + 4),
3726
3734
  };
3727
3735
  node.id = {
3728
3736
  type: "Identifier",
3729
3737
  name: "global",
3730
- start: deserializeU32(pos + 16),
3731
- end: deserializeU32(pos + 20),
3738
+ start: deserializeI32(pos + 16),
3739
+ end: deserializeI32(pos + 20),
3732
3740
  };
3733
3741
  node.body = deserializeTSModuleBlock(pos + 24);
3734
- node.kind = "global";
3735
- node.global = true;
3736
3742
  return node;
3737
3743
  }
3738
3744
 
@@ -3740,8 +3746,8 @@ function deserializeTSModuleBlock(pos) {
3740
3746
  let node = {
3741
3747
  type: "TSModuleBlock",
3742
3748
  body: null,
3743
- start: deserializeU32(pos),
3744
- end: deserializeU32(pos + 4),
3749
+ start: deserializeI32(pos),
3750
+ end: deserializeI32(pos + 4),
3745
3751
  },
3746
3752
  body = deserializeVecDirective(pos + 16);
3747
3753
  body.push(...deserializeVecStatement(pos + 40));
@@ -3753,8 +3759,8 @@ function deserializeTSTypeLiteral(pos) {
3753
3759
  let node = {
3754
3760
  type: "TSTypeLiteral",
3755
3761
  members: null,
3756
- start: deserializeU32(pos),
3757
- end: deserializeU32(pos + 4),
3762
+ start: deserializeI32(pos),
3763
+ end: deserializeI32(pos + 4),
3758
3764
  };
3759
3765
  node.members = deserializeVecTSSignature(pos + 16);
3760
3766
  return node;
@@ -3764,8 +3770,8 @@ function deserializeTSInferType(pos) {
3764
3770
  let node = {
3765
3771
  type: "TSInferType",
3766
3772
  typeParameter: null,
3767
- start: deserializeU32(pos),
3768
- end: deserializeU32(pos + 4),
3773
+ start: deserializeI32(pos),
3774
+ end: deserializeI32(pos + 4),
3769
3775
  };
3770
3776
  node.typeParameter = deserializeBoxTSTypeParameter(pos + 16);
3771
3777
  return node;
@@ -3776,8 +3782,8 @@ function deserializeTSTypeQuery(pos) {
3776
3782
  type: "TSTypeQuery",
3777
3783
  exprName: null,
3778
3784
  typeArguments: null,
3779
- start: deserializeU32(pos),
3780
- end: deserializeU32(pos + 4),
3785
+ start: deserializeI32(pos),
3786
+ end: deserializeI32(pos + 4),
3781
3787
  };
3782
3788
  node.exprName = deserializeTSTypeQueryExprName(pos + 16);
3783
3789
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 32);
@@ -3806,8 +3812,8 @@ function deserializeTSImportType(pos) {
3806
3812
  options: null,
3807
3813
  qualifier: null,
3808
3814
  typeArguments: null,
3809
- start: deserializeU32(pos),
3810
- end: deserializeU32(pos + 4),
3815
+ start: deserializeI32(pos),
3816
+ end: deserializeI32(pos + 4),
3811
3817
  };
3812
3818
  node.source = deserializeStringLiteral(pos + 16);
3813
3819
  node.options = deserializeOptionBoxObjectExpression(pos + 64);
@@ -3832,8 +3838,8 @@ function deserializeTSImportTypeQualifiedName(pos) {
3832
3838
  type: "TSQualifiedName",
3833
3839
  left: null,
3834
3840
  right: null,
3835
- start: deserializeU32(pos),
3836
- end: deserializeU32(pos + 4),
3841
+ start: deserializeI32(pos),
3842
+ end: deserializeI32(pos + 4),
3837
3843
  };
3838
3844
  node.left = deserializeTSImportTypeQualifier(pos + 16);
3839
3845
  node.right = deserializeIdentifierName(pos + 32);
@@ -3846,8 +3852,8 @@ function deserializeTSFunctionType(pos) {
3846
3852
  typeParameters: null,
3847
3853
  params: null,
3848
3854
  returnType: null,
3849
- start: deserializeU32(pos),
3850
- end: deserializeU32(pos + 4),
3855
+ start: deserializeI32(pos),
3856
+ end: deserializeI32(pos + 4),
3851
3857
  },
3852
3858
  params = deserializeBoxFormalParameters(pos + 32),
3853
3859
  thisParam = deserializeOptionBoxTSThisParameter(pos + 24);
@@ -3865,8 +3871,8 @@ function deserializeTSConstructorType(pos) {
3865
3871
  typeParameters: null,
3866
3872
  params: null,
3867
3873
  returnType: null,
3868
- start: deserializeU32(pos),
3869
- end: deserializeU32(pos + 4),
3874
+ start: deserializeI32(pos),
3875
+ end: deserializeI32(pos + 4),
3870
3876
  };
3871
3877
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 16);
3872
3878
  node.params = deserializeBoxFormalParameters(pos + 24);
@@ -3883,8 +3889,8 @@ function deserializeTSMappedType(pos) {
3883
3889
  typeAnnotation: null,
3884
3890
  optional: null,
3885
3891
  readonly: deserializeOptionTSMappedTypeModifierOperator(pos + 97),
3886
- start: deserializeU32(pos),
3887
- end: deserializeU32(pos + 4),
3892
+ start: deserializeI32(pos),
3893
+ end: deserializeI32(pos + 4),
3888
3894
  },
3889
3895
  optional = deserializeOptionTSMappedTypeModifierOperator(pos + 96);
3890
3896
  optional === null && (optional = false);
@@ -3914,8 +3920,8 @@ function deserializeTSTemplateLiteralType(pos) {
3914
3920
  type: "TSTemplateLiteralType",
3915
3921
  quasis: null,
3916
3922
  types: null,
3917
- start: deserializeU32(pos),
3918
- end: deserializeU32(pos + 4),
3923
+ start: deserializeI32(pos),
3924
+ end: deserializeI32(pos + 4),
3919
3925
  };
3920
3926
  node.quasis = deserializeVecTemplateElement(pos + 16);
3921
3927
  node.types = deserializeVecTSType(pos + 40);
@@ -3927,8 +3933,8 @@ function deserializeTSAsExpression(pos) {
3927
3933
  type: "TSAsExpression",
3928
3934
  expression: null,
3929
3935
  typeAnnotation: null,
3930
- start: deserializeU32(pos),
3931
- end: deserializeU32(pos + 4),
3936
+ start: deserializeI32(pos),
3937
+ end: deserializeI32(pos + 4),
3932
3938
  };
3933
3939
  node.expression = deserializeExpression(pos + 16);
3934
3940
  node.typeAnnotation = deserializeTSType(pos + 32);
@@ -3940,8 +3946,8 @@ function deserializeTSSatisfiesExpression(pos) {
3940
3946
  type: "TSSatisfiesExpression",
3941
3947
  expression: null,
3942
3948
  typeAnnotation: null,
3943
- start: deserializeU32(pos),
3944
- end: deserializeU32(pos + 4),
3949
+ start: deserializeI32(pos),
3950
+ end: deserializeI32(pos + 4),
3945
3951
  };
3946
3952
  node.expression = deserializeExpression(pos + 16);
3947
3953
  node.typeAnnotation = deserializeTSType(pos + 32);
@@ -3953,8 +3959,8 @@ function deserializeTSTypeAssertion(pos) {
3953
3959
  type: "TSTypeAssertion",
3954
3960
  typeAnnotation: null,
3955
3961
  expression: null,
3956
- start: deserializeU32(pos),
3957
- end: deserializeU32(pos + 4),
3962
+ start: deserializeI32(pos),
3963
+ end: deserializeI32(pos + 4),
3958
3964
  };
3959
3965
  node.typeAnnotation = deserializeTSType(pos + 16);
3960
3966
  node.expression = deserializeExpression(pos + 32);
@@ -3967,8 +3973,8 @@ function deserializeTSImportEqualsDeclaration(pos) {
3967
3973
  id: null,
3968
3974
  moduleReference: null,
3969
3975
  importKind: deserializeImportOrExportKind(pos + 12),
3970
- start: deserializeU32(pos),
3971
- end: deserializeU32(pos + 4),
3976
+ start: deserializeI32(pos),
3977
+ end: deserializeI32(pos + 4),
3972
3978
  };
3973
3979
  node.id = deserializeBindingIdentifier(pos + 16);
3974
3980
  node.moduleReference = deserializeTSModuleReference(pos + 48);
@@ -3992,8 +3998,8 @@ function deserializeTSExternalModuleReference(pos) {
3992
3998
  let node = {
3993
3999
  type: "TSExternalModuleReference",
3994
4000
  expression: null,
3995
- start: deserializeU32(pos),
3996
- end: deserializeU32(pos + 4),
4001
+ start: deserializeI32(pos),
4002
+ end: deserializeI32(pos + 4),
3997
4003
  };
3998
4004
  node.expression = deserializeStringLiteral(pos + 16);
3999
4005
  return node;
@@ -4003,8 +4009,8 @@ function deserializeTSNonNullExpression(pos) {
4003
4009
  let node = {
4004
4010
  type: "TSNonNullExpression",
4005
4011
  expression: null,
4006
- start: deserializeU32(pos),
4007
- end: deserializeU32(pos + 4),
4012
+ start: deserializeI32(pos),
4013
+ end: deserializeI32(pos + 4),
4008
4014
  };
4009
4015
  node.expression = deserializeExpression(pos + 16);
4010
4016
  return node;
@@ -4014,8 +4020,8 @@ function deserializeDecorator(pos) {
4014
4020
  let node = {
4015
4021
  type: "Decorator",
4016
4022
  expression: null,
4017
- start: deserializeU32(pos),
4018
- end: deserializeU32(pos + 4),
4023
+ start: deserializeI32(pos),
4024
+ end: deserializeI32(pos + 4),
4019
4025
  };
4020
4026
  node.expression = deserializeExpression(pos + 16);
4021
4027
  return node;
@@ -4025,8 +4031,8 @@ function deserializeTSExportAssignment(pos) {
4025
4031
  let node = {
4026
4032
  type: "TSExportAssignment",
4027
4033
  expression: null,
4028
- start: deserializeU32(pos),
4029
- end: deserializeU32(pos + 4),
4034
+ start: deserializeI32(pos),
4035
+ end: deserializeI32(pos + 4),
4030
4036
  };
4031
4037
  node.expression = deserializeExpression(pos + 16);
4032
4038
  return node;
@@ -4036,8 +4042,8 @@ function deserializeTSNamespaceExportDeclaration(pos) {
4036
4042
  let node = {
4037
4043
  type: "TSNamespaceExportDeclaration",
4038
4044
  id: null,
4039
- start: deserializeU32(pos),
4040
- end: deserializeU32(pos + 4),
4045
+ start: deserializeI32(pos),
4046
+ end: deserializeI32(pos + 4),
4041
4047
  };
4042
4048
  node.id = deserializeIdentifierName(pos + 16);
4043
4049
  return node;
@@ -4048,8 +4054,8 @@ function deserializeTSInstantiationExpression(pos) {
4048
4054
  type: "TSInstantiationExpression",
4049
4055
  expression: null,
4050
4056
  typeArguments: null,
4051
- start: deserializeU32(pos),
4052
- end: deserializeU32(pos + 4),
4057
+ start: deserializeI32(pos),
4058
+ end: deserializeI32(pos + 4),
4053
4059
  };
4054
4060
  node.expression = deserializeExpression(pos + 16);
4055
4061
  node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 32);
@@ -4072,8 +4078,8 @@ function deserializeJSDocNullableType(pos) {
4072
4078
  type: "TSJSDocNullableType",
4073
4079
  typeAnnotation: null,
4074
4080
  postfix: deserializeBool(pos + 12),
4075
- start: deserializeU32(pos),
4076
- end: deserializeU32(pos + 4),
4081
+ start: deserializeI32(pos),
4082
+ end: deserializeI32(pos + 4),
4077
4083
  };
4078
4084
  node.typeAnnotation = deserializeTSType(pos + 16);
4079
4085
  return node;
@@ -4084,8 +4090,8 @@ function deserializeJSDocNonNullableType(pos) {
4084
4090
  type: "TSJSDocNonNullableType",
4085
4091
  typeAnnotation: null,
4086
4092
  postfix: deserializeBool(pos + 12),
4087
- start: deserializeU32(pos),
4088
- end: deserializeU32(pos + 4),
4093
+ start: deserializeI32(pos),
4094
+ end: deserializeI32(pos + 4),
4089
4095
  };
4090
4096
  node.typeAnnotation = deserializeTSType(pos + 16);
4091
4097
  return node;
@@ -4094,8 +4100,8 @@ function deserializeJSDocNonNullableType(pos) {
4094
4100
  function deserializeJSDocUnknownType(pos) {
4095
4101
  return {
4096
4102
  type: "TSJSDocUnknownType",
4097
- start: deserializeU32(pos),
4098
- end: deserializeU32(pos + 4),
4103
+ start: deserializeI32(pos),
4104
+ end: deserializeI32(pos + 4),
4099
4105
  };
4100
4106
  }
4101
4107
 
@@ -4114,8 +4120,8 @@ function deserializeCommentKind(pos) {
4114
4120
 
4115
4121
  function deserializeComment(pos) {
4116
4122
  let type = deserializeCommentKind(pos + 12),
4117
- start = deserializeU32(pos),
4118
- end = deserializeU32(pos + 4);
4123
+ start = deserializeI32(pos),
4124
+ end = deserializeI32(pos + 4);
4119
4125
  return {
4120
4126
  type,
4121
4127
  value: sourceText.slice(start + 2, end - (type === "Line" ? 0 : 2)),
@@ -4139,16 +4145,16 @@ function deserializeModuleKind(pos) {
4139
4145
 
4140
4146
  function deserializeSpan(pos) {
4141
4147
  return {
4142
- start: deserializeU32(pos),
4143
- end: deserializeU32(pos + 4),
4148
+ start: deserializeI32(pos),
4149
+ end: deserializeI32(pos + 4),
4144
4150
  };
4145
4151
  }
4146
4152
 
4147
4153
  function deserializeNameSpan(pos) {
4148
4154
  return {
4149
4155
  value: deserializeStr(pos + 8),
4150
- start: deserializeU32(pos),
4151
- end: deserializeU32(pos + 4),
4156
+ start: deserializeI32(pos),
4157
+ end: deserializeI32(pos + 4),
4152
4158
  };
4153
4159
  }
4154
4160
 
@@ -4197,8 +4203,8 @@ function deserializeExportEntry(pos) {
4197
4203
  exportName: deserializeExportExportName(pos + 72),
4198
4204
  localName: deserializeExportLocalName(pos + 104),
4199
4205
  isType: deserializeBool(pos + 136),
4200
- start: deserializeU32(pos),
4201
- end: deserializeU32(pos + 4),
4206
+ start: deserializeI32(pos),
4207
+ end: deserializeI32(pos + 4),
4202
4208
  };
4203
4209
  }
4204
4210
 
@@ -4301,8 +4307,8 @@ function deserializeExportLocalName(pos) {
4301
4307
  function deserializeDynamicImport(pos) {
4302
4308
  return {
4303
4309
  moduleRequest: deserializeSpan(pos + 8),
4304
- start: deserializeU32(pos),
4305
- end: deserializeU32(pos + 4),
4310
+ start: deserializeI32(pos),
4311
+ end: deserializeI32(pos + 4),
4306
4312
  };
4307
4313
  }
4308
4314
 
@@ -4476,8 +4482,8 @@ function deserializeErrorSeverity(pos) {
4476
4482
  function deserializeErrorLabel(pos) {
4477
4483
  return {
4478
4484
  message: deserializeOptionStr(pos + 8),
4479
- start: deserializeU32(pos),
4480
- end: deserializeU32(pos + 4),
4485
+ start: deserializeI32(pos),
4486
+ end: deserializeI32(pos + 4),
4481
4487
  };
4482
4488
  }
4483
4489
 
@@ -4495,48 +4501,52 @@ function deserializeStaticImport(pos) {
4495
4501
  return {
4496
4502
  moduleRequest: deserializeNameSpan(pos + 8),
4497
4503
  entries: deserializeVecImportEntry(pos + 32),
4498
- start: deserializeU32(pos),
4499
- end: deserializeU32(pos + 4),
4504
+ start: deserializeI32(pos),
4505
+ end: deserializeI32(pos + 4),
4500
4506
  };
4501
4507
  }
4502
4508
 
4503
4509
  function deserializeStaticExport(pos) {
4504
4510
  return {
4505
4511
  entries: deserializeVecExportEntry(pos + 8),
4506
- start: deserializeU32(pos),
4507
- end: deserializeU32(pos + 4),
4512
+ start: deserializeI32(pos),
4513
+ end: deserializeI32(pos + 4),
4508
4514
  };
4509
4515
  }
4510
4516
 
4511
4517
  function deserializeStr(pos) {
4512
4518
  let pos32 = pos >> 2,
4513
- len = uint32[pos32 + 2];
4519
+ len = int32[pos32 + 2];
4514
4520
  if (len === 0) return "";
4515
- pos = uint32[pos32];
4516
- if (sourceIsAscii && pos < sourceEndPos) return sourceText.substr(pos, len);
4517
- // Longer strings use `TextDecoder`
4518
- // TODO: Find best switch-over point
4521
+ pos = int32[pos32];
4519
4522
  let end = pos + len;
4520
- if (len > 50) return decodeStr(uint8.subarray(pos, end));
4521
- // Shorter strings decode by hand to avoid native call
4522
- let out = "",
4523
- c;
4524
- do {
4525
- c = uint8[pos++];
4526
- if (c < 128) out += fromCodePoint(c);
4527
- else {
4528
- out += decodeStr(uint8.subarray(pos - 1, end));
4529
- break;
4530
- }
4531
- } while (pos < end);
4532
- return out;
4523
+ if (end <= firstNonAsciiPos) return sourceTextLatin.substr(pos, len);
4524
+ // Use `utf8Slice` for strings longer than 64 bytes
4525
+ if (len > 64) return utf8Slice.call(uint8, pos, end);
4526
+ if (pos < sourceEndPos) {
4527
+ // Check if all bytes are ASCII, use `utf8Slice` if not
4528
+ for (let i = pos; i < end; i++) if (uint8[i] >= 128) return utf8Slice.call(uint8, pos, end);
4529
+ // String is all ASCII, so slice from `sourceTextLatin`
4530
+ return sourceTextLatin.substr(pos, len);
4531
+ }
4532
+ // String is not in source region - use `fromCharCode.apply` with a temp array of correct length.
4533
+ // Copy bytes into temp array.
4534
+ // If any byte is non-ASCII, use `utf8Slice`.
4535
+ let arr = stringDecodeArrays[len];
4536
+ for (let i = 0; i < len; i++) {
4537
+ let b = uint8[pos + i];
4538
+ if (b >= 128) return utf8Slice.call(uint8, pos, end);
4539
+ arr[i] = b;
4540
+ }
4541
+ // Call `fromCharCode` with temp array
4542
+ return fromCharCode.apply(null, arr);
4533
4543
  }
4534
4544
 
4535
4545
  function deserializeVecComment(pos) {
4536
4546
  let arr = [],
4537
4547
  pos32 = pos >> 2;
4538
- pos = uint32[pos32];
4539
- let endPos = pos + uint32[pos32 + 2] * 16;
4548
+ pos = int32[pos32];
4549
+ let endPos = pos + (int32[pos32 + 2] << 4);
4540
4550
  for (; pos !== endPos; ) {
4541
4551
  arr.push(deserializeComment(pos));
4542
4552
  pos += 16;
@@ -4545,15 +4555,16 @@ function deserializeVecComment(pos) {
4545
4555
  }
4546
4556
 
4547
4557
  function deserializeOptionHashbang(pos) {
4548
- if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
4549
- return deserializeHashbang(pos);
4558
+ return int32[(pos >> 2) + 4] === 0 && int32[(pos >> 2) + 5] === 0
4559
+ ? null
4560
+ : deserializeHashbang(pos);
4550
4561
  }
4551
4562
 
4552
4563
  function deserializeVecDirective(pos) {
4553
4564
  let arr = [],
4554
4565
  pos32 = pos >> 2;
4555
- pos = uint32[pos32];
4556
- let endPos = pos + uint32[pos32 + 2] * 80;
4566
+ pos = int32[pos32];
4567
+ let endPos = pos + int32[pos32 + 2] * 80;
4557
4568
  for (; pos !== endPos; ) {
4558
4569
  arr.push(deserializeDirective(pos));
4559
4570
  pos += 80;
@@ -4564,8 +4575,8 @@ function deserializeVecDirective(pos) {
4564
4575
  function deserializeVecStatement(pos) {
4565
4576
  let arr = [],
4566
4577
  pos32 = pos >> 2;
4567
- pos = uint32[pos32];
4568
- let endPos = pos + uint32[pos32 + 2] * 16;
4578
+ pos = int32[pos32];
4579
+ let endPos = pos + (int32[pos32 + 2] << 4);
4569
4580
  for (; pos !== endPos; ) {
4570
4581
  arr.push(deserializeStatement(pos));
4571
4582
  pos += 16;
@@ -4574,170 +4585,170 @@ function deserializeVecStatement(pos) {
4574
4585
  }
4575
4586
 
4576
4587
  function deserializeBoxBooleanLiteral(pos) {
4577
- return deserializeBooleanLiteral(uint32[pos >> 2]);
4588
+ return deserializeBooleanLiteral(int32[pos >> 2]);
4578
4589
  }
4579
4590
 
4580
4591
  function deserializeBoxNullLiteral(pos) {
4581
- return deserializeNullLiteral(uint32[pos >> 2]);
4592
+ return deserializeNullLiteral(int32[pos >> 2]);
4582
4593
  }
4583
4594
 
4584
4595
  function deserializeBoxNumericLiteral(pos) {
4585
- return deserializeNumericLiteral(uint32[pos >> 2]);
4596
+ return deserializeNumericLiteral(int32[pos >> 2]);
4586
4597
  }
4587
4598
 
4588
4599
  function deserializeBoxBigIntLiteral(pos) {
4589
- return deserializeBigIntLiteral(uint32[pos >> 2]);
4600
+ return deserializeBigIntLiteral(int32[pos >> 2]);
4590
4601
  }
4591
4602
 
4592
4603
  function deserializeBoxRegExpLiteral(pos) {
4593
- return deserializeRegExpLiteral(uint32[pos >> 2]);
4604
+ return deserializeRegExpLiteral(int32[pos >> 2]);
4594
4605
  }
4595
4606
 
4596
4607
  function deserializeBoxStringLiteral(pos) {
4597
- return deserializeStringLiteral(uint32[pos >> 2]);
4608
+ return deserializeStringLiteral(int32[pos >> 2]);
4598
4609
  }
4599
4610
 
4600
4611
  function deserializeBoxTemplateLiteral(pos) {
4601
- return deserializeTemplateLiteral(uint32[pos >> 2]);
4612
+ return deserializeTemplateLiteral(int32[pos >> 2]);
4602
4613
  }
4603
4614
 
4604
4615
  function deserializeBoxIdentifierReference(pos) {
4605
- return deserializeIdentifierReference(uint32[pos >> 2]);
4616
+ return deserializeIdentifierReference(int32[pos >> 2]);
4606
4617
  }
4607
4618
 
4608
4619
  function deserializeBoxMetaProperty(pos) {
4609
- return deserializeMetaProperty(uint32[pos >> 2]);
4620
+ return deserializeMetaProperty(int32[pos >> 2]);
4610
4621
  }
4611
4622
 
4612
4623
  function deserializeBoxSuper(pos) {
4613
- return deserializeSuper(uint32[pos >> 2]);
4624
+ return deserializeSuper(int32[pos >> 2]);
4614
4625
  }
4615
4626
 
4616
4627
  function deserializeBoxArrayExpression(pos) {
4617
- return deserializeArrayExpression(uint32[pos >> 2]);
4628
+ return deserializeArrayExpression(int32[pos >> 2]);
4618
4629
  }
4619
4630
 
4620
4631
  function deserializeBoxArrowFunctionExpression(pos) {
4621
- return deserializeArrowFunctionExpression(uint32[pos >> 2]);
4632
+ return deserializeArrowFunctionExpression(int32[pos >> 2]);
4622
4633
  }
4623
4634
 
4624
4635
  function deserializeBoxAssignmentExpression(pos) {
4625
- return deserializeAssignmentExpression(uint32[pos >> 2]);
4636
+ return deserializeAssignmentExpression(int32[pos >> 2]);
4626
4637
  }
4627
4638
 
4628
4639
  function deserializeBoxAwaitExpression(pos) {
4629
- return deserializeAwaitExpression(uint32[pos >> 2]);
4640
+ return deserializeAwaitExpression(int32[pos >> 2]);
4630
4641
  }
4631
4642
 
4632
4643
  function deserializeBoxBinaryExpression(pos) {
4633
- return deserializeBinaryExpression(uint32[pos >> 2]);
4644
+ return deserializeBinaryExpression(int32[pos >> 2]);
4634
4645
  }
4635
4646
 
4636
4647
  function deserializeBoxCallExpression(pos) {
4637
- return deserializeCallExpression(uint32[pos >> 2]);
4648
+ return deserializeCallExpression(int32[pos >> 2]);
4638
4649
  }
4639
4650
 
4640
4651
  function deserializeBoxChainExpression(pos) {
4641
- return deserializeChainExpression(uint32[pos >> 2]);
4652
+ return deserializeChainExpression(int32[pos >> 2]);
4642
4653
  }
4643
4654
 
4644
4655
  function deserializeBoxClass(pos) {
4645
- return deserializeClass(uint32[pos >> 2]);
4656
+ return deserializeClass(int32[pos >> 2]);
4646
4657
  }
4647
4658
 
4648
4659
  function deserializeBoxConditionalExpression(pos) {
4649
- return deserializeConditionalExpression(uint32[pos >> 2]);
4660
+ return deserializeConditionalExpression(int32[pos >> 2]);
4650
4661
  }
4651
4662
 
4652
4663
  function deserializeBoxFunction(pos) {
4653
- return deserializeFunction(uint32[pos >> 2]);
4664
+ return deserializeFunction(int32[pos >> 2]);
4654
4665
  }
4655
4666
 
4656
4667
  function deserializeBoxImportExpression(pos) {
4657
- return deserializeImportExpression(uint32[pos >> 2]);
4668
+ return deserializeImportExpression(int32[pos >> 2]);
4658
4669
  }
4659
4670
 
4660
4671
  function deserializeBoxLogicalExpression(pos) {
4661
- return deserializeLogicalExpression(uint32[pos >> 2]);
4672
+ return deserializeLogicalExpression(int32[pos >> 2]);
4662
4673
  }
4663
4674
 
4664
4675
  function deserializeBoxNewExpression(pos) {
4665
- return deserializeNewExpression(uint32[pos >> 2]);
4676
+ return deserializeNewExpression(int32[pos >> 2]);
4666
4677
  }
4667
4678
 
4668
4679
  function deserializeBoxObjectExpression(pos) {
4669
- return deserializeObjectExpression(uint32[pos >> 2]);
4680
+ return deserializeObjectExpression(int32[pos >> 2]);
4670
4681
  }
4671
4682
 
4672
4683
  function deserializeBoxParenthesizedExpression(pos) {
4673
- return deserializeParenthesizedExpression(uint32[pos >> 2]);
4684
+ return deserializeParenthesizedExpression(int32[pos >> 2]);
4674
4685
  }
4675
4686
 
4676
4687
  function deserializeBoxSequenceExpression(pos) {
4677
- return deserializeSequenceExpression(uint32[pos >> 2]);
4688
+ return deserializeSequenceExpression(int32[pos >> 2]);
4678
4689
  }
4679
4690
 
4680
4691
  function deserializeBoxTaggedTemplateExpression(pos) {
4681
- return deserializeTaggedTemplateExpression(uint32[pos >> 2]);
4692
+ return deserializeTaggedTemplateExpression(int32[pos >> 2]);
4682
4693
  }
4683
4694
 
4684
4695
  function deserializeBoxThisExpression(pos) {
4685
- return deserializeThisExpression(uint32[pos >> 2]);
4696
+ return deserializeThisExpression(int32[pos >> 2]);
4686
4697
  }
4687
4698
 
4688
4699
  function deserializeBoxUnaryExpression(pos) {
4689
- return deserializeUnaryExpression(uint32[pos >> 2]);
4700
+ return deserializeUnaryExpression(int32[pos >> 2]);
4690
4701
  }
4691
4702
 
4692
4703
  function deserializeBoxUpdateExpression(pos) {
4693
- return deserializeUpdateExpression(uint32[pos >> 2]);
4704
+ return deserializeUpdateExpression(int32[pos >> 2]);
4694
4705
  }
4695
4706
 
4696
4707
  function deserializeBoxYieldExpression(pos) {
4697
- return deserializeYieldExpression(uint32[pos >> 2]);
4708
+ return deserializeYieldExpression(int32[pos >> 2]);
4698
4709
  }
4699
4710
 
4700
4711
  function deserializeBoxPrivateInExpression(pos) {
4701
- return deserializePrivateInExpression(uint32[pos >> 2]);
4712
+ return deserializePrivateInExpression(int32[pos >> 2]);
4702
4713
  }
4703
4714
 
4704
4715
  function deserializeBoxJSXElement(pos) {
4705
- return deserializeJSXElement(uint32[pos >> 2]);
4716
+ return deserializeJSXElement(int32[pos >> 2]);
4706
4717
  }
4707
4718
 
4708
4719
  function deserializeBoxJSXFragment(pos) {
4709
- return deserializeJSXFragment(uint32[pos >> 2]);
4720
+ return deserializeJSXFragment(int32[pos >> 2]);
4710
4721
  }
4711
4722
 
4712
4723
  function deserializeBoxTSAsExpression(pos) {
4713
- return deserializeTSAsExpression(uint32[pos >> 2]);
4724
+ return deserializeTSAsExpression(int32[pos >> 2]);
4714
4725
  }
4715
4726
 
4716
4727
  function deserializeBoxTSSatisfiesExpression(pos) {
4717
- return deserializeTSSatisfiesExpression(uint32[pos >> 2]);
4728
+ return deserializeTSSatisfiesExpression(int32[pos >> 2]);
4718
4729
  }
4719
4730
 
4720
4731
  function deserializeBoxTSTypeAssertion(pos) {
4721
- return deserializeTSTypeAssertion(uint32[pos >> 2]);
4732
+ return deserializeTSTypeAssertion(int32[pos >> 2]);
4722
4733
  }
4723
4734
 
4724
4735
  function deserializeBoxTSNonNullExpression(pos) {
4725
- return deserializeTSNonNullExpression(uint32[pos >> 2]);
4736
+ return deserializeTSNonNullExpression(int32[pos >> 2]);
4726
4737
  }
4727
4738
 
4728
4739
  function deserializeBoxTSInstantiationExpression(pos) {
4729
- return deserializeTSInstantiationExpression(uint32[pos >> 2]);
4740
+ return deserializeTSInstantiationExpression(int32[pos >> 2]);
4730
4741
  }
4731
4742
 
4732
4743
  function deserializeBoxV8IntrinsicExpression(pos) {
4733
- return deserializeV8IntrinsicExpression(uint32[pos >> 2]);
4744
+ return deserializeV8IntrinsicExpression(int32[pos >> 2]);
4734
4745
  }
4735
4746
 
4736
4747
  function deserializeVecArrayExpressionElement(pos) {
4737
4748
  let arr = [],
4738
4749
  pos32 = pos >> 2;
4739
- pos = uint32[pos32];
4740
- let endPos = pos + uint32[pos32 + 2] * 24;
4750
+ pos = int32[pos32];
4751
+ let endPos = pos + int32[pos32 + 2] * 24;
4741
4752
  for (; pos !== endPos; ) {
4742
4753
  arr.push(deserializeArrayExpressionElement(pos));
4743
4754
  pos += 24;
@@ -4746,14 +4757,14 @@ function deserializeVecArrayExpressionElement(pos) {
4746
4757
  }
4747
4758
 
4748
4759
  function deserializeBoxSpreadElement(pos) {
4749
- return deserializeSpreadElement(uint32[pos >> 2]);
4760
+ return deserializeSpreadElement(int32[pos >> 2]);
4750
4761
  }
4751
4762
 
4752
4763
  function deserializeVecObjectPropertyKind(pos) {
4753
4764
  let arr = [],
4754
4765
  pos32 = pos >> 2;
4755
- pos = uint32[pos32];
4756
- let endPos = pos + uint32[pos32 + 2] * 16;
4766
+ pos = int32[pos32];
4767
+ let endPos = pos + (int32[pos32 + 2] << 4);
4757
4768
  for (; pos !== endPos; ) {
4758
4769
  arr.push(deserializeObjectPropertyKind(pos));
4759
4770
  pos += 16;
@@ -4762,7 +4773,7 @@ function deserializeVecObjectPropertyKind(pos) {
4762
4773
  }
4763
4774
 
4764
4775
  function deserializeBoxObjectProperty(pos) {
4765
- return deserializeObjectProperty(uint32[pos >> 2]);
4776
+ return deserializeObjectProperty(int32[pos >> 2]);
4766
4777
  }
4767
4778
 
4768
4779
  function deserializeBool(pos) {
@@ -4770,18 +4781,18 @@ function deserializeBool(pos) {
4770
4781
  }
4771
4782
 
4772
4783
  function deserializeBoxIdentifierName(pos) {
4773
- return deserializeIdentifierName(uint32[pos >> 2]);
4784
+ return deserializeIdentifierName(int32[pos >> 2]);
4774
4785
  }
4775
4786
 
4776
4787
  function deserializeBoxPrivateIdentifier(pos) {
4777
- return deserializePrivateIdentifier(uint32[pos >> 2]);
4788
+ return deserializePrivateIdentifier(int32[pos >> 2]);
4778
4789
  }
4779
4790
 
4780
4791
  function deserializeVecTemplateElement(pos) {
4781
4792
  let arr = [],
4782
4793
  pos32 = pos >> 2;
4783
- pos = uint32[pos32];
4784
- let endPos = pos + uint32[pos32 + 2] * 48;
4794
+ pos = int32[pos32];
4795
+ let endPos = pos + int32[pos32 + 2] * 48;
4785
4796
  for (; pos !== endPos; ) {
4786
4797
  arr.push(deserializeTemplateElement(pos));
4787
4798
  pos += 48;
@@ -4792,8 +4803,8 @@ function deserializeVecTemplateElement(pos) {
4792
4803
  function deserializeVecExpression(pos) {
4793
4804
  let arr = [],
4794
4805
  pos32 = pos >> 2;
4795
- pos = uint32[pos32];
4796
- let endPos = pos + uint32[pos32 + 2] * 16;
4806
+ pos = int32[pos32];
4807
+ let endPos = pos + (int32[pos32 + 2] << 4);
4797
4808
  for (; pos !== endPos; ) {
4798
4809
  arr.push(deserializeExpression(pos));
4799
4810
  pos += 16;
@@ -4802,36 +4813,36 @@ function deserializeVecExpression(pos) {
4802
4813
  }
4803
4814
 
4804
4815
  function deserializeBoxTSTypeParameterInstantiation(pos) {
4805
- return deserializeTSTypeParameterInstantiation(uint32[pos >> 2]);
4816
+ return deserializeTSTypeParameterInstantiation(int32[pos >> 2]);
4806
4817
  }
4807
4818
 
4808
4819
  function deserializeOptionBoxTSTypeParameterInstantiation(pos) {
4809
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4810
- return deserializeBoxTSTypeParameterInstantiation(pos);
4820
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
4821
+ ? null
4822
+ : deserializeBoxTSTypeParameterInstantiation(pos);
4811
4823
  }
4812
4824
 
4813
4825
  function deserializeOptionStr(pos) {
4814
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4815
- return deserializeStr(pos);
4826
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0 ? null : deserializeStr(pos);
4816
4827
  }
4817
4828
 
4818
4829
  function deserializeBoxComputedMemberExpression(pos) {
4819
- return deserializeComputedMemberExpression(uint32[pos >> 2]);
4830
+ return deserializeComputedMemberExpression(int32[pos >> 2]);
4820
4831
  }
4821
4832
 
4822
4833
  function deserializeBoxStaticMemberExpression(pos) {
4823
- return deserializeStaticMemberExpression(uint32[pos >> 2]);
4834
+ return deserializeStaticMemberExpression(int32[pos >> 2]);
4824
4835
  }
4825
4836
 
4826
4837
  function deserializeBoxPrivateFieldExpression(pos) {
4827
- return deserializePrivateFieldExpression(uint32[pos >> 2]);
4838
+ return deserializePrivateFieldExpression(int32[pos >> 2]);
4828
4839
  }
4829
4840
 
4830
4841
  function deserializeVecArgument(pos) {
4831
4842
  let arr = [],
4832
4843
  pos32 = pos >> 2;
4833
- pos = uint32[pos32];
4834
- let endPos = pos + uint32[pos32 + 2] * 16;
4844
+ pos = int32[pos32];
4845
+ let endPos = pos + (int32[pos32 + 2] << 4);
4835
4846
  for (; pos !== endPos; ) {
4836
4847
  arr.push(deserializeArgument(pos));
4837
4848
  pos += 16;
@@ -4840,23 +4851,22 @@ function deserializeVecArgument(pos) {
4840
4851
  }
4841
4852
 
4842
4853
  function deserializeBoxArrayAssignmentTarget(pos) {
4843
- return deserializeArrayAssignmentTarget(uint32[pos >> 2]);
4854
+ return deserializeArrayAssignmentTarget(int32[pos >> 2]);
4844
4855
  }
4845
4856
 
4846
4857
  function deserializeBoxObjectAssignmentTarget(pos) {
4847
- return deserializeObjectAssignmentTarget(uint32[pos >> 2]);
4858
+ return deserializeObjectAssignmentTarget(int32[pos >> 2]);
4848
4859
  }
4849
4860
 
4850
4861
  function deserializeOptionAssignmentTargetMaybeDefault(pos) {
4851
- if (uint8[pos] === 51) return null;
4852
- return deserializeAssignmentTargetMaybeDefault(pos);
4862
+ return uint8[pos] === 51 ? null : deserializeAssignmentTargetMaybeDefault(pos);
4853
4863
  }
4854
4864
 
4855
4865
  function deserializeVecOptionAssignmentTargetMaybeDefault(pos) {
4856
4866
  let arr = [],
4857
4867
  pos32 = pos >> 2;
4858
- pos = uint32[pos32];
4859
- let endPos = pos + uint32[pos32 + 2] * 16;
4868
+ pos = int32[pos32];
4869
+ let endPos = pos + (int32[pos32 + 2] << 4);
4860
4870
  for (; pos !== endPos; ) {
4861
4871
  arr.push(deserializeOptionAssignmentTargetMaybeDefault(pos));
4862
4872
  pos += 16;
@@ -4865,19 +4875,20 @@ function deserializeVecOptionAssignmentTargetMaybeDefault(pos) {
4865
4875
  }
4866
4876
 
4867
4877
  function deserializeBoxAssignmentTargetRest(pos) {
4868
- return deserializeAssignmentTargetRest(uint32[pos >> 2]);
4878
+ return deserializeAssignmentTargetRest(int32[pos >> 2]);
4869
4879
  }
4870
4880
 
4871
4881
  function deserializeOptionBoxAssignmentTargetRest(pos) {
4872
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
4873
- return deserializeBoxAssignmentTargetRest(pos);
4882
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
4883
+ ? null
4884
+ : deserializeBoxAssignmentTargetRest(pos);
4874
4885
  }
4875
4886
 
4876
4887
  function deserializeVecAssignmentTargetProperty(pos) {
4877
4888
  let arr = [],
4878
4889
  pos32 = pos >> 2;
4879
- pos = uint32[pos32];
4880
- let endPos = pos + uint32[pos32 + 2] * 16;
4890
+ pos = int32[pos32];
4891
+ let endPos = pos + (int32[pos32 + 2] << 4);
4881
4892
  for (; pos !== endPos; ) {
4882
4893
  arr.push(deserializeAssignmentTargetProperty(pos));
4883
4894
  pos += 16;
@@ -4886,127 +4897,126 @@ function deserializeVecAssignmentTargetProperty(pos) {
4886
4897
  }
4887
4898
 
4888
4899
  function deserializeBoxAssignmentTargetWithDefault(pos) {
4889
- return deserializeAssignmentTargetWithDefault(uint32[pos >> 2]);
4900
+ return deserializeAssignmentTargetWithDefault(int32[pos >> 2]);
4890
4901
  }
4891
4902
 
4892
4903
  function deserializeBoxAssignmentTargetPropertyIdentifier(pos) {
4893
- return deserializeAssignmentTargetPropertyIdentifier(uint32[pos >> 2]);
4904
+ return deserializeAssignmentTargetPropertyIdentifier(int32[pos >> 2]);
4894
4905
  }
4895
4906
 
4896
4907
  function deserializeBoxAssignmentTargetPropertyProperty(pos) {
4897
- return deserializeAssignmentTargetPropertyProperty(uint32[pos >> 2]);
4908
+ return deserializeAssignmentTargetPropertyProperty(int32[pos >> 2]);
4898
4909
  }
4899
4910
 
4900
4911
  function deserializeOptionExpression(pos) {
4901
- if (uint8[pos] === 51) return null;
4902
- return deserializeExpression(pos);
4912
+ return uint8[pos] === 51 ? null : deserializeExpression(pos);
4903
4913
  }
4904
4914
 
4905
4915
  function deserializeBoxBlockStatement(pos) {
4906
- return deserializeBlockStatement(uint32[pos >> 2]);
4916
+ return deserializeBlockStatement(int32[pos >> 2]);
4907
4917
  }
4908
4918
 
4909
4919
  function deserializeBoxBreakStatement(pos) {
4910
- return deserializeBreakStatement(uint32[pos >> 2]);
4920
+ return deserializeBreakStatement(int32[pos >> 2]);
4911
4921
  }
4912
4922
 
4913
4923
  function deserializeBoxContinueStatement(pos) {
4914
- return deserializeContinueStatement(uint32[pos >> 2]);
4924
+ return deserializeContinueStatement(int32[pos >> 2]);
4915
4925
  }
4916
4926
 
4917
4927
  function deserializeBoxDebuggerStatement(pos) {
4918
- return deserializeDebuggerStatement(uint32[pos >> 2]);
4928
+ return deserializeDebuggerStatement(int32[pos >> 2]);
4919
4929
  }
4920
4930
 
4921
4931
  function deserializeBoxDoWhileStatement(pos) {
4922
- return deserializeDoWhileStatement(uint32[pos >> 2]);
4932
+ return deserializeDoWhileStatement(int32[pos >> 2]);
4923
4933
  }
4924
4934
 
4925
4935
  function deserializeBoxEmptyStatement(pos) {
4926
- return deserializeEmptyStatement(uint32[pos >> 2]);
4936
+ return deserializeEmptyStatement(int32[pos >> 2]);
4927
4937
  }
4928
4938
 
4929
4939
  function deserializeBoxExpressionStatement(pos) {
4930
- return deserializeExpressionStatement(uint32[pos >> 2]);
4940
+ return deserializeExpressionStatement(int32[pos >> 2]);
4931
4941
  }
4932
4942
 
4933
4943
  function deserializeBoxForInStatement(pos) {
4934
- return deserializeForInStatement(uint32[pos >> 2]);
4944
+ return deserializeForInStatement(int32[pos >> 2]);
4935
4945
  }
4936
4946
 
4937
4947
  function deserializeBoxForOfStatement(pos) {
4938
- return deserializeForOfStatement(uint32[pos >> 2]);
4948
+ return deserializeForOfStatement(int32[pos >> 2]);
4939
4949
  }
4940
4950
 
4941
4951
  function deserializeBoxForStatement(pos) {
4942
- return deserializeForStatement(uint32[pos >> 2]);
4952
+ return deserializeForStatement(int32[pos >> 2]);
4943
4953
  }
4944
4954
 
4945
4955
  function deserializeBoxIfStatement(pos) {
4946
- return deserializeIfStatement(uint32[pos >> 2]);
4956
+ return deserializeIfStatement(int32[pos >> 2]);
4947
4957
  }
4948
4958
 
4949
4959
  function deserializeBoxLabeledStatement(pos) {
4950
- return deserializeLabeledStatement(uint32[pos >> 2]);
4960
+ return deserializeLabeledStatement(int32[pos >> 2]);
4951
4961
  }
4952
4962
 
4953
4963
  function deserializeBoxReturnStatement(pos) {
4954
- return deserializeReturnStatement(uint32[pos >> 2]);
4964
+ return deserializeReturnStatement(int32[pos >> 2]);
4955
4965
  }
4956
4966
 
4957
4967
  function deserializeBoxSwitchStatement(pos) {
4958
- return deserializeSwitchStatement(uint32[pos >> 2]);
4968
+ return deserializeSwitchStatement(int32[pos >> 2]);
4959
4969
  }
4960
4970
 
4961
4971
  function deserializeBoxThrowStatement(pos) {
4962
- return deserializeThrowStatement(uint32[pos >> 2]);
4972
+ return deserializeThrowStatement(int32[pos >> 2]);
4963
4973
  }
4964
4974
 
4965
4975
  function deserializeBoxTryStatement(pos) {
4966
- return deserializeTryStatement(uint32[pos >> 2]);
4976
+ return deserializeTryStatement(int32[pos >> 2]);
4967
4977
  }
4968
4978
 
4969
4979
  function deserializeBoxWhileStatement(pos) {
4970
- return deserializeWhileStatement(uint32[pos >> 2]);
4980
+ return deserializeWhileStatement(int32[pos >> 2]);
4971
4981
  }
4972
4982
 
4973
4983
  function deserializeBoxWithStatement(pos) {
4974
- return deserializeWithStatement(uint32[pos >> 2]);
4984
+ return deserializeWithStatement(int32[pos >> 2]);
4975
4985
  }
4976
4986
 
4977
4987
  function deserializeBoxVariableDeclaration(pos) {
4978
- return deserializeVariableDeclaration(uint32[pos >> 2]);
4988
+ return deserializeVariableDeclaration(int32[pos >> 2]);
4979
4989
  }
4980
4990
 
4981
4991
  function deserializeBoxTSTypeAliasDeclaration(pos) {
4982
- return deserializeTSTypeAliasDeclaration(uint32[pos >> 2]);
4992
+ return deserializeTSTypeAliasDeclaration(int32[pos >> 2]);
4983
4993
  }
4984
4994
 
4985
4995
  function deserializeBoxTSInterfaceDeclaration(pos) {
4986
- return deserializeTSInterfaceDeclaration(uint32[pos >> 2]);
4996
+ return deserializeTSInterfaceDeclaration(int32[pos >> 2]);
4987
4997
  }
4988
4998
 
4989
4999
  function deserializeBoxTSEnumDeclaration(pos) {
4990
- return deserializeTSEnumDeclaration(uint32[pos >> 2]);
5000
+ return deserializeTSEnumDeclaration(int32[pos >> 2]);
4991
5001
  }
4992
5002
 
4993
5003
  function deserializeBoxTSModuleDeclaration(pos) {
4994
- return deserializeTSModuleDeclaration(uint32[pos >> 2]);
5004
+ return deserializeTSModuleDeclaration(int32[pos >> 2]);
4995
5005
  }
4996
5006
 
4997
5007
  function deserializeBoxTSGlobalDeclaration(pos) {
4998
- return deserializeTSGlobalDeclaration(uint32[pos >> 2]);
5008
+ return deserializeTSGlobalDeclaration(int32[pos >> 2]);
4999
5009
  }
5000
5010
 
5001
5011
  function deserializeBoxTSImportEqualsDeclaration(pos) {
5002
- return deserializeTSImportEqualsDeclaration(uint32[pos >> 2]);
5012
+ return deserializeTSImportEqualsDeclaration(int32[pos >> 2]);
5003
5013
  }
5004
5014
 
5005
5015
  function deserializeVecVariableDeclarator(pos) {
5006
5016
  let arr = [],
5007
5017
  pos32 = pos >> 2;
5008
- pos = uint32[pos32];
5009
- let endPos = pos + uint32[pos32 + 2] * 56;
5018
+ pos = int32[pos32];
5019
+ let endPos = pos + int32[pos32 + 2] * 56;
5010
5020
  for (; pos !== endPos; ) {
5011
5021
  arr.push(deserializeVariableDeclarator(pos));
5012
5022
  pos += 56;
@@ -5015,34 +5025,34 @@ function deserializeVecVariableDeclarator(pos) {
5015
5025
  }
5016
5026
 
5017
5027
  function deserializeBoxTSTypeAnnotation(pos) {
5018
- return deserializeTSTypeAnnotation(uint32[pos >> 2]);
5028
+ return deserializeTSTypeAnnotation(int32[pos >> 2]);
5019
5029
  }
5020
5030
 
5021
5031
  function deserializeOptionBoxTSTypeAnnotation(pos) {
5022
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5023
- return deserializeBoxTSTypeAnnotation(pos);
5032
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5033
+ ? null
5034
+ : deserializeBoxTSTypeAnnotation(pos);
5024
5035
  }
5025
5036
 
5026
5037
  function deserializeOptionStatement(pos) {
5027
- if (uint8[pos] === 70) return null;
5028
- return deserializeStatement(pos);
5038
+ return uint8[pos] === 70 ? null : deserializeStatement(pos);
5029
5039
  }
5030
5040
 
5031
5041
  function deserializeOptionForStatementInit(pos) {
5032
- if (uint8[pos] === 65) return null;
5033
- return deserializeForStatementInit(pos);
5042
+ return uint8[pos] === 65 ? null : deserializeForStatementInit(pos);
5034
5043
  }
5035
5044
 
5036
5045
  function deserializeOptionLabelIdentifier(pos) {
5037
- if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5038
- return deserializeLabelIdentifier(pos);
5046
+ return int32[(pos >> 2) + 4] === 0 && int32[(pos >> 2) + 5] === 0
5047
+ ? null
5048
+ : deserializeLabelIdentifier(pos);
5039
5049
  }
5040
5050
 
5041
5051
  function deserializeVecSwitchCase(pos) {
5042
5052
  let arr = [],
5043
5053
  pos32 = pos >> 2;
5044
- pos = uint32[pos32];
5045
- let endPos = pos + uint32[pos32 + 2] * 56;
5054
+ pos = int32[pos32];
5055
+ let endPos = pos + int32[pos32 + 2] * 56;
5046
5056
  for (; pos !== endPos; ) {
5047
5057
  arr.push(deserializeSwitchCase(pos));
5048
5058
  pos += 56;
@@ -5051,45 +5061,46 @@ function deserializeVecSwitchCase(pos) {
5051
5061
  }
5052
5062
 
5053
5063
  function deserializeBoxCatchClause(pos) {
5054
- return deserializeCatchClause(uint32[pos >> 2]);
5064
+ return deserializeCatchClause(int32[pos >> 2]);
5055
5065
  }
5056
5066
 
5057
5067
  function deserializeOptionBoxCatchClause(pos) {
5058
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5059
- return deserializeBoxCatchClause(pos);
5068
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5069
+ ? null
5070
+ : deserializeBoxCatchClause(pos);
5060
5071
  }
5061
5072
 
5062
5073
  function deserializeOptionBoxBlockStatement(pos) {
5063
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5064
- return deserializeBoxBlockStatement(pos);
5074
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5075
+ ? null
5076
+ : deserializeBoxBlockStatement(pos);
5065
5077
  }
5066
5078
 
5067
5079
  function deserializeOptionCatchParameter(pos) {
5068
- if (uint8[pos + 16] === 4) return null;
5069
- return deserializeCatchParameter(pos);
5080
+ return uint8[pos + 16] === 4 ? null : deserializeCatchParameter(pos);
5070
5081
  }
5071
5082
 
5072
5083
  function deserializeBoxBindingIdentifier(pos) {
5073
- return deserializeBindingIdentifier(uint32[pos >> 2]);
5084
+ return deserializeBindingIdentifier(int32[pos >> 2]);
5074
5085
  }
5075
5086
 
5076
5087
  function deserializeBoxObjectPattern(pos) {
5077
- return deserializeObjectPattern(uint32[pos >> 2]);
5088
+ return deserializeObjectPattern(int32[pos >> 2]);
5078
5089
  }
5079
5090
 
5080
5091
  function deserializeBoxArrayPattern(pos) {
5081
- return deserializeArrayPattern(uint32[pos >> 2]);
5092
+ return deserializeArrayPattern(int32[pos >> 2]);
5082
5093
  }
5083
5094
 
5084
5095
  function deserializeBoxAssignmentPattern(pos) {
5085
- return deserializeAssignmentPattern(uint32[pos >> 2]);
5096
+ return deserializeAssignmentPattern(int32[pos >> 2]);
5086
5097
  }
5087
5098
 
5088
5099
  function deserializeVecBindingProperty(pos) {
5089
5100
  let arr = [],
5090
5101
  pos32 = pos >> 2;
5091
- pos = uint32[pos32];
5092
- let endPos = pos + uint32[pos32 + 2] * 48;
5102
+ pos = int32[pos32];
5103
+ let endPos = pos + int32[pos32 + 2] * 48;
5093
5104
  for (; pos !== endPos; ) {
5094
5105
  arr.push(deserializeBindingProperty(pos));
5095
5106
  pos += 48;
@@ -5098,24 +5109,24 @@ function deserializeVecBindingProperty(pos) {
5098
5109
  }
5099
5110
 
5100
5111
  function deserializeBoxBindingRestElement(pos) {
5101
- return deserializeBindingRestElement(uint32[pos >> 2]);
5112
+ return deserializeBindingRestElement(int32[pos >> 2]);
5102
5113
  }
5103
5114
 
5104
5115
  function deserializeOptionBoxBindingRestElement(pos) {
5105
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5106
- return deserializeBoxBindingRestElement(pos);
5116
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5117
+ ? null
5118
+ : deserializeBoxBindingRestElement(pos);
5107
5119
  }
5108
5120
 
5109
5121
  function deserializeOptionBindingPattern(pos) {
5110
- if (uint8[pos] === 4) return null;
5111
- return deserializeBindingPattern(pos);
5122
+ return uint8[pos] === 4 ? null : deserializeBindingPattern(pos);
5112
5123
  }
5113
5124
 
5114
5125
  function deserializeVecOptionBindingPattern(pos) {
5115
5126
  let arr = [],
5116
5127
  pos32 = pos >> 2;
5117
- pos = uint32[pos32];
5118
- let endPos = pos + uint32[pos32 + 2] * 16;
5128
+ pos = int32[pos32];
5129
+ let endPos = pos + (int32[pos32 + 2] << 4);
5119
5130
  for (; pos !== endPos; ) {
5120
5131
  arr.push(deserializeOptionBindingPattern(pos));
5121
5132
  pos += 16;
@@ -5124,46 +5135,50 @@ function deserializeVecOptionBindingPattern(pos) {
5124
5135
  }
5125
5136
 
5126
5137
  function deserializeOptionBindingIdentifier(pos) {
5127
- if (uint32[(pos + 16) >> 2] === 0 && uint32[(pos + 20) >> 2] === 0) return null;
5128
- return deserializeBindingIdentifier(pos);
5138
+ return int32[(pos >> 2) + 4] === 0 && int32[(pos >> 2) + 5] === 0
5139
+ ? null
5140
+ : deserializeBindingIdentifier(pos);
5129
5141
  }
5130
5142
 
5131
5143
  function deserializeBoxTSTypeParameterDeclaration(pos) {
5132
- return deserializeTSTypeParameterDeclaration(uint32[pos >> 2]);
5144
+ return deserializeTSTypeParameterDeclaration(int32[pos >> 2]);
5133
5145
  }
5134
5146
 
5135
5147
  function deserializeOptionBoxTSTypeParameterDeclaration(pos) {
5136
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5137
- return deserializeBoxTSTypeParameterDeclaration(pos);
5148
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5149
+ ? null
5150
+ : deserializeBoxTSTypeParameterDeclaration(pos);
5138
5151
  }
5139
5152
 
5140
5153
  function deserializeBoxTSThisParameter(pos) {
5141
- return deserializeTSThisParameter(uint32[pos >> 2]);
5154
+ return deserializeTSThisParameter(int32[pos >> 2]);
5142
5155
  }
5143
5156
 
5144
5157
  function deserializeOptionBoxTSThisParameter(pos) {
5145
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5146
- return deserializeBoxTSThisParameter(pos);
5158
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5159
+ ? null
5160
+ : deserializeBoxTSThisParameter(pos);
5147
5161
  }
5148
5162
 
5149
5163
  function deserializeBoxFormalParameters(pos) {
5150
- return deserializeFormalParameters(uint32[pos >> 2]);
5164
+ return deserializeFormalParameters(int32[pos >> 2]);
5151
5165
  }
5152
5166
 
5153
5167
  function deserializeBoxFunctionBody(pos) {
5154
- return deserializeFunctionBody(uint32[pos >> 2]);
5168
+ return deserializeFunctionBody(int32[pos >> 2]);
5155
5169
  }
5156
5170
 
5157
5171
  function deserializeOptionBoxFunctionBody(pos) {
5158
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5159
- return deserializeBoxFunctionBody(pos);
5172
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5173
+ ? null
5174
+ : deserializeBoxFunctionBody(pos);
5160
5175
  }
5161
5176
 
5162
5177
  function deserializeVecFormalParameter(pos) {
5163
5178
  let arr = [],
5164
5179
  pos32 = pos >> 2;
5165
- pos = uint32[pos32];
5166
- let endPos = pos + uint32[pos32 + 2] * 72;
5180
+ pos = int32[pos32];
5181
+ let endPos = pos + int32[pos32 + 2] * 72;
5167
5182
  for (; pos !== endPos; ) {
5168
5183
  arr.push(deserializeFormalParameter(pos));
5169
5184
  pos += 72;
@@ -5174,8 +5189,8 @@ function deserializeVecFormalParameter(pos) {
5174
5189
  function deserializeVecDecorator(pos) {
5175
5190
  let arr = [],
5176
5191
  pos32 = pos >> 2;
5177
- pos = uint32[pos32];
5178
- let endPos = pos + uint32[pos32 + 2] * 32;
5192
+ pos = int32[pos32];
5193
+ let endPos = pos + (int32[pos32 + 2] << 5);
5179
5194
  for (; pos !== endPos; ) {
5180
5195
  arr.push(deserializeDecorator(pos));
5181
5196
  pos += 32;
@@ -5184,23 +5199,24 @@ function deserializeVecDecorator(pos) {
5184
5199
  }
5185
5200
 
5186
5201
  function deserializeBoxExpression(pos) {
5187
- return deserializeExpression(uint32[pos >> 2]);
5202
+ return deserializeExpression(int32[pos >> 2]);
5188
5203
  }
5189
5204
 
5190
5205
  function deserializeOptionBoxExpression(pos) {
5191
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5192
- return deserializeBoxExpression(pos);
5206
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5207
+ ? null
5208
+ : deserializeBoxExpression(pos);
5193
5209
  }
5194
5210
 
5195
5211
  function deserializeBoxClassBody(pos) {
5196
- return deserializeClassBody(uint32[pos >> 2]);
5212
+ return deserializeClassBody(int32[pos >> 2]);
5197
5213
  }
5198
5214
 
5199
5215
  function deserializeVecClassElement(pos) {
5200
5216
  let arr = [],
5201
5217
  pos32 = pos >> 2;
5202
- pos = uint32[pos32];
5203
- let endPos = pos + uint32[pos32 + 2] * 16;
5218
+ pos = int32[pos32];
5219
+ let endPos = pos + (int32[pos32 + 2] << 4);
5204
5220
  for (; pos !== endPos; ) {
5205
5221
  arr.push(deserializeClassElement(pos));
5206
5222
  pos += 16;
@@ -5209,59 +5225,58 @@ function deserializeVecClassElement(pos) {
5209
5225
  }
5210
5226
 
5211
5227
  function deserializeBoxStaticBlock(pos) {
5212
- return deserializeStaticBlock(uint32[pos >> 2]);
5228
+ return deserializeStaticBlock(int32[pos >> 2]);
5213
5229
  }
5214
5230
 
5215
5231
  function deserializeBoxMethodDefinition(pos) {
5216
- return deserializeMethodDefinition(uint32[pos >> 2]);
5232
+ return deserializeMethodDefinition(int32[pos >> 2]);
5217
5233
  }
5218
5234
 
5219
5235
  function deserializeBoxPropertyDefinition(pos) {
5220
- return deserializePropertyDefinition(uint32[pos >> 2]);
5236
+ return deserializePropertyDefinition(int32[pos >> 2]);
5221
5237
  }
5222
5238
 
5223
5239
  function deserializeBoxAccessorProperty(pos) {
5224
- return deserializeAccessorProperty(uint32[pos >> 2]);
5240
+ return deserializeAccessorProperty(int32[pos >> 2]);
5225
5241
  }
5226
5242
 
5227
5243
  function deserializeBoxTSIndexSignature(pos) {
5228
- return deserializeTSIndexSignature(uint32[pos >> 2]);
5244
+ return deserializeTSIndexSignature(int32[pos >> 2]);
5229
5245
  }
5230
5246
 
5231
5247
  function deserializeBoxImportDeclaration(pos) {
5232
- return deserializeImportDeclaration(uint32[pos >> 2]);
5248
+ return deserializeImportDeclaration(int32[pos >> 2]);
5233
5249
  }
5234
5250
 
5235
5251
  function deserializeBoxExportAllDeclaration(pos) {
5236
- return deserializeExportAllDeclaration(uint32[pos >> 2]);
5252
+ return deserializeExportAllDeclaration(int32[pos >> 2]);
5237
5253
  }
5238
5254
 
5239
5255
  function deserializeBoxExportDefaultDeclaration(pos) {
5240
- return deserializeExportDefaultDeclaration(uint32[pos >> 2]);
5256
+ return deserializeExportDefaultDeclaration(int32[pos >> 2]);
5241
5257
  }
5242
5258
 
5243
5259
  function deserializeBoxExportNamedDeclaration(pos) {
5244
- return deserializeExportNamedDeclaration(uint32[pos >> 2]);
5260
+ return deserializeExportNamedDeclaration(int32[pos >> 2]);
5245
5261
  }
5246
5262
 
5247
5263
  function deserializeBoxTSExportAssignment(pos) {
5248
- return deserializeTSExportAssignment(uint32[pos >> 2]);
5264
+ return deserializeTSExportAssignment(int32[pos >> 2]);
5249
5265
  }
5250
5266
 
5251
5267
  function deserializeBoxTSNamespaceExportDeclaration(pos) {
5252
- return deserializeTSNamespaceExportDeclaration(uint32[pos >> 2]);
5268
+ return deserializeTSNamespaceExportDeclaration(int32[pos >> 2]);
5253
5269
  }
5254
5270
 
5255
5271
  function deserializeOptionImportPhase(pos) {
5256
- if (uint8[pos] === 2) return null;
5257
- return deserializeImportPhase(pos);
5272
+ return uint8[pos] === 2 ? null : deserializeImportPhase(pos);
5258
5273
  }
5259
5274
 
5260
5275
  function deserializeVecImportDeclarationSpecifier(pos) {
5261
5276
  let arr = [],
5262
5277
  pos32 = pos >> 2;
5263
- pos = uint32[pos32];
5264
- let endPos = pos + uint32[pos32 + 2] * 16;
5278
+ pos = int32[pos32];
5279
+ let endPos = pos + (int32[pos32 + 2] << 4);
5265
5280
  for (; pos !== endPos; ) {
5266
5281
  arr.push(deserializeImportDeclarationSpecifier(pos));
5267
5282
  pos += 16;
@@ -5270,36 +5285,38 @@ function deserializeVecImportDeclarationSpecifier(pos) {
5270
5285
  }
5271
5286
 
5272
5287
  function deserializeOptionVecImportDeclarationSpecifier(pos) {
5273
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5274
- return deserializeVecImportDeclarationSpecifier(pos);
5288
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5289
+ ? null
5290
+ : deserializeVecImportDeclarationSpecifier(pos);
5275
5291
  }
5276
5292
 
5277
5293
  function deserializeBoxWithClause(pos) {
5278
- return deserializeWithClause(uint32[pos >> 2]);
5294
+ return deserializeWithClause(int32[pos >> 2]);
5279
5295
  }
5280
5296
 
5281
5297
  function deserializeOptionBoxWithClause(pos) {
5282
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5283
- return deserializeBoxWithClause(pos);
5298
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5299
+ ? null
5300
+ : deserializeBoxWithClause(pos);
5284
5301
  }
5285
5302
 
5286
5303
  function deserializeBoxImportSpecifier(pos) {
5287
- return deserializeImportSpecifier(uint32[pos >> 2]);
5304
+ return deserializeImportSpecifier(int32[pos >> 2]);
5288
5305
  }
5289
5306
 
5290
5307
  function deserializeBoxImportDefaultSpecifier(pos) {
5291
- return deserializeImportDefaultSpecifier(uint32[pos >> 2]);
5308
+ return deserializeImportDefaultSpecifier(int32[pos >> 2]);
5292
5309
  }
5293
5310
 
5294
5311
  function deserializeBoxImportNamespaceSpecifier(pos) {
5295
- return deserializeImportNamespaceSpecifier(uint32[pos >> 2]);
5312
+ return deserializeImportNamespaceSpecifier(int32[pos >> 2]);
5296
5313
  }
5297
5314
 
5298
5315
  function deserializeVecImportAttribute(pos) {
5299
5316
  let arr = [],
5300
5317
  pos32 = pos >> 2;
5301
- pos = uint32[pos32];
5302
- let endPos = pos + uint32[pos32 + 2] * 120;
5318
+ pos = int32[pos32];
5319
+ let endPos = pos + int32[pos32 + 2] * 120;
5303
5320
  for (; pos !== endPos; ) {
5304
5321
  arr.push(deserializeImportAttribute(pos));
5305
5322
  pos += 120;
@@ -5308,15 +5325,14 @@ function deserializeVecImportAttribute(pos) {
5308
5325
  }
5309
5326
 
5310
5327
  function deserializeOptionDeclaration(pos) {
5311
- if (uint8[pos] === 31) return null;
5312
- return deserializeDeclaration(pos);
5328
+ return uint8[pos] === 31 ? null : deserializeDeclaration(pos);
5313
5329
  }
5314
5330
 
5315
5331
  function deserializeVecExportSpecifier(pos) {
5316
5332
  let arr = [],
5317
5333
  pos32 = pos >> 2;
5318
- pos = uint32[pos32];
5319
- let endPos = pos + uint32[pos32 + 2] * 128;
5334
+ pos = int32[pos32];
5335
+ let endPos = pos + (int32[pos32 + 2] << 7);
5320
5336
  for (; pos !== endPos; ) {
5321
5337
  arr.push(deserializeExportSpecifier(pos));
5322
5338
  pos += 128;
@@ -5325,13 +5341,11 @@ function deserializeVecExportSpecifier(pos) {
5325
5341
  }
5326
5342
 
5327
5343
  function deserializeOptionStringLiteral(pos) {
5328
- if (uint8[pos + 12] === 2) return null;
5329
- return deserializeStringLiteral(pos);
5344
+ return uint8[pos + 12] === 2 ? null : deserializeStringLiteral(pos);
5330
5345
  }
5331
5346
 
5332
5347
  function deserializeOptionModuleExportName(pos) {
5333
- if (uint8[pos] === 3) return null;
5334
- return deserializeModuleExportName(pos);
5348
+ return uint8[pos] === 3 ? null : deserializeModuleExportName(pos);
5335
5349
  }
5336
5350
 
5337
5351
  function deserializeF64(pos) {
@@ -5343,14 +5357,14 @@ function deserializeU8(pos) {
5343
5357
  }
5344
5358
 
5345
5359
  function deserializeBoxJSXOpeningElement(pos) {
5346
- return deserializeJSXOpeningElement(uint32[pos >> 2]);
5360
+ return deserializeJSXOpeningElement(int32[pos >> 2]);
5347
5361
  }
5348
5362
 
5349
5363
  function deserializeVecJSXChild(pos) {
5350
5364
  let arr = [],
5351
5365
  pos32 = pos >> 2;
5352
- pos = uint32[pos32];
5353
- let endPos = pos + uint32[pos32 + 2] * 16;
5366
+ pos = int32[pos32];
5367
+ let endPos = pos + (int32[pos32 + 2] << 4);
5354
5368
  for (; pos !== endPos; ) {
5355
5369
  arr.push(deserializeJSXChild(pos));
5356
5370
  pos += 16;
@@ -5359,19 +5373,20 @@ function deserializeVecJSXChild(pos) {
5359
5373
  }
5360
5374
 
5361
5375
  function deserializeBoxJSXClosingElement(pos) {
5362
- return deserializeJSXClosingElement(uint32[pos >> 2]);
5376
+ return deserializeJSXClosingElement(int32[pos >> 2]);
5363
5377
  }
5364
5378
 
5365
5379
  function deserializeOptionBoxJSXClosingElement(pos) {
5366
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5367
- return deserializeBoxJSXClosingElement(pos);
5380
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5381
+ ? null
5382
+ : deserializeBoxJSXClosingElement(pos);
5368
5383
  }
5369
5384
 
5370
5385
  function deserializeVecJSXAttributeItem(pos) {
5371
5386
  let arr = [],
5372
5387
  pos32 = pos >> 2;
5373
- pos = uint32[pos32];
5374
- let endPos = pos + uint32[pos32 + 2] * 16;
5388
+ pos = int32[pos32];
5389
+ let endPos = pos + (int32[pos32 + 2] << 4);
5375
5390
  for (; pos !== endPos; ) {
5376
5391
  arr.push(deserializeJSXAttributeItem(pos));
5377
5392
  pos += 16;
@@ -5380,47 +5395,46 @@ function deserializeVecJSXAttributeItem(pos) {
5380
5395
  }
5381
5396
 
5382
5397
  function deserializeBoxJSXIdentifier(pos) {
5383
- return deserializeJSXIdentifier(uint32[pos >> 2]);
5398
+ return deserializeJSXIdentifier(int32[pos >> 2]);
5384
5399
  }
5385
5400
 
5386
5401
  function deserializeBoxJSXNamespacedName(pos) {
5387
- return deserializeJSXNamespacedName(uint32[pos >> 2]);
5402
+ return deserializeJSXNamespacedName(int32[pos >> 2]);
5388
5403
  }
5389
5404
 
5390
5405
  function deserializeBoxJSXMemberExpression(pos) {
5391
- return deserializeJSXMemberExpression(uint32[pos >> 2]);
5406
+ return deserializeJSXMemberExpression(int32[pos >> 2]);
5392
5407
  }
5393
5408
 
5394
5409
  function deserializeBoxJSXAttribute(pos) {
5395
- return deserializeJSXAttribute(uint32[pos >> 2]);
5410
+ return deserializeJSXAttribute(int32[pos >> 2]);
5396
5411
  }
5397
5412
 
5398
5413
  function deserializeBoxJSXSpreadAttribute(pos) {
5399
- return deserializeJSXSpreadAttribute(uint32[pos >> 2]);
5414
+ return deserializeJSXSpreadAttribute(int32[pos >> 2]);
5400
5415
  }
5401
5416
 
5402
5417
  function deserializeOptionJSXAttributeValue(pos) {
5403
- if (uint8[pos] === 4) return null;
5404
- return deserializeJSXAttributeValue(pos);
5418
+ return uint8[pos] === 4 ? null : deserializeJSXAttributeValue(pos);
5405
5419
  }
5406
5420
 
5407
5421
  function deserializeBoxJSXExpressionContainer(pos) {
5408
- return deserializeJSXExpressionContainer(uint32[pos >> 2]);
5422
+ return deserializeJSXExpressionContainer(int32[pos >> 2]);
5409
5423
  }
5410
5424
 
5411
5425
  function deserializeBoxJSXText(pos) {
5412
- return deserializeJSXText(uint32[pos >> 2]);
5426
+ return deserializeJSXText(int32[pos >> 2]);
5413
5427
  }
5414
5428
 
5415
5429
  function deserializeBoxJSXSpreadChild(pos) {
5416
- return deserializeJSXSpreadChild(uint32[pos >> 2]);
5430
+ return deserializeJSXSpreadChild(int32[pos >> 2]);
5417
5431
  }
5418
5432
 
5419
5433
  function deserializeVecTSEnumMember(pos) {
5420
5434
  let arr = [],
5421
5435
  pos32 = pos >> 2;
5422
- pos = uint32[pos32];
5423
- let endPos = pos + uint32[pos32 + 2] * 48;
5436
+ pos = int32[pos32];
5437
+ let endPos = pos + int32[pos32 + 2] * 48;
5424
5438
  for (; pos !== endPos; ) {
5425
5439
  arr.push(deserializeTSEnumMember(pos));
5426
5440
  pos += 48;
@@ -5429,158 +5443,158 @@ function deserializeVecTSEnumMember(pos) {
5429
5443
  }
5430
5444
 
5431
5445
  function deserializeBoxTSAnyKeyword(pos) {
5432
- return deserializeTSAnyKeyword(uint32[pos >> 2]);
5446
+ return deserializeTSAnyKeyword(int32[pos >> 2]);
5433
5447
  }
5434
5448
 
5435
5449
  function deserializeBoxTSBigIntKeyword(pos) {
5436
- return deserializeTSBigIntKeyword(uint32[pos >> 2]);
5450
+ return deserializeTSBigIntKeyword(int32[pos >> 2]);
5437
5451
  }
5438
5452
 
5439
5453
  function deserializeBoxTSBooleanKeyword(pos) {
5440
- return deserializeTSBooleanKeyword(uint32[pos >> 2]);
5454
+ return deserializeTSBooleanKeyword(int32[pos >> 2]);
5441
5455
  }
5442
5456
 
5443
5457
  function deserializeBoxTSIntrinsicKeyword(pos) {
5444
- return deserializeTSIntrinsicKeyword(uint32[pos >> 2]);
5458
+ return deserializeTSIntrinsicKeyword(int32[pos >> 2]);
5445
5459
  }
5446
5460
 
5447
5461
  function deserializeBoxTSNeverKeyword(pos) {
5448
- return deserializeTSNeverKeyword(uint32[pos >> 2]);
5462
+ return deserializeTSNeverKeyword(int32[pos >> 2]);
5449
5463
  }
5450
5464
 
5451
5465
  function deserializeBoxTSNullKeyword(pos) {
5452
- return deserializeTSNullKeyword(uint32[pos >> 2]);
5466
+ return deserializeTSNullKeyword(int32[pos >> 2]);
5453
5467
  }
5454
5468
 
5455
5469
  function deserializeBoxTSNumberKeyword(pos) {
5456
- return deserializeTSNumberKeyword(uint32[pos >> 2]);
5470
+ return deserializeTSNumberKeyword(int32[pos >> 2]);
5457
5471
  }
5458
5472
 
5459
5473
  function deserializeBoxTSObjectKeyword(pos) {
5460
- return deserializeTSObjectKeyword(uint32[pos >> 2]);
5474
+ return deserializeTSObjectKeyword(int32[pos >> 2]);
5461
5475
  }
5462
5476
 
5463
5477
  function deserializeBoxTSStringKeyword(pos) {
5464
- return deserializeTSStringKeyword(uint32[pos >> 2]);
5478
+ return deserializeTSStringKeyword(int32[pos >> 2]);
5465
5479
  }
5466
5480
 
5467
5481
  function deserializeBoxTSSymbolKeyword(pos) {
5468
- return deserializeTSSymbolKeyword(uint32[pos >> 2]);
5482
+ return deserializeTSSymbolKeyword(int32[pos >> 2]);
5469
5483
  }
5470
5484
 
5471
5485
  function deserializeBoxTSUndefinedKeyword(pos) {
5472
- return deserializeTSUndefinedKeyword(uint32[pos >> 2]);
5486
+ return deserializeTSUndefinedKeyword(int32[pos >> 2]);
5473
5487
  }
5474
5488
 
5475
5489
  function deserializeBoxTSUnknownKeyword(pos) {
5476
- return deserializeTSUnknownKeyword(uint32[pos >> 2]);
5490
+ return deserializeTSUnknownKeyword(int32[pos >> 2]);
5477
5491
  }
5478
5492
 
5479
5493
  function deserializeBoxTSVoidKeyword(pos) {
5480
- return deserializeTSVoidKeyword(uint32[pos >> 2]);
5494
+ return deserializeTSVoidKeyword(int32[pos >> 2]);
5481
5495
  }
5482
5496
 
5483
5497
  function deserializeBoxTSArrayType(pos) {
5484
- return deserializeTSArrayType(uint32[pos >> 2]);
5498
+ return deserializeTSArrayType(int32[pos >> 2]);
5485
5499
  }
5486
5500
 
5487
5501
  function deserializeBoxTSConditionalType(pos) {
5488
- return deserializeTSConditionalType(uint32[pos >> 2]);
5502
+ return deserializeTSConditionalType(int32[pos >> 2]);
5489
5503
  }
5490
5504
 
5491
5505
  function deserializeBoxTSConstructorType(pos) {
5492
- return deserializeTSConstructorType(uint32[pos >> 2]);
5506
+ return deserializeTSConstructorType(int32[pos >> 2]);
5493
5507
  }
5494
5508
 
5495
5509
  function deserializeBoxTSFunctionType(pos) {
5496
- return deserializeTSFunctionType(uint32[pos >> 2]);
5510
+ return deserializeTSFunctionType(int32[pos >> 2]);
5497
5511
  }
5498
5512
 
5499
5513
  function deserializeBoxTSImportType(pos) {
5500
- return deserializeTSImportType(uint32[pos >> 2]);
5514
+ return deserializeTSImportType(int32[pos >> 2]);
5501
5515
  }
5502
5516
 
5503
5517
  function deserializeBoxTSIndexedAccessType(pos) {
5504
- return deserializeTSIndexedAccessType(uint32[pos >> 2]);
5518
+ return deserializeTSIndexedAccessType(int32[pos >> 2]);
5505
5519
  }
5506
5520
 
5507
5521
  function deserializeBoxTSInferType(pos) {
5508
- return deserializeTSInferType(uint32[pos >> 2]);
5522
+ return deserializeTSInferType(int32[pos >> 2]);
5509
5523
  }
5510
5524
 
5511
5525
  function deserializeBoxTSIntersectionType(pos) {
5512
- return deserializeTSIntersectionType(uint32[pos >> 2]);
5526
+ return deserializeTSIntersectionType(int32[pos >> 2]);
5513
5527
  }
5514
5528
 
5515
5529
  function deserializeBoxTSLiteralType(pos) {
5516
- return deserializeTSLiteralType(uint32[pos >> 2]);
5530
+ return deserializeTSLiteralType(int32[pos >> 2]);
5517
5531
  }
5518
5532
 
5519
5533
  function deserializeBoxTSMappedType(pos) {
5520
- return deserializeTSMappedType(uint32[pos >> 2]);
5534
+ return deserializeTSMappedType(int32[pos >> 2]);
5521
5535
  }
5522
5536
 
5523
5537
  function deserializeBoxTSNamedTupleMember(pos) {
5524
- return deserializeTSNamedTupleMember(uint32[pos >> 2]);
5538
+ return deserializeTSNamedTupleMember(int32[pos >> 2]);
5525
5539
  }
5526
5540
 
5527
5541
  function deserializeBoxTSTemplateLiteralType(pos) {
5528
- return deserializeTSTemplateLiteralType(uint32[pos >> 2]);
5542
+ return deserializeTSTemplateLiteralType(int32[pos >> 2]);
5529
5543
  }
5530
5544
 
5531
5545
  function deserializeBoxTSThisType(pos) {
5532
- return deserializeTSThisType(uint32[pos >> 2]);
5546
+ return deserializeTSThisType(int32[pos >> 2]);
5533
5547
  }
5534
5548
 
5535
5549
  function deserializeBoxTSTupleType(pos) {
5536
- return deserializeTSTupleType(uint32[pos >> 2]);
5550
+ return deserializeTSTupleType(int32[pos >> 2]);
5537
5551
  }
5538
5552
 
5539
5553
  function deserializeBoxTSTypeLiteral(pos) {
5540
- return deserializeTSTypeLiteral(uint32[pos >> 2]);
5554
+ return deserializeTSTypeLiteral(int32[pos >> 2]);
5541
5555
  }
5542
5556
 
5543
5557
  function deserializeBoxTSTypeOperator(pos) {
5544
- return deserializeTSTypeOperator(uint32[pos >> 2]);
5558
+ return deserializeTSTypeOperator(int32[pos >> 2]);
5545
5559
  }
5546
5560
 
5547
5561
  function deserializeBoxTSTypePredicate(pos) {
5548
- return deserializeTSTypePredicate(uint32[pos >> 2]);
5562
+ return deserializeTSTypePredicate(int32[pos >> 2]);
5549
5563
  }
5550
5564
 
5551
5565
  function deserializeBoxTSTypeQuery(pos) {
5552
- return deserializeTSTypeQuery(uint32[pos >> 2]);
5566
+ return deserializeTSTypeQuery(int32[pos >> 2]);
5553
5567
  }
5554
5568
 
5555
5569
  function deserializeBoxTSTypeReference(pos) {
5556
- return deserializeTSTypeReference(uint32[pos >> 2]);
5570
+ return deserializeTSTypeReference(int32[pos >> 2]);
5557
5571
  }
5558
5572
 
5559
5573
  function deserializeBoxTSUnionType(pos) {
5560
- return deserializeTSUnionType(uint32[pos >> 2]);
5574
+ return deserializeTSUnionType(int32[pos >> 2]);
5561
5575
  }
5562
5576
 
5563
5577
  function deserializeBoxTSParenthesizedType(pos) {
5564
- return deserializeTSParenthesizedType(uint32[pos >> 2]);
5578
+ return deserializeTSParenthesizedType(int32[pos >> 2]);
5565
5579
  }
5566
5580
 
5567
5581
  function deserializeBoxJSDocNullableType(pos) {
5568
- return deserializeJSDocNullableType(uint32[pos >> 2]);
5582
+ return deserializeJSDocNullableType(int32[pos >> 2]);
5569
5583
  }
5570
5584
 
5571
5585
  function deserializeBoxJSDocNonNullableType(pos) {
5572
- return deserializeJSDocNonNullableType(uint32[pos >> 2]);
5586
+ return deserializeJSDocNonNullableType(int32[pos >> 2]);
5573
5587
  }
5574
5588
 
5575
5589
  function deserializeBoxJSDocUnknownType(pos) {
5576
- return deserializeJSDocUnknownType(uint32[pos >> 2]);
5590
+ return deserializeJSDocUnknownType(int32[pos >> 2]);
5577
5591
  }
5578
5592
 
5579
5593
  function deserializeVecTSType(pos) {
5580
5594
  let arr = [],
5581
5595
  pos32 = pos >> 2;
5582
- pos = uint32[pos32];
5583
- let endPos = pos + uint32[pos32 + 2] * 16;
5596
+ pos = int32[pos32];
5597
+ let endPos = pos + (int32[pos32 + 2] << 4);
5584
5598
  for (; pos !== endPos; ) {
5585
5599
  arr.push(deserializeTSType(pos));
5586
5600
  pos += 16;
@@ -5591,8 +5605,8 @@ function deserializeVecTSType(pos) {
5591
5605
  function deserializeVecTSTupleElement(pos) {
5592
5606
  let arr = [],
5593
5607
  pos32 = pos >> 2;
5594
- pos = uint32[pos32];
5595
- let endPos = pos + uint32[pos32 + 2] * 16;
5608
+ pos = int32[pos32];
5609
+ let endPos = pos + (int32[pos32 + 2] << 4);
5596
5610
  for (; pos !== endPos; ) {
5597
5611
  arr.push(deserializeTSTupleElement(pos));
5598
5612
  pos += 16;
@@ -5601,27 +5615,26 @@ function deserializeVecTSTupleElement(pos) {
5601
5615
  }
5602
5616
 
5603
5617
  function deserializeBoxTSOptionalType(pos) {
5604
- return deserializeTSOptionalType(uint32[pos >> 2]);
5618
+ return deserializeTSOptionalType(int32[pos >> 2]);
5605
5619
  }
5606
5620
 
5607
5621
  function deserializeBoxTSRestType(pos) {
5608
- return deserializeTSRestType(uint32[pos >> 2]);
5622
+ return deserializeTSRestType(int32[pos >> 2]);
5609
5623
  }
5610
5624
 
5611
5625
  function deserializeBoxTSQualifiedName(pos) {
5612
- return deserializeTSQualifiedName(uint32[pos >> 2]);
5626
+ return deserializeTSQualifiedName(int32[pos >> 2]);
5613
5627
  }
5614
5628
 
5615
5629
  function deserializeOptionTSType(pos) {
5616
- if (uint8[pos] === 38) return null;
5617
- return deserializeTSType(pos);
5630
+ return uint8[pos] === 38 ? null : deserializeTSType(pos);
5618
5631
  }
5619
5632
 
5620
5633
  function deserializeVecTSTypeParameter(pos) {
5621
5634
  let arr = [],
5622
5635
  pos32 = pos >> 2;
5623
- pos = uint32[pos32];
5624
- let endPos = pos + uint32[pos32 + 2] * 80;
5636
+ pos = int32[pos32];
5637
+ let endPos = pos + int32[pos32 + 2] * 80;
5625
5638
  for (; pos !== endPos; ) {
5626
5639
  arr.push(deserializeTSTypeParameter(pos));
5627
5640
  pos += 80;
@@ -5632,8 +5645,8 @@ function deserializeVecTSTypeParameter(pos) {
5632
5645
  function deserializeVecTSInterfaceHeritage(pos) {
5633
5646
  let arr = [],
5634
5647
  pos32 = pos >> 2;
5635
- pos = uint32[pos32];
5636
- let endPos = pos + uint32[pos32 + 2] * 40;
5648
+ pos = int32[pos32];
5649
+ let endPos = pos + int32[pos32 + 2] * 40;
5637
5650
  for (; pos !== endPos; ) {
5638
5651
  arr.push(deserializeTSInterfaceHeritage(pos));
5639
5652
  pos += 40;
@@ -5642,14 +5655,14 @@ function deserializeVecTSInterfaceHeritage(pos) {
5642
5655
  }
5643
5656
 
5644
5657
  function deserializeBoxTSInterfaceBody(pos) {
5645
- return deserializeTSInterfaceBody(uint32[pos >> 2]);
5658
+ return deserializeTSInterfaceBody(int32[pos >> 2]);
5646
5659
  }
5647
5660
 
5648
5661
  function deserializeVecTSSignature(pos) {
5649
5662
  let arr = [],
5650
5663
  pos32 = pos >> 2;
5651
- pos = uint32[pos32];
5652
- let endPos = pos + uint32[pos32 + 2] * 16;
5664
+ pos = int32[pos32];
5665
+ let endPos = pos + (int32[pos32 + 2] << 4);
5653
5666
  for (; pos !== endPos; ) {
5654
5667
  arr.push(deserializeTSSignature(pos));
5655
5668
  pos += 16;
@@ -5658,26 +5671,26 @@ function deserializeVecTSSignature(pos) {
5658
5671
  }
5659
5672
 
5660
5673
  function deserializeBoxTSPropertySignature(pos) {
5661
- return deserializeTSPropertySignature(uint32[pos >> 2]);
5674
+ return deserializeTSPropertySignature(int32[pos >> 2]);
5662
5675
  }
5663
5676
 
5664
5677
  function deserializeBoxTSCallSignatureDeclaration(pos) {
5665
- return deserializeTSCallSignatureDeclaration(uint32[pos >> 2]);
5678
+ return deserializeTSCallSignatureDeclaration(int32[pos >> 2]);
5666
5679
  }
5667
5680
 
5668
5681
  function deserializeBoxTSConstructSignatureDeclaration(pos) {
5669
- return deserializeTSConstructSignatureDeclaration(uint32[pos >> 2]);
5682
+ return deserializeTSConstructSignatureDeclaration(int32[pos >> 2]);
5670
5683
  }
5671
5684
 
5672
5685
  function deserializeBoxTSMethodSignature(pos) {
5673
- return deserializeTSMethodSignature(uint32[pos >> 2]);
5686
+ return deserializeTSMethodSignature(int32[pos >> 2]);
5674
5687
  }
5675
5688
 
5676
5689
  function deserializeVecTSIndexSignatureName(pos) {
5677
5690
  let arr = [],
5678
5691
  pos32 = pos >> 2;
5679
- pos = uint32[pos32];
5680
- let endPos = pos + uint32[pos32 + 2] * 40;
5692
+ pos = int32[pos32];
5693
+ let endPos = pos + int32[pos32 + 2] * 40;
5681
5694
  for (; pos !== endPos; ) {
5682
5695
  arr.push(deserializeTSIndexSignatureName(pos));
5683
5696
  pos += 40;
@@ -5686,55 +5699,54 @@ function deserializeVecTSIndexSignatureName(pos) {
5686
5699
  }
5687
5700
 
5688
5701
  function deserializeOptionTSModuleDeclarationBody(pos) {
5689
- if (uint8[pos] === 2) return null;
5690
- return deserializeTSModuleDeclarationBody(pos);
5702
+ return uint8[pos] === 2 ? null : deserializeTSModuleDeclarationBody(pos);
5691
5703
  }
5692
5704
 
5693
5705
  function deserializeBoxTSModuleBlock(pos) {
5694
- return deserializeTSModuleBlock(uint32[pos >> 2]);
5706
+ return deserializeTSModuleBlock(int32[pos >> 2]);
5695
5707
  }
5696
5708
 
5697
5709
  function deserializeBoxTSTypeParameter(pos) {
5698
- return deserializeTSTypeParameter(uint32[pos >> 2]);
5710
+ return deserializeTSTypeParameter(int32[pos >> 2]);
5699
5711
  }
5700
5712
 
5701
5713
  function deserializeOptionBoxObjectExpression(pos) {
5702
- if (uint32[pos >> 2] === 0 && uint32[(pos + 4) >> 2] === 0) return null;
5703
- return deserializeBoxObjectExpression(pos);
5714
+ return int32[pos >> 2] === 0 && int32[(pos >> 2) + 1] === 0
5715
+ ? null
5716
+ : deserializeBoxObjectExpression(pos);
5704
5717
  }
5705
5718
 
5706
5719
  function deserializeOptionTSImportTypeQualifier(pos) {
5707
- if (uint8[pos] === 2) return null;
5708
- return deserializeTSImportTypeQualifier(pos);
5720
+ return uint8[pos] === 2 ? null : deserializeTSImportTypeQualifier(pos);
5709
5721
  }
5710
5722
 
5711
5723
  function deserializeBoxTSImportTypeQualifiedName(pos) {
5712
- return deserializeTSImportTypeQualifiedName(uint32[pos >> 2]);
5724
+ return deserializeTSImportTypeQualifiedName(int32[pos >> 2]);
5713
5725
  }
5714
5726
 
5715
5727
  function deserializeOptionTSMappedTypeModifierOperator(pos) {
5716
- if (uint8[pos] === 3) return null;
5717
- return deserializeTSMappedTypeModifierOperator(pos);
5728
+ return uint8[pos] === 3 ? null : deserializeTSMappedTypeModifierOperator(pos);
5718
5729
  }
5719
5730
 
5720
5731
  function deserializeBoxTSExternalModuleReference(pos) {
5721
- return deserializeTSExternalModuleReference(uint32[pos >> 2]);
5732
+ return deserializeTSExternalModuleReference(int32[pos >> 2]);
5722
5733
  }
5723
5734
 
5724
- function deserializeU32(pos) {
5725
- return uint32[pos >> 2];
5735
+ function deserializeI32(pos) {
5736
+ return int32[pos >> 2];
5726
5737
  }
5727
5738
 
5728
5739
  function deserializeOptionNameSpan(pos) {
5729
- if (uint32[(pos + 8) >> 2] === 0 && uint32[(pos + 12) >> 2] === 0) return null;
5730
- return deserializeNameSpan(pos);
5740
+ return int32[(pos >> 2) + 2] === 0 && int32[(pos >> 2) + 3] === 0
5741
+ ? null
5742
+ : deserializeNameSpan(pos);
5731
5743
  }
5732
5744
 
5733
5745
  function deserializeVecError(pos) {
5734
5746
  let arr = [],
5735
5747
  pos32 = pos >> 2;
5736
- pos = uint32[pos32];
5737
- let endPos = pos + uint32[pos32 + 2] * 80;
5748
+ pos = int32[pos32];
5749
+ let endPos = pos + int32[pos32 + 2] * 80;
5738
5750
  for (; pos !== endPos; ) {
5739
5751
  arr.push(deserializeError(pos));
5740
5752
  pos += 80;
@@ -5745,8 +5757,8 @@ function deserializeVecError(pos) {
5745
5757
  function deserializeVecErrorLabel(pos) {
5746
5758
  let arr = [],
5747
5759
  pos32 = pos >> 2;
5748
- pos = uint32[pos32];
5749
- let endPos = pos + uint32[pos32 + 2] * 24;
5760
+ pos = int32[pos32];
5761
+ let endPos = pos + int32[pos32 + 2] * 24;
5750
5762
  for (; pos !== endPos; ) {
5751
5763
  arr.push(deserializeErrorLabel(pos));
5752
5764
  pos += 24;
@@ -5757,8 +5769,8 @@ function deserializeVecErrorLabel(pos) {
5757
5769
  function deserializeVecStaticImport(pos) {
5758
5770
  let arr = [],
5759
5771
  pos32 = pos >> 2;
5760
- pos = uint32[pos32];
5761
- let endPos = pos + uint32[pos32 + 2] * 56;
5772
+ pos = int32[pos32];
5773
+ let endPos = pos + int32[pos32 + 2] * 56;
5762
5774
  for (; pos !== endPos; ) {
5763
5775
  arr.push(deserializeStaticImport(pos));
5764
5776
  pos += 56;
@@ -5769,8 +5781,8 @@ function deserializeVecStaticImport(pos) {
5769
5781
  function deserializeVecStaticExport(pos) {
5770
5782
  let arr = [],
5771
5783
  pos32 = pos >> 2;
5772
- pos = uint32[pos32];
5773
- let endPos = pos + uint32[pos32 + 2] * 32;
5784
+ pos = int32[pos32];
5785
+ let endPos = pos + (int32[pos32 + 2] << 5);
5774
5786
  for (; pos !== endPos; ) {
5775
5787
  arr.push(deserializeStaticExport(pos));
5776
5788
  pos += 32;
@@ -5781,8 +5793,8 @@ function deserializeVecStaticExport(pos) {
5781
5793
  function deserializeVecDynamicImport(pos) {
5782
5794
  let arr = [],
5783
5795
  pos32 = pos >> 2;
5784
- pos = uint32[pos32];
5785
- let endPos = pos + uint32[pos32 + 2] * 16;
5796
+ pos = int32[pos32];
5797
+ let endPos = pos + (int32[pos32 + 2] << 4);
5786
5798
  for (; pos !== endPos; ) {
5787
5799
  arr.push(deserializeDynamicImport(pos));
5788
5800
  pos += 16;
@@ -5793,8 +5805,8 @@ function deserializeVecDynamicImport(pos) {
5793
5805
  function deserializeVecSpan(pos) {
5794
5806
  let arr = [],
5795
5807
  pos32 = pos >> 2;
5796
- pos = uint32[pos32];
5797
- let endPos = pos + uint32[pos32 + 2] * 8;
5808
+ pos = int32[pos32];
5809
+ let endPos = pos + (int32[pos32 + 2] << 3);
5798
5810
  for (; pos !== endPos; ) {
5799
5811
  arr.push(deserializeSpan(pos));
5800
5812
  pos += 8;
@@ -5805,8 +5817,8 @@ function deserializeVecSpan(pos) {
5805
5817
  function deserializeVecImportEntry(pos) {
5806
5818
  let arr = [],
5807
5819
  pos32 = pos >> 2;
5808
- pos = uint32[pos32];
5809
- let endPos = pos + uint32[pos32 + 2] * 96;
5820
+ pos = int32[pos32];
5821
+ let endPos = pos + int32[pos32 + 2] * 96;
5810
5822
  for (; pos !== endPos; ) {
5811
5823
  arr.push(deserializeImportEntry(pos));
5812
5824
  pos += 96;
@@ -5817,8 +5829,8 @@ function deserializeVecImportEntry(pos) {
5817
5829
  function deserializeVecExportEntry(pos) {
5818
5830
  let arr = [],
5819
5831
  pos32 = pos >> 2;
5820
- pos = uint32[pos32];
5821
- let endPos = pos + uint32[pos32 + 2] * 144;
5832
+ pos = int32[pos32];
5833
+ let endPos = pos + int32[pos32 + 2] * 144;
5822
5834
  for (; pos !== endPos; ) {
5823
5835
  arr.push(deserializeExportEntry(pos));
5824
5836
  pos += 144;