oxc-parser 0.94.0 → 0.95.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.
@@ -2,6 +2,7 @@
2
2
  // To edit this generated file you have to edit `tasks/ast_tools/src/generators/raw_transfer.rs`.
3
3
 
4
4
  let uint8, uint32, float64, sourceText, sourceIsAscii, sourceByteLen;
5
+
5
6
  const textDecoder = new TextDecoder('utf-8', { ignoreBOM: true }),
6
7
  decodeStr = textDecoder.decode.bind(textDecoder),
7
8
  { fromCodePoint } = String;
@@ -227,23 +228,20 @@ function deserializeLabelIdentifier(pos) {
227
228
  }
228
229
 
229
230
  function deserializeThisExpression(pos) {
230
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
231
231
  return {
232
232
  type: 'ThisExpression',
233
- start,
234
- end,
233
+ start: deserializeU32(pos),
234
+ end: deserializeU32(pos + 4),
235
235
  };
236
236
  }
237
237
 
238
238
  function deserializeArrayExpression(pos) {
239
- let start = deserializeU32(pos),
240
- end = deserializeU32(pos + 4),
241
- node = {
242
- type: 'ArrayExpression',
243
- elements: null,
244
- start,
245
- end,
246
- };
239
+ let node = {
240
+ type: 'ArrayExpression',
241
+ elements: null,
242
+ start: deserializeU32(pos),
243
+ end: deserializeU32(pos + 4),
244
+ };
247
245
  node.elements = deserializeVecArrayExpressionElement(pos + 8);
248
246
  return node;
249
247
  }
@@ -350,14 +348,12 @@ function deserializeElision(pos) {
350
348
  }
351
349
 
352
350
  function deserializeObjectExpression(pos) {
353
- let start = deserializeU32(pos),
354
- end = deserializeU32(pos + 4),
355
- node = {
356
- type: 'ObjectExpression',
357
- properties: null,
358
- start,
359
- end,
360
- };
351
+ let node = {
352
+ type: 'ObjectExpression',
353
+ properties: null,
354
+ start: deserializeU32(pos),
355
+ end: deserializeU32(pos + 4),
356
+ };
361
357
  node.properties = deserializeVecObjectPropertyKind(pos + 8);
362
358
  return node;
363
359
  }
@@ -505,31 +501,27 @@ function deserializePropertyKind(pos) {
505
501
  }
506
502
 
507
503
  function deserializeTemplateLiteral(pos) {
508
- let start = deserializeU32(pos),
509
- end = deserializeU32(pos + 4),
510
- node = {
511
- type: 'TemplateLiteral',
512
- quasis: null,
513
- expressions: null,
514
- start,
515
- end,
516
- };
504
+ let node = {
505
+ type: 'TemplateLiteral',
506
+ quasis: null,
507
+ expressions: null,
508
+ start: deserializeU32(pos),
509
+ end: deserializeU32(pos + 4),
510
+ };
517
511
  node.quasis = deserializeVecTemplateElement(pos + 8);
518
512
  node.expressions = deserializeVecExpression(pos + 32);
519
513
  return node;
520
514
  }
521
515
 
522
516
  function deserializeTaggedTemplateExpression(pos) {
523
- let start = deserializeU32(pos),
524
- end = deserializeU32(pos + 4),
525
- node = {
526
- type: 'TaggedTemplateExpression',
527
- tag: null,
528
- typeArguments: null,
529
- quasi: null,
530
- start,
531
- end,
532
- };
517
+ let node = {
518
+ type: 'TaggedTemplateExpression',
519
+ tag: null,
520
+ typeArguments: null,
521
+ quasi: null,
522
+ start: deserializeU32(pos),
523
+ end: deserializeU32(pos + 4),
524
+ };
533
525
  node.tag = deserializeExpression(pos + 8);
534
526
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
535
527
  node.quasi = deserializeTemplateLiteral(pos + 32);
@@ -632,16 +624,14 @@ function deserializeCallExpression(pos) {
632
624
  }
633
625
 
634
626
  function deserializeNewExpression(pos) {
635
- let start = deserializeU32(pos),
636
- end = deserializeU32(pos + 4),
637
- node = {
638
- type: 'NewExpression',
639
- callee: null,
640
- typeArguments: null,
641
- arguments: null,
642
- start,
643
- end,
644
- };
627
+ let node = {
628
+ type: 'NewExpression',
629
+ callee: null,
630
+ typeArguments: null,
631
+ arguments: null,
632
+ start: deserializeU32(pos),
633
+ end: deserializeU32(pos + 4),
634
+ };
645
635
  node.callee = deserializeExpression(pos + 8);
646
636
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
647
637
  node.arguments = deserializeVecArgument(pos + 32);
@@ -649,29 +639,25 @@ function deserializeNewExpression(pos) {
649
639
  }
650
640
 
651
641
  function deserializeMetaProperty(pos) {
652
- let start = deserializeU32(pos),
653
- end = deserializeU32(pos + 4),
654
- node = {
655
- type: 'MetaProperty',
656
- meta: null,
657
- property: null,
658
- start,
659
- end,
660
- };
642
+ let node = {
643
+ type: 'MetaProperty',
644
+ meta: null,
645
+ property: null,
646
+ start: deserializeU32(pos),
647
+ end: deserializeU32(pos + 4),
648
+ };
661
649
  node.meta = deserializeIdentifierName(pos + 8);
662
650
  node.property = deserializeIdentifierName(pos + 32);
663
651
  return node;
664
652
  }
665
653
 
666
654
  function deserializeSpreadElement(pos) {
667
- let start = deserializeU32(pos),
668
- end = deserializeU32(pos + 4),
669
- node = {
670
- type: 'SpreadElement',
671
- argument: null,
672
- start,
673
- end,
674
- };
655
+ let node = {
656
+ type: 'SpreadElement',
657
+ argument: null,
658
+ start: deserializeU32(pos),
659
+ end: deserializeU32(pos + 4),
660
+ };
675
661
  node.argument = deserializeExpression(pos + 8);
676
662
  return node;
677
663
  }
@@ -819,16 +805,14 @@ function deserializeBinaryExpression(pos) {
819
805
  }
820
806
 
821
807
  function deserializePrivateInExpression(pos) {
822
- let start = deserializeU32(pos),
823
- end = deserializeU32(pos + 4),
824
- node = {
825
- type: 'BinaryExpression',
826
- left: null,
827
- operator: null,
828
- right: null,
829
- start,
830
- end,
831
- };
808
+ let node = {
809
+ type: 'BinaryExpression',
810
+ left: null,
811
+ operator: null,
812
+ right: null,
813
+ start: deserializeU32(pos),
814
+ end: deserializeU32(pos + 4),
815
+ };
832
816
  node.left = deserializePrivateIdentifier(pos + 8);
833
817
  node.operator = 'in';
834
818
  node.right = deserializeExpression(pos + 32);
@@ -852,16 +836,14 @@ function deserializeLogicalExpression(pos) {
852
836
  }
853
837
 
854
838
  function deserializeConditionalExpression(pos) {
855
- let start = deserializeU32(pos),
856
- end = deserializeU32(pos + 4),
857
- node = {
858
- type: 'ConditionalExpression',
859
- test: null,
860
- consequent: null,
861
- alternate: null,
862
- start,
863
- end,
864
- };
839
+ let node = {
840
+ type: 'ConditionalExpression',
841
+ test: null,
842
+ consequent: null,
843
+ alternate: null,
844
+ start: deserializeU32(pos),
845
+ end: deserializeU32(pos + 4),
846
+ };
865
847
  node.test = deserializeExpression(pos + 8);
866
848
  node.consequent = deserializeExpression(pos + 24);
867
849
  node.alternate = deserializeExpression(pos + 40);
@@ -935,16 +917,14 @@ function deserializeSimpleAssignmentTarget(pos) {
935
917
  }
936
918
 
937
919
  function deserializeArrayAssignmentTarget(pos) {
938
- let start = deserializeU32(pos),
939
- end = deserializeU32(pos + 4),
940
- node = {
920
+ let node = {
941
921
  type: 'ArrayPattern',
942
922
  decorators: null,
943
923
  elements: null,
944
924
  optional: null,
945
925
  typeAnnotation: null,
946
- start,
947
- end,
926
+ start: deserializeU32(pos),
927
+ end: deserializeU32(pos + 4),
948
928
  },
949
929
  elements = deserializeVecOptionAssignmentTargetMaybeDefault(pos + 8),
950
930
  rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
@@ -957,16 +937,14 @@ function deserializeArrayAssignmentTarget(pos) {
957
937
  }
958
938
 
959
939
  function deserializeObjectAssignmentTarget(pos) {
960
- let start = deserializeU32(pos),
961
- end = deserializeU32(pos + 4),
962
- node = {
940
+ let node = {
963
941
  type: 'ObjectPattern',
964
942
  decorators: null,
965
943
  properties: null,
966
944
  optional: null,
967
945
  typeAnnotation: null,
968
- start,
969
- end,
946
+ start: deserializeU32(pos),
947
+ end: deserializeU32(pos + 4),
970
948
  },
971
949
  properties = deserializeVecAssignmentTargetProperty(pos + 8),
972
950
  rest = deserializeOptionBoxAssignmentTargetRest(pos + 32);
@@ -979,18 +957,16 @@ function deserializeObjectAssignmentTarget(pos) {
979
957
  }
980
958
 
981
959
  function deserializeAssignmentTargetRest(pos) {
982
- let start = deserializeU32(pos),
983
- end = deserializeU32(pos + 4),
984
- node = {
985
- type: 'RestElement',
986
- decorators: null,
987
- argument: null,
988
- optional: null,
989
- typeAnnotation: null,
990
- value: null,
991
- start,
992
- end,
993
- };
960
+ let node = {
961
+ type: 'RestElement',
962
+ decorators: null,
963
+ argument: null,
964
+ optional: null,
965
+ typeAnnotation: null,
966
+ value: null,
967
+ start: deserializeU32(pos),
968
+ end: deserializeU32(pos + 4),
969
+ };
994
970
  node.decorators = [];
995
971
  node.argument = deserializeAssignmentTarget(pos + 8);
996
972
  node.optional = false;
@@ -1029,18 +1005,16 @@ function deserializeAssignmentTargetMaybeDefault(pos) {
1029
1005
  }
1030
1006
 
1031
1007
  function deserializeAssignmentTargetWithDefault(pos) {
1032
- let start = deserializeU32(pos),
1033
- end = deserializeU32(pos + 4),
1034
- node = {
1035
- type: 'AssignmentPattern',
1036
- decorators: null,
1037
- left: null,
1038
- right: null,
1039
- optional: null,
1040
- typeAnnotation: null,
1041
- start,
1042
- end,
1043
- };
1008
+ let node = {
1009
+ type: 'AssignmentPattern',
1010
+ decorators: null,
1011
+ left: null,
1012
+ right: null,
1013
+ optional: null,
1014
+ typeAnnotation: null,
1015
+ start: deserializeU32(pos),
1016
+ end: deserializeU32(pos + 4),
1017
+ };
1044
1018
  node.decorators = [];
1045
1019
  node.left = deserializeAssignmentTarget(pos + 8);
1046
1020
  node.right = deserializeExpression(pos + 24);
@@ -1123,49 +1097,42 @@ function deserializeAssignmentTargetPropertyProperty(pos) {
1123
1097
  }
1124
1098
 
1125
1099
  function deserializeSequenceExpression(pos) {
1126
- let start = deserializeU32(pos),
1127
- end = deserializeU32(pos + 4),
1128
- node = {
1129
- type: 'SequenceExpression',
1130
- expressions: null,
1131
- start,
1132
- end,
1133
- };
1100
+ let node = {
1101
+ type: 'SequenceExpression',
1102
+ expressions: null,
1103
+ start: deserializeU32(pos),
1104
+ end: deserializeU32(pos + 4),
1105
+ };
1134
1106
  node.expressions = deserializeVecExpression(pos + 8);
1135
1107
  return node;
1136
1108
  }
1137
1109
 
1138
1110
  function deserializeSuper(pos) {
1139
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
1140
1111
  return {
1141
1112
  type: 'Super',
1142
- start,
1143
- end,
1113
+ start: deserializeU32(pos),
1114
+ end: deserializeU32(pos + 4),
1144
1115
  };
1145
1116
  }
1146
1117
 
1147
1118
  function deserializeAwaitExpression(pos) {
1148
- let start = deserializeU32(pos),
1149
- end = deserializeU32(pos + 4),
1150
- node = {
1151
- type: 'AwaitExpression',
1152
- argument: null,
1153
- start,
1154
- end,
1155
- };
1119
+ let node = {
1120
+ type: 'AwaitExpression',
1121
+ argument: null,
1122
+ start: deserializeU32(pos),
1123
+ end: deserializeU32(pos + 4),
1124
+ };
1156
1125
  node.argument = deserializeExpression(pos + 8);
1157
1126
  return node;
1158
1127
  }
1159
1128
 
1160
1129
  function deserializeChainExpression(pos) {
1161
- let start = deserializeU32(pos),
1162
- end = deserializeU32(pos + 4),
1163
- node = {
1164
- type: 'ChainExpression',
1165
- expression: null,
1166
- start,
1167
- end,
1168
- };
1130
+ let node = {
1131
+ type: 'ChainExpression',
1132
+ expression: null,
1133
+ start: deserializeU32(pos),
1134
+ end: deserializeU32(pos + 4),
1135
+ };
1169
1136
  node.expression = deserializeChainElement(pos + 8);
1170
1137
  return node;
1171
1138
  }
@@ -1295,14 +1262,12 @@ function deserializeHashbang(pos) {
1295
1262
  }
1296
1263
 
1297
1264
  function deserializeBlockStatement(pos) {
1298
- let start = deserializeU32(pos),
1299
- end = deserializeU32(pos + 4),
1300
- node = {
1301
- type: 'BlockStatement',
1302
- body: null,
1303
- start,
1304
- end,
1305
- };
1265
+ let node = {
1266
+ type: 'BlockStatement',
1267
+ body: null,
1268
+ start: deserializeU32(pos),
1269
+ end: deserializeU32(pos + 4),
1270
+ };
1306
1271
  node.body = deserializeVecStatement(pos + 8);
1307
1272
  return node;
1308
1273
  }
@@ -1379,40 +1344,35 @@ function deserializeVariableDeclarator(pos) {
1379
1344
  }
1380
1345
 
1381
1346
  function deserializeEmptyStatement(pos) {
1382
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
1383
1347
  return {
1384
1348
  type: 'EmptyStatement',
1385
- start,
1386
- end,
1349
+ start: deserializeU32(pos),
1350
+ end: deserializeU32(pos + 4),
1387
1351
  };
1388
1352
  }
1389
1353
 
1390
1354
  function deserializeExpressionStatement(pos) {
1391
- let start = deserializeU32(pos),
1392
- end = deserializeU32(pos + 4),
1393
- node = {
1394
- type: 'ExpressionStatement',
1395
- expression: null,
1396
- directive: null,
1397
- start,
1398
- end,
1399
- };
1355
+ let node = {
1356
+ type: 'ExpressionStatement',
1357
+ expression: null,
1358
+ directive: null,
1359
+ start: deserializeU32(pos),
1360
+ end: deserializeU32(pos + 4),
1361
+ };
1400
1362
  node.expression = deserializeExpression(pos + 8);
1401
1363
  node.directive = null;
1402
1364
  return node;
1403
1365
  }
1404
1366
 
1405
1367
  function deserializeIfStatement(pos) {
1406
- let start = deserializeU32(pos),
1407
- end = deserializeU32(pos + 4),
1408
- node = {
1409
- type: 'IfStatement',
1410
- test: null,
1411
- consequent: null,
1412
- alternate: null,
1413
- start,
1414
- end,
1415
- };
1368
+ let node = {
1369
+ type: 'IfStatement',
1370
+ test: null,
1371
+ consequent: null,
1372
+ alternate: null,
1373
+ start: deserializeU32(pos),
1374
+ end: deserializeU32(pos + 4),
1375
+ };
1416
1376
  node.test = deserializeExpression(pos + 8);
1417
1377
  node.consequent = deserializeStatement(pos + 24);
1418
1378
  node.alternate = deserializeOptionStatement(pos + 40);
@@ -1420,47 +1380,41 @@ function deserializeIfStatement(pos) {
1420
1380
  }
1421
1381
 
1422
1382
  function deserializeDoWhileStatement(pos) {
1423
- let start = deserializeU32(pos),
1424
- end = deserializeU32(pos + 4),
1425
- node = {
1426
- type: 'DoWhileStatement',
1427
- body: null,
1428
- test: null,
1429
- start,
1430
- end,
1431
- };
1383
+ let node = {
1384
+ type: 'DoWhileStatement',
1385
+ body: null,
1386
+ test: null,
1387
+ start: deserializeU32(pos),
1388
+ end: deserializeU32(pos + 4),
1389
+ };
1432
1390
  node.body = deserializeStatement(pos + 8);
1433
1391
  node.test = deserializeExpression(pos + 24);
1434
1392
  return node;
1435
1393
  }
1436
1394
 
1437
1395
  function deserializeWhileStatement(pos) {
1438
- let start = deserializeU32(pos),
1439
- end = deserializeU32(pos + 4),
1440
- node = {
1441
- type: 'WhileStatement',
1442
- test: null,
1443
- body: null,
1444
- start,
1445
- end,
1446
- };
1396
+ let node = {
1397
+ type: 'WhileStatement',
1398
+ test: null,
1399
+ body: null,
1400
+ start: deserializeU32(pos),
1401
+ end: deserializeU32(pos + 4),
1402
+ };
1447
1403
  node.test = deserializeExpression(pos + 8);
1448
1404
  node.body = deserializeStatement(pos + 24);
1449
1405
  return node;
1450
1406
  }
1451
1407
 
1452
1408
  function deserializeForStatement(pos) {
1453
- let start = deserializeU32(pos),
1454
- end = deserializeU32(pos + 4),
1455
- node = {
1456
- type: 'ForStatement',
1457
- init: null,
1458
- test: null,
1459
- update: null,
1460
- body: null,
1461
- start,
1462
- end,
1463
- };
1409
+ let node = {
1410
+ type: 'ForStatement',
1411
+ init: null,
1412
+ test: null,
1413
+ update: null,
1414
+ body: null,
1415
+ start: deserializeU32(pos),
1416
+ end: deserializeU32(pos + 4),
1417
+ };
1464
1418
  node.init = deserializeOptionForStatementInit(pos + 8);
1465
1419
  node.test = deserializeOptionExpression(pos + 24);
1466
1420
  node.update = deserializeOptionExpression(pos + 40);
@@ -1564,16 +1518,14 @@ function deserializeForStatementInit(pos) {
1564
1518
  }
1565
1519
 
1566
1520
  function deserializeForInStatement(pos) {
1567
- let start = deserializeU32(pos),
1568
- end = deserializeU32(pos + 4),
1569
- node = {
1570
- type: 'ForInStatement',
1571
- left: null,
1572
- right: null,
1573
- body: null,
1574
- start,
1575
- end,
1576
- };
1521
+ let node = {
1522
+ type: 'ForInStatement',
1523
+ left: null,
1524
+ right: null,
1525
+ body: null,
1526
+ start: deserializeU32(pos),
1527
+ end: deserializeU32(pos + 4),
1528
+ };
1577
1529
  node.left = deserializeForStatementLeft(pos + 8);
1578
1530
  node.right = deserializeExpression(pos + 24);
1579
1531
  node.body = deserializeStatement(pos + 40);
@@ -1628,128 +1580,110 @@ function deserializeForOfStatement(pos) {
1628
1580
  }
1629
1581
 
1630
1582
  function deserializeContinueStatement(pos) {
1631
- let start = deserializeU32(pos),
1632
- end = deserializeU32(pos + 4),
1633
- node = {
1634
- type: 'ContinueStatement',
1635
- label: null,
1636
- start,
1637
- end,
1638
- };
1583
+ let node = {
1584
+ type: 'ContinueStatement',
1585
+ label: null,
1586
+ start: deserializeU32(pos),
1587
+ end: deserializeU32(pos + 4),
1588
+ };
1639
1589
  node.label = deserializeOptionLabelIdentifier(pos + 8);
1640
1590
  return node;
1641
1591
  }
1642
1592
 
1643
1593
  function deserializeBreakStatement(pos) {
1644
- let start = deserializeU32(pos),
1645
- end = deserializeU32(pos + 4),
1646
- node = {
1647
- type: 'BreakStatement',
1648
- label: null,
1649
- start,
1650
- end,
1651
- };
1594
+ let node = {
1595
+ type: 'BreakStatement',
1596
+ label: null,
1597
+ start: deserializeU32(pos),
1598
+ end: deserializeU32(pos + 4),
1599
+ };
1652
1600
  node.label = deserializeOptionLabelIdentifier(pos + 8);
1653
1601
  return node;
1654
1602
  }
1655
1603
 
1656
1604
  function deserializeReturnStatement(pos) {
1657
- let start = deserializeU32(pos),
1658
- end = deserializeU32(pos + 4),
1659
- node = {
1660
- type: 'ReturnStatement',
1661
- argument: null,
1662
- start,
1663
- end,
1664
- };
1605
+ let node = {
1606
+ type: 'ReturnStatement',
1607
+ argument: null,
1608
+ start: deserializeU32(pos),
1609
+ end: deserializeU32(pos + 4),
1610
+ };
1665
1611
  node.argument = deserializeOptionExpression(pos + 8);
1666
1612
  return node;
1667
1613
  }
1668
1614
 
1669
1615
  function deserializeWithStatement(pos) {
1670
- let start = deserializeU32(pos),
1671
- end = deserializeU32(pos + 4),
1672
- node = {
1673
- type: 'WithStatement',
1674
- object: null,
1675
- body: null,
1676
- start,
1677
- end,
1678
- };
1616
+ let node = {
1617
+ type: 'WithStatement',
1618
+ object: null,
1619
+ body: null,
1620
+ start: deserializeU32(pos),
1621
+ end: deserializeU32(pos + 4),
1622
+ };
1679
1623
  node.object = deserializeExpression(pos + 8);
1680
1624
  node.body = deserializeStatement(pos + 24);
1681
1625
  return node;
1682
1626
  }
1683
1627
 
1684
1628
  function deserializeSwitchStatement(pos) {
1685
- let start = deserializeU32(pos),
1686
- end = deserializeU32(pos + 4),
1687
- node = {
1688
- type: 'SwitchStatement',
1689
- discriminant: null,
1690
- cases: null,
1691
- start,
1692
- end,
1693
- };
1629
+ let node = {
1630
+ type: 'SwitchStatement',
1631
+ discriminant: null,
1632
+ cases: null,
1633
+ start: deserializeU32(pos),
1634
+ end: deserializeU32(pos + 4),
1635
+ };
1694
1636
  node.discriminant = deserializeExpression(pos + 8);
1695
1637
  node.cases = deserializeVecSwitchCase(pos + 24);
1696
1638
  return node;
1697
1639
  }
1698
1640
 
1699
1641
  function deserializeSwitchCase(pos) {
1700
- let start = deserializeU32(pos),
1701
- end = deserializeU32(pos + 4),
1702
- node = {
1703
- type: 'SwitchCase',
1704
- test: null,
1705
- consequent: null,
1706
- start,
1707
- end,
1708
- };
1642
+ let node = {
1643
+ type: 'SwitchCase',
1644
+ test: null,
1645
+ consequent: null,
1646
+ start: deserializeU32(pos),
1647
+ end: deserializeU32(pos + 4),
1648
+ };
1709
1649
  node.test = deserializeOptionExpression(pos + 8);
1710
1650
  node.consequent = deserializeVecStatement(pos + 24);
1711
1651
  return node;
1712
1652
  }
1713
1653
 
1714
1654
  function deserializeLabeledStatement(pos) {
1715
- let start = deserializeU32(pos),
1716
- end = deserializeU32(pos + 4),
1717
- node = {
1718
- type: 'LabeledStatement',
1719
- label: null,
1720
- body: null,
1721
- start,
1722
- end,
1723
- };
1655
+ let node = {
1656
+ type: 'LabeledStatement',
1657
+ label: null,
1658
+ body: null,
1659
+ start: deserializeU32(pos),
1660
+ end: deserializeU32(pos + 4),
1661
+ };
1724
1662
  node.label = deserializeLabelIdentifier(pos + 8);
1725
1663
  node.body = deserializeStatement(pos + 32);
1726
1664
  return node;
1727
1665
  }
1728
1666
 
1729
1667
  function deserializeThrowStatement(pos) {
1730
- let start = deserializeU32(pos),
1731
- end = deserializeU32(pos + 4),
1732
- node = {
1733
- type: 'ThrowStatement',
1734
- argument: null,
1735
- start,
1736
- end,
1737
- };
1668
+ let node = {
1669
+ type: 'ThrowStatement',
1670
+ argument: null,
1671
+ start: deserializeU32(pos),
1672
+ end: deserializeU32(pos + 4),
1673
+ };
1738
1674
  node.argument = deserializeExpression(pos + 8);
1739
1675
  return node;
1740
1676
  }
1741
1677
 
1742
1678
  function deserializeTryStatement(pos) {
1743
- let start = deserializeU32(pos),
1744
- end = deserializeU32(pos + 4),
1745
- node = {
1746
- type: 'TryStatement',
1747
- block: null,
1748
- handler: null,
1749
- finalizer: null,
1750
- start,
1751
- end,
1752
- };
1679
+ let node = {
1680
+ type: 'TryStatement',
1681
+ block: null,
1682
+ handler: null,
1683
+ finalizer: null,
1684
+ start: deserializeU32(pos),
1685
+ end: deserializeU32(pos + 4),
1686
+ };
1753
1687
  node.block = deserializeBoxBlockStatement(pos + 8);
1754
1688
  node.handler = deserializeOptionBoxCatchClause(pos + 16);
1755
1689
  node.finalizer = deserializeOptionBoxBlockStatement(pos + 24);
@@ -1757,15 +1691,13 @@ function deserializeTryStatement(pos) {
1757
1691
  }
1758
1692
 
1759
1693
  function deserializeCatchClause(pos) {
1760
- let start = deserializeU32(pos),
1761
- end = deserializeU32(pos + 4),
1762
- node = {
1763
- type: 'CatchClause',
1764
- param: null,
1765
- body: null,
1766
- start,
1767
- end,
1768
- };
1694
+ let node = {
1695
+ type: 'CatchClause',
1696
+ param: null,
1697
+ body: null,
1698
+ start: deserializeU32(pos),
1699
+ end: deserializeU32(pos + 4),
1700
+ };
1769
1701
  node.param = deserializeOptionCatchParameter(pos + 8);
1770
1702
  node.body = deserializeBoxBlockStatement(pos + 48);
1771
1703
  return node;
@@ -1776,11 +1708,10 @@ function deserializeCatchParameter(pos) {
1776
1708
  }
1777
1709
 
1778
1710
  function deserializeDebuggerStatement(pos) {
1779
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
1780
1711
  return {
1781
1712
  type: 'DebuggerStatement',
1782
- start,
1783
- end,
1713
+ start: deserializeU32(pos),
1714
+ end: deserializeU32(pos + 4),
1784
1715
  };
1785
1716
  }
1786
1717
 
@@ -1807,18 +1738,16 @@ function deserializeBindingPatternKind(pos) {
1807
1738
  }
1808
1739
 
1809
1740
  function deserializeAssignmentPattern(pos) {
1810
- let start = deserializeU32(pos),
1811
- end = deserializeU32(pos + 4),
1812
- node = {
1813
- type: 'AssignmentPattern',
1814
- decorators: null,
1815
- left: null,
1816
- right: null,
1817
- optional: null,
1818
- typeAnnotation: null,
1819
- start,
1820
- end,
1821
- };
1741
+ let node = {
1742
+ type: 'AssignmentPattern',
1743
+ decorators: null,
1744
+ left: null,
1745
+ right: null,
1746
+ optional: null,
1747
+ typeAnnotation: null,
1748
+ start: deserializeU32(pos),
1749
+ end: deserializeU32(pos + 4),
1750
+ };
1822
1751
  node.decorators = [];
1823
1752
  node.left = deserializeBindingPattern(pos + 8);
1824
1753
  node.right = deserializeExpression(pos + 40);
@@ -1828,16 +1757,14 @@ function deserializeAssignmentPattern(pos) {
1828
1757
  }
1829
1758
 
1830
1759
  function deserializeObjectPattern(pos) {
1831
- let start = deserializeU32(pos),
1832
- end = deserializeU32(pos + 4),
1833
- node = {
1760
+ let node = {
1834
1761
  type: 'ObjectPattern',
1835
1762
  decorators: null,
1836
1763
  properties: null,
1837
1764
  optional: null,
1838
1765
  typeAnnotation: null,
1839
- start,
1840
- end,
1766
+ start: deserializeU32(pos),
1767
+ end: deserializeU32(pos + 4),
1841
1768
  },
1842
1769
  properties = deserializeVecBindingProperty(pos + 8),
1843
1770
  rest = deserializeOptionBoxBindingRestElement(pos + 32);
@@ -1873,16 +1800,14 @@ function deserializeBindingProperty(pos) {
1873
1800
  }
1874
1801
 
1875
1802
  function deserializeArrayPattern(pos) {
1876
- let start = deserializeU32(pos),
1877
- end = deserializeU32(pos + 4),
1878
- node = {
1803
+ let node = {
1879
1804
  type: 'ArrayPattern',
1880
1805
  decorators: null,
1881
1806
  elements: null,
1882
1807
  optional: null,
1883
1808
  typeAnnotation: null,
1884
- start,
1885
- end,
1809
+ start: deserializeU32(pos),
1810
+ end: deserializeU32(pos + 4),
1886
1811
  },
1887
1812
  elements = deserializeVecOptionBindingPattern(pos + 8),
1888
1813
  rest = deserializeOptionBoxBindingRestElement(pos + 32);
@@ -1895,18 +1820,16 @@ function deserializeArrayPattern(pos) {
1895
1820
  }
1896
1821
 
1897
1822
  function deserializeBindingRestElement(pos) {
1898
- let start = deserializeU32(pos),
1899
- end = deserializeU32(pos + 4),
1900
- node = {
1901
- type: 'RestElement',
1902
- decorators: null,
1903
- argument: null,
1904
- optional: null,
1905
- typeAnnotation: null,
1906
- value: null,
1907
- start,
1908
- end,
1909
- };
1823
+ let node = {
1824
+ type: 'RestElement',
1825
+ decorators: null,
1826
+ argument: null,
1827
+ optional: null,
1828
+ typeAnnotation: null,
1829
+ value: null,
1830
+ start: deserializeU32(pos),
1831
+ end: deserializeU32(pos + 4),
1832
+ };
1910
1833
  node.decorators = [];
1911
1834
  node.argument = deserializeBindingPattern(pos + 8);
1912
1835
  node.optional = false;
@@ -2013,13 +1936,11 @@ function deserializeFormalParameter(pos) {
2013
1936
  }
2014
1937
 
2015
1938
  function deserializeFunctionBody(pos) {
2016
- let start = deserializeU32(pos),
2017
- end = deserializeU32(pos + 4),
2018
- node = {
1939
+ let node = {
2019
1940
  type: 'BlockStatement',
2020
1941
  body: null,
2021
- start,
2022
- end,
1942
+ start: deserializeU32(pos),
1943
+ end: deserializeU32(pos + 4),
2023
1944
  },
2024
1945
  body = deserializeVecDirective(pos + 8);
2025
1946
  body.push(...deserializeVecStatement(pos + 32));
@@ -2108,14 +2029,12 @@ function deserializeClassType(pos) {
2108
2029
  }
2109
2030
 
2110
2031
  function deserializeClassBody(pos) {
2111
- let start = deserializeU32(pos),
2112
- end = deserializeU32(pos + 4),
2113
- node = {
2114
- type: 'ClassBody',
2115
- body: null,
2116
- start,
2117
- end,
2118
- };
2032
+ let node = {
2033
+ type: 'ClassBody',
2034
+ body: null,
2035
+ start: deserializeU32(pos),
2036
+ end: deserializeU32(pos + 4),
2037
+ };
2119
2038
  node.body = deserializeVecClassElement(pos + 8);
2120
2039
  return node;
2121
2040
  }
@@ -2235,14 +2154,12 @@ function deserializePrivateIdentifier(pos) {
2235
2154
  }
2236
2155
 
2237
2156
  function deserializeStaticBlock(pos) {
2238
- let start = deserializeU32(pos),
2239
- end = deserializeU32(pos + 4),
2240
- node = {
2241
- type: 'StaticBlock',
2242
- body: null,
2243
- start,
2244
- end,
2245
- };
2157
+ let node = {
2158
+ type: 'StaticBlock',
2159
+ body: null,
2160
+ start: deserializeU32(pos),
2161
+ end: deserializeU32(pos + 4),
2162
+ };
2246
2163
  node.body = deserializeVecStatement(pos + 8);
2247
2164
  return node;
2248
2165
  }
@@ -2367,27 +2284,23 @@ function deserializeImportSpecifier(pos) {
2367
2284
  }
2368
2285
 
2369
2286
  function deserializeImportDefaultSpecifier(pos) {
2370
- let start = deserializeU32(pos),
2371
- end = deserializeU32(pos + 4),
2372
- node = {
2373
- type: 'ImportDefaultSpecifier',
2374
- local: null,
2375
- start,
2376
- end,
2377
- };
2287
+ let node = {
2288
+ type: 'ImportDefaultSpecifier',
2289
+ local: null,
2290
+ start: deserializeU32(pos),
2291
+ end: deserializeU32(pos + 4),
2292
+ };
2378
2293
  node.local = deserializeBindingIdentifier(pos + 8);
2379
2294
  return node;
2380
2295
  }
2381
2296
 
2382
2297
  function deserializeImportNamespaceSpecifier(pos) {
2383
- let start = deserializeU32(pos),
2384
- end = deserializeU32(pos + 4),
2385
- node = {
2386
- type: 'ImportNamespaceSpecifier',
2387
- local: null,
2388
- start,
2389
- end,
2390
- };
2298
+ let node = {
2299
+ type: 'ImportNamespaceSpecifier',
2300
+ local: null,
2301
+ start: deserializeU32(pos),
2302
+ end: deserializeU32(pos + 4),
2303
+ };
2391
2304
  node.local = deserializeBindingIdentifier(pos + 8);
2392
2305
  return node;
2393
2306
  }
@@ -2397,15 +2310,13 @@ function deserializeWithClause(pos) {
2397
2310
  }
2398
2311
 
2399
2312
  function deserializeImportAttribute(pos) {
2400
- let start = deserializeU32(pos),
2401
- end = deserializeU32(pos + 4),
2402
- node = {
2403
- type: 'ImportAttribute',
2404
- key: null,
2405
- value: null,
2406
- start,
2407
- end,
2408
- };
2313
+ let node = {
2314
+ type: 'ImportAttribute',
2315
+ key: null,
2316
+ value: null,
2317
+ start: deserializeU32(pos),
2318
+ end: deserializeU32(pos + 4),
2319
+ };
2409
2320
  node.key = deserializeImportAttributeKey(pos + 8);
2410
2321
  node.value = deserializeStringLiteral(pos + 64);
2411
2322
  return node;
@@ -2444,15 +2355,13 @@ function deserializeExportNamedDeclaration(pos) {
2444
2355
  }
2445
2356
 
2446
2357
  function deserializeExportDefaultDeclaration(pos) {
2447
- let start = deserializeU32(pos),
2448
- end = deserializeU32(pos + 4),
2449
- node = {
2450
- type: 'ExportDefaultDeclaration',
2451
- declaration: null,
2452
- exportKind: null,
2453
- start,
2454
- end,
2455
- };
2358
+ let node = {
2359
+ type: 'ExportDefaultDeclaration',
2360
+ declaration: null,
2361
+ exportKind: null,
2362
+ start: deserializeU32(pos),
2363
+ end: deserializeU32(pos + 4),
2364
+ };
2456
2365
  node.declaration = deserializeExportDefaultDeclarationKind(pos + 8);
2457
2366
  node.exportKind = 'value';
2458
2367
  return node;
@@ -2606,15 +2515,13 @@ function deserializeModuleExportName(pos) {
2606
2515
  }
2607
2516
 
2608
2517
  function deserializeV8IntrinsicExpression(pos) {
2609
- let start = deserializeU32(pos),
2610
- end = deserializeU32(pos + 4),
2611
- node = {
2612
- type: 'V8IntrinsicExpression',
2613
- name: null,
2614
- arguments: null,
2615
- start,
2616
- end,
2617
- };
2518
+ let node = {
2519
+ type: 'V8IntrinsicExpression',
2520
+ name: null,
2521
+ arguments: null,
2522
+ start: deserializeU32(pos),
2523
+ end: deserializeU32(pos + 4),
2524
+ };
2618
2525
  node.name = deserializeIdentifierName(pos + 8);
2619
2526
  node.arguments = deserializeVecArgument(pos + 32);
2620
2527
  return node;
@@ -2738,15 +2645,13 @@ function deserializeRegExpFlags(pos) {
2738
2645
  }
2739
2646
 
2740
2647
  function deserializeJSXElement(pos) {
2741
- let start = deserializeU32(pos),
2742
- end = deserializeU32(pos + 4),
2743
- node = {
2648
+ let node = {
2744
2649
  type: 'JSXElement',
2745
2650
  openingElement: null,
2746
2651
  children: null,
2747
2652
  closingElement: null,
2748
- start,
2749
- end,
2653
+ start: deserializeU32(pos),
2654
+ end: deserializeU32(pos + 4),
2750
2655
  },
2751
2656
  closingElement = deserializeOptionBoxJSXClosingElement(pos + 40),
2752
2657
  openingElement = deserializeBoxJSXOpeningElement(pos + 8);
@@ -2758,17 +2663,15 @@ function deserializeJSXElement(pos) {
2758
2663
  }
2759
2664
 
2760
2665
  function deserializeJSXOpeningElement(pos) {
2761
- let start = deserializeU32(pos),
2762
- end = deserializeU32(pos + 4),
2763
- node = {
2764
- type: 'JSXOpeningElement',
2765
- name: null,
2766
- typeArguments: null,
2767
- attributes: null,
2768
- selfClosing: null,
2769
- start,
2770
- end,
2771
- };
2666
+ let node = {
2667
+ type: 'JSXOpeningElement',
2668
+ name: null,
2669
+ typeArguments: null,
2670
+ attributes: null,
2671
+ selfClosing: null,
2672
+ start: deserializeU32(pos),
2673
+ end: deserializeU32(pos + 4),
2674
+ };
2772
2675
  node.name = deserializeJSXElementName(pos + 8);
2773
2676
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
2774
2677
  node.attributes = deserializeVecJSXAttributeItem(pos + 32);
@@ -2777,29 +2680,25 @@ function deserializeJSXOpeningElement(pos) {
2777
2680
  }
2778
2681
 
2779
2682
  function deserializeJSXClosingElement(pos) {
2780
- let start = deserializeU32(pos),
2781
- end = deserializeU32(pos + 4),
2782
- node = {
2783
- type: 'JSXClosingElement',
2784
- name: null,
2785
- start,
2786
- end,
2787
- };
2683
+ let node = {
2684
+ type: 'JSXClosingElement',
2685
+ name: null,
2686
+ start: deserializeU32(pos),
2687
+ end: deserializeU32(pos + 4),
2688
+ };
2788
2689
  node.name = deserializeJSXElementName(pos + 8);
2789
2690
  return node;
2790
2691
  }
2791
2692
 
2792
2693
  function deserializeJSXFragment(pos) {
2793
- let start = deserializeU32(pos),
2794
- end = deserializeU32(pos + 4),
2795
- node = {
2796
- type: 'JSXFragment',
2797
- openingFragment: null,
2798
- children: null,
2799
- closingFragment: null,
2800
- start,
2801
- end,
2802
- };
2694
+ let node = {
2695
+ type: 'JSXFragment',
2696
+ openingFragment: null,
2697
+ children: null,
2698
+ closingFragment: null,
2699
+ start: deserializeU32(pos),
2700
+ end: deserializeU32(pos + 4),
2701
+ };
2803
2702
  node.openingFragment = deserializeJSXOpeningFragment(pos + 8);
2804
2703
  node.children = deserializeVecJSXChild(pos + 16);
2805
2704
  node.closingFragment = deserializeJSXClosingFragment(pos + 40);
@@ -2807,20 +2706,18 @@ function deserializeJSXFragment(pos) {
2807
2706
  }
2808
2707
 
2809
2708
  function deserializeJSXOpeningFragment(pos) {
2810
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
2811
2709
  return {
2812
2710
  type: 'JSXOpeningFragment',
2813
- start,
2814
- end,
2711
+ start: deserializeU32(pos),
2712
+ end: deserializeU32(pos + 4),
2815
2713
  };
2816
2714
  }
2817
2715
 
2818
2716
  function deserializeJSXClosingFragment(pos) {
2819
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
2820
2717
  return {
2821
2718
  type: 'JSXClosingFragment',
2822
- start,
2823
- end,
2719
+ start: deserializeU32(pos),
2720
+ end: deserializeU32(pos + 4),
2824
2721
  };
2825
2722
  }
2826
2723
 
@@ -2854,30 +2751,26 @@ function deserializeJSXElementName(pos) {
2854
2751
  }
2855
2752
 
2856
2753
  function deserializeJSXNamespacedName(pos) {
2857
- let start = deserializeU32(pos),
2858
- end = deserializeU32(pos + 4),
2859
- node = {
2860
- type: 'JSXNamespacedName',
2861
- namespace: null,
2862
- name: null,
2863
- start,
2864
- end,
2865
- };
2754
+ let node = {
2755
+ type: 'JSXNamespacedName',
2756
+ namespace: null,
2757
+ name: null,
2758
+ start: deserializeU32(pos),
2759
+ end: deserializeU32(pos + 4),
2760
+ };
2866
2761
  node.namespace = deserializeJSXIdentifier(pos + 8);
2867
2762
  node.name = deserializeJSXIdentifier(pos + 32);
2868
2763
  return node;
2869
2764
  }
2870
2765
 
2871
2766
  function deserializeJSXMemberExpression(pos) {
2872
- let start = deserializeU32(pos),
2873
- end = deserializeU32(pos + 4),
2874
- node = {
2875
- type: 'JSXMemberExpression',
2876
- object: null,
2877
- property: null,
2878
- start,
2879
- end,
2880
- };
2767
+ let node = {
2768
+ type: 'JSXMemberExpression',
2769
+ object: null,
2770
+ property: null,
2771
+ start: deserializeU32(pos),
2772
+ end: deserializeU32(pos + 4),
2773
+ };
2881
2774
  node.object = deserializeJSXMemberExpressionObject(pos + 8);
2882
2775
  node.property = deserializeJSXIdentifier(pos + 24);
2883
2776
  return node;
@@ -2909,14 +2802,12 @@ function deserializeJSXMemberExpressionObject(pos) {
2909
2802
  }
2910
2803
 
2911
2804
  function deserializeJSXExpressionContainer(pos) {
2912
- let start = deserializeU32(pos),
2913
- end = deserializeU32(pos + 4),
2914
- node = {
2915
- type: 'JSXExpressionContainer',
2916
- expression: null,
2917
- start,
2918
- end,
2919
- };
2805
+ let node = {
2806
+ type: 'JSXExpressionContainer',
2807
+ expression: null,
2808
+ start: deserializeU32(pos),
2809
+ end: deserializeU32(pos + 4),
2810
+ };
2920
2811
  node.expression = deserializeJSXExpression(pos + 8);
2921
2812
  return node;
2922
2813
  }
@@ -3017,11 +2908,10 @@ function deserializeJSXExpression(pos) {
3017
2908
  }
3018
2909
 
3019
2910
  function deserializeJSXEmptyExpression(pos) {
3020
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3021
2911
  return {
3022
2912
  type: 'JSXEmptyExpression',
3023
- start,
3024
- end,
2913
+ start: deserializeU32(pos),
2914
+ end: deserializeU32(pos + 4),
3025
2915
  };
3026
2916
  }
3027
2917
 
@@ -3037,29 +2927,25 @@ function deserializeJSXAttributeItem(pos) {
3037
2927
  }
3038
2928
 
3039
2929
  function deserializeJSXAttribute(pos) {
3040
- let start = deserializeU32(pos),
3041
- end = deserializeU32(pos + 4),
3042
- node = {
3043
- type: 'JSXAttribute',
3044
- name: null,
3045
- value: null,
3046
- start,
3047
- end,
3048
- };
2930
+ let node = {
2931
+ type: 'JSXAttribute',
2932
+ name: null,
2933
+ value: null,
2934
+ start: deserializeU32(pos),
2935
+ end: deserializeU32(pos + 4),
2936
+ };
3049
2937
  node.name = deserializeJSXAttributeName(pos + 8);
3050
2938
  node.value = deserializeOptionJSXAttributeValue(pos + 24);
3051
2939
  return node;
3052
2940
  }
3053
2941
 
3054
2942
  function deserializeJSXSpreadAttribute(pos) {
3055
- let start = deserializeU32(pos),
3056
- end = deserializeU32(pos + 4),
3057
- node = {
3058
- type: 'JSXSpreadAttribute',
3059
- argument: null,
3060
- start,
3061
- end,
3062
- };
2943
+ let node = {
2944
+ type: 'JSXSpreadAttribute',
2945
+ argument: null,
2946
+ start: deserializeU32(pos),
2947
+ end: deserializeU32(pos + 4),
2948
+ };
3063
2949
  node.argument = deserializeExpression(pos + 8);
3064
2950
  return node;
3065
2951
  }
@@ -3118,14 +3004,12 @@ function deserializeJSXChild(pos) {
3118
3004
  }
3119
3005
 
3120
3006
  function deserializeJSXSpreadChild(pos) {
3121
- let start = deserializeU32(pos),
3122
- end = deserializeU32(pos + 4),
3123
- node = {
3124
- type: 'JSXSpreadChild',
3125
- expression: null,
3126
- start,
3127
- end,
3128
- };
3007
+ let node = {
3008
+ type: 'JSXSpreadChild',
3009
+ expression: null,
3010
+ start: deserializeU32(pos),
3011
+ end: deserializeU32(pos + 4),
3012
+ };
3129
3013
  node.expression = deserializeExpression(pos + 8);
3130
3014
  return node;
3131
3015
  }
@@ -3142,17 +3026,15 @@ function deserializeJSXText(pos) {
3142
3026
  }
3143
3027
 
3144
3028
  function deserializeTSThisParameter(pos) {
3145
- let start = deserializeU32(pos),
3146
- end = deserializeU32(pos + 4),
3147
- node = {
3148
- type: 'Identifier',
3149
- decorators: null,
3150
- name: null,
3151
- optional: null,
3152
- typeAnnotation: null,
3153
- start,
3154
- end,
3155
- };
3029
+ let node = {
3030
+ type: 'Identifier',
3031
+ decorators: null,
3032
+ name: null,
3033
+ optional: null,
3034
+ typeAnnotation: null,
3035
+ start: deserializeU32(pos),
3036
+ end: deserializeU32(pos + 4),
3037
+ };
3156
3038
  node.decorators = [];
3157
3039
  node.name = 'this';
3158
3040
  node.optional = false;
@@ -3178,29 +3060,25 @@ function deserializeTSEnumDeclaration(pos) {
3178
3060
  }
3179
3061
 
3180
3062
  function deserializeTSEnumBody(pos) {
3181
- let start = deserializeU32(pos),
3182
- end = deserializeU32(pos + 4),
3183
- node = {
3184
- type: 'TSEnumBody',
3185
- members: null,
3186
- start,
3187
- end,
3188
- };
3063
+ let node = {
3064
+ type: 'TSEnumBody',
3065
+ members: null,
3066
+ start: deserializeU32(pos),
3067
+ end: deserializeU32(pos + 4),
3068
+ };
3189
3069
  node.members = deserializeVecTSEnumMember(pos + 8);
3190
3070
  return node;
3191
3071
  }
3192
3072
 
3193
3073
  function deserializeTSEnumMember(pos) {
3194
- let start = deserializeU32(pos),
3195
- end = deserializeU32(pos + 4),
3196
- node = {
3197
- type: 'TSEnumMember',
3198
- id: null,
3199
- initializer: null,
3200
- computed: null,
3201
- start,
3202
- end,
3203
- };
3074
+ let node = {
3075
+ type: 'TSEnumMember',
3076
+ id: null,
3077
+ initializer: null,
3078
+ computed: null,
3079
+ start: deserializeU32(pos),
3080
+ end: deserializeU32(pos + 4),
3081
+ };
3204
3082
  node.id = deserializeTSEnumMemberName(pos + 8);
3205
3083
  node.initializer = deserializeOptionExpression(pos + 24);
3206
3084
  node.computed = deserializeU8(pos + 8) > 1;
@@ -3223,27 +3101,23 @@ function deserializeTSEnumMemberName(pos) {
3223
3101
  }
3224
3102
 
3225
3103
  function deserializeTSTypeAnnotation(pos) {
3226
- let start = deserializeU32(pos),
3227
- end = deserializeU32(pos + 4),
3228
- node = {
3229
- type: 'TSTypeAnnotation',
3230
- typeAnnotation: null,
3231
- start,
3232
- end,
3233
- };
3104
+ let node = {
3105
+ type: 'TSTypeAnnotation',
3106
+ typeAnnotation: null,
3107
+ start: deserializeU32(pos),
3108
+ end: deserializeU32(pos + 4),
3109
+ };
3234
3110
  node.typeAnnotation = deserializeTSType(pos + 8);
3235
3111
  return node;
3236
3112
  }
3237
3113
 
3238
3114
  function deserializeTSLiteralType(pos) {
3239
- let start = deserializeU32(pos),
3240
- end = deserializeU32(pos + 4),
3241
- node = {
3242
- type: 'TSLiteralType',
3243
- literal: null,
3244
- start,
3245
- end,
3246
- };
3115
+ let node = {
3116
+ type: 'TSLiteralType',
3117
+ literal: null,
3118
+ start: deserializeU32(pos),
3119
+ end: deserializeU32(pos + 4),
3120
+ };
3247
3121
  node.literal = deserializeTSLiteral(pos + 8);
3248
3122
  return node;
3249
3123
  }
@@ -3349,17 +3223,15 @@ function deserializeTSType(pos) {
3349
3223
  }
3350
3224
 
3351
3225
  function deserializeTSConditionalType(pos) {
3352
- let start = deserializeU32(pos),
3353
- end = deserializeU32(pos + 4),
3354
- node = {
3355
- type: 'TSConditionalType',
3356
- checkType: null,
3357
- extendsType: null,
3358
- trueType: null,
3359
- falseType: null,
3360
- start,
3361
- end,
3362
- };
3226
+ let node = {
3227
+ type: 'TSConditionalType',
3228
+ checkType: null,
3229
+ extendsType: null,
3230
+ trueType: null,
3231
+ falseType: null,
3232
+ start: deserializeU32(pos),
3233
+ end: deserializeU32(pos + 4),
3234
+ };
3363
3235
  node.checkType = deserializeTSType(pos + 8);
3364
3236
  node.extendsType = deserializeTSType(pos + 24);
3365
3237
  node.trueType = deserializeTSType(pos + 40);
@@ -3368,27 +3240,23 @@ function deserializeTSConditionalType(pos) {
3368
3240
  }
3369
3241
 
3370
3242
  function deserializeTSUnionType(pos) {
3371
- let start = deserializeU32(pos),
3372
- end = deserializeU32(pos + 4),
3373
- node = {
3374
- type: 'TSUnionType',
3375
- types: null,
3376
- start,
3377
- end,
3378
- };
3243
+ let node = {
3244
+ type: 'TSUnionType',
3245
+ types: null,
3246
+ start: deserializeU32(pos),
3247
+ end: deserializeU32(pos + 4),
3248
+ };
3379
3249
  node.types = deserializeVecTSType(pos + 8);
3380
3250
  return node;
3381
3251
  }
3382
3252
 
3383
3253
  function deserializeTSIntersectionType(pos) {
3384
- let start = deserializeU32(pos),
3385
- end = deserializeU32(pos + 4),
3386
- node = {
3387
- type: 'TSIntersectionType',
3388
- types: null,
3389
- start,
3390
- end,
3391
- };
3254
+ let node = {
3255
+ type: 'TSIntersectionType',
3256
+ types: null,
3257
+ start: deserializeU32(pos),
3258
+ end: deserializeU32(pos + 4),
3259
+ };
3392
3260
  node.types = deserializeVecTSType(pos + 8);
3393
3261
  return node;
3394
3262
  }
@@ -3433,42 +3301,36 @@ function deserializeTSTypeOperatorOperator(pos) {
3433
3301
  }
3434
3302
 
3435
3303
  function deserializeTSArrayType(pos) {
3436
- let start = deserializeU32(pos),
3437
- end = deserializeU32(pos + 4),
3438
- node = {
3439
- type: 'TSArrayType',
3440
- elementType: null,
3441
- start,
3442
- end,
3443
- };
3304
+ let node = {
3305
+ type: 'TSArrayType',
3306
+ elementType: null,
3307
+ start: deserializeU32(pos),
3308
+ end: deserializeU32(pos + 4),
3309
+ };
3444
3310
  node.elementType = deserializeTSType(pos + 8);
3445
3311
  return node;
3446
3312
  }
3447
3313
 
3448
3314
  function deserializeTSIndexedAccessType(pos) {
3449
- let start = deserializeU32(pos),
3450
- end = deserializeU32(pos + 4),
3451
- node = {
3452
- type: 'TSIndexedAccessType',
3453
- objectType: null,
3454
- indexType: null,
3455
- start,
3456
- end,
3457
- };
3315
+ let node = {
3316
+ type: 'TSIndexedAccessType',
3317
+ objectType: null,
3318
+ indexType: null,
3319
+ start: deserializeU32(pos),
3320
+ end: deserializeU32(pos + 4),
3321
+ };
3458
3322
  node.objectType = deserializeTSType(pos + 8);
3459
3323
  node.indexType = deserializeTSType(pos + 24);
3460
3324
  return node;
3461
3325
  }
3462
3326
 
3463
3327
  function deserializeTSTupleType(pos) {
3464
- let start = deserializeU32(pos),
3465
- end = deserializeU32(pos + 4),
3466
- node = {
3467
- type: 'TSTupleType',
3468
- elementTypes: null,
3469
- start,
3470
- end,
3471
- };
3328
+ let node = {
3329
+ type: 'TSTupleType',
3330
+ elementTypes: null,
3331
+ start: deserializeU32(pos),
3332
+ end: deserializeU32(pos + 4),
3333
+ };
3472
3334
  node.elementTypes = deserializeVecTSTupleElement(pos + 8);
3473
3335
  return node;
3474
3336
  }
@@ -3490,27 +3352,23 @@ function deserializeTSNamedTupleMember(pos) {
3490
3352
  }
3491
3353
 
3492
3354
  function deserializeTSOptionalType(pos) {
3493
- let start = deserializeU32(pos),
3494
- end = deserializeU32(pos + 4),
3495
- node = {
3496
- type: 'TSOptionalType',
3497
- typeAnnotation: null,
3498
- start,
3499
- end,
3500
- };
3355
+ let node = {
3356
+ type: 'TSOptionalType',
3357
+ typeAnnotation: null,
3358
+ start: deserializeU32(pos),
3359
+ end: deserializeU32(pos + 4),
3360
+ };
3501
3361
  node.typeAnnotation = deserializeTSType(pos + 8);
3502
3362
  return node;
3503
3363
  }
3504
3364
 
3505
3365
  function deserializeTSRestType(pos) {
3506
- let start = deserializeU32(pos),
3507
- end = deserializeU32(pos + 4),
3508
- node = {
3509
- type: 'TSRestType',
3510
- typeAnnotation: null,
3511
- start,
3512
- end,
3513
- };
3366
+ let node = {
3367
+ type: 'TSRestType',
3368
+ typeAnnotation: null,
3369
+ start: deserializeU32(pos),
3370
+ end: deserializeU32(pos + 4),
3371
+ };
3514
3372
  node.typeAnnotation = deserializeTSType(pos + 8);
3515
3373
  return node;
3516
3374
  }
@@ -3601,141 +3459,125 @@ function deserializeTSTupleElement(pos) {
3601
3459
  }
3602
3460
 
3603
3461
  function deserializeTSAnyKeyword(pos) {
3604
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3605
3462
  return {
3606
3463
  type: 'TSAnyKeyword',
3607
- start,
3608
- end,
3464
+ start: deserializeU32(pos),
3465
+ end: deserializeU32(pos + 4),
3609
3466
  };
3610
3467
  }
3611
3468
 
3612
3469
  function deserializeTSStringKeyword(pos) {
3613
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3614
3470
  return {
3615
3471
  type: 'TSStringKeyword',
3616
- start,
3617
- end,
3472
+ start: deserializeU32(pos),
3473
+ end: deserializeU32(pos + 4),
3618
3474
  };
3619
3475
  }
3620
3476
 
3621
3477
  function deserializeTSBooleanKeyword(pos) {
3622
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3623
3478
  return {
3624
3479
  type: 'TSBooleanKeyword',
3625
- start,
3626
- end,
3480
+ start: deserializeU32(pos),
3481
+ end: deserializeU32(pos + 4),
3627
3482
  };
3628
3483
  }
3629
3484
 
3630
3485
  function deserializeTSNumberKeyword(pos) {
3631
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3632
3486
  return {
3633
3487
  type: 'TSNumberKeyword',
3634
- start,
3635
- end,
3488
+ start: deserializeU32(pos),
3489
+ end: deserializeU32(pos + 4),
3636
3490
  };
3637
3491
  }
3638
3492
 
3639
3493
  function deserializeTSNeverKeyword(pos) {
3640
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3641
3494
  return {
3642
3495
  type: 'TSNeverKeyword',
3643
- start,
3644
- end,
3496
+ start: deserializeU32(pos),
3497
+ end: deserializeU32(pos + 4),
3645
3498
  };
3646
3499
  }
3647
3500
 
3648
3501
  function deserializeTSIntrinsicKeyword(pos) {
3649
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3650
3502
  return {
3651
3503
  type: 'TSIntrinsicKeyword',
3652
- start,
3653
- end,
3504
+ start: deserializeU32(pos),
3505
+ end: deserializeU32(pos + 4),
3654
3506
  };
3655
3507
  }
3656
3508
 
3657
3509
  function deserializeTSUnknownKeyword(pos) {
3658
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3659
3510
  return {
3660
3511
  type: 'TSUnknownKeyword',
3661
- start,
3662
- end,
3512
+ start: deserializeU32(pos),
3513
+ end: deserializeU32(pos + 4),
3663
3514
  };
3664
3515
  }
3665
3516
 
3666
3517
  function deserializeTSNullKeyword(pos) {
3667
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3668
3518
  return {
3669
3519
  type: 'TSNullKeyword',
3670
- start,
3671
- end,
3520
+ start: deserializeU32(pos),
3521
+ end: deserializeU32(pos + 4),
3672
3522
  };
3673
3523
  }
3674
3524
 
3675
3525
  function deserializeTSUndefinedKeyword(pos) {
3676
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3677
3526
  return {
3678
3527
  type: 'TSUndefinedKeyword',
3679
- start,
3680
- end,
3528
+ start: deserializeU32(pos),
3529
+ end: deserializeU32(pos + 4),
3681
3530
  };
3682
3531
  }
3683
3532
 
3684
3533
  function deserializeTSVoidKeyword(pos) {
3685
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3686
3534
  return {
3687
3535
  type: 'TSVoidKeyword',
3688
- start,
3689
- end,
3536
+ start: deserializeU32(pos),
3537
+ end: deserializeU32(pos + 4),
3690
3538
  };
3691
3539
  }
3692
3540
 
3693
3541
  function deserializeTSSymbolKeyword(pos) {
3694
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3695
3542
  return {
3696
3543
  type: 'TSSymbolKeyword',
3697
- start,
3698
- end,
3544
+ start: deserializeU32(pos),
3545
+ end: deserializeU32(pos + 4),
3699
3546
  };
3700
3547
  }
3701
3548
 
3702
3549
  function deserializeTSThisType(pos) {
3703
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3704
3550
  return {
3705
3551
  type: 'TSThisType',
3706
- start,
3707
- end,
3552
+ start: deserializeU32(pos),
3553
+ end: deserializeU32(pos + 4),
3708
3554
  };
3709
3555
  }
3710
3556
 
3711
3557
  function deserializeTSObjectKeyword(pos) {
3712
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3713
3558
  return {
3714
3559
  type: 'TSObjectKeyword',
3715
- start,
3716
- end,
3560
+ start: deserializeU32(pos),
3561
+ end: deserializeU32(pos + 4),
3717
3562
  };
3718
3563
  }
3719
3564
 
3720
3565
  function deserializeTSBigIntKeyword(pos) {
3721
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
3722
3566
  return {
3723
3567
  type: 'TSBigIntKeyword',
3724
- start,
3725
- end,
3568
+ start: deserializeU32(pos),
3569
+ end: deserializeU32(pos + 4),
3726
3570
  };
3727
3571
  }
3728
3572
 
3729
3573
  function deserializeTSTypeReference(pos) {
3730
- let start = deserializeU32(pos),
3731
- end = deserializeU32(pos + 4),
3732
- node = {
3733
- type: 'TSTypeReference',
3734
- typeName: null,
3735
- typeArguments: null,
3736
- start,
3737
- end,
3738
- };
3574
+ let node = {
3575
+ type: 'TSTypeReference',
3576
+ typeName: null,
3577
+ typeArguments: null,
3578
+ start: deserializeU32(pos),
3579
+ end: deserializeU32(pos + 4),
3580
+ };
3739
3581
  node.typeName = deserializeTSTypeName(pos + 8);
3740
3582
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
3741
3583
  return node;
@@ -3754,30 +3596,26 @@ function deserializeTSTypeName(pos) {
3754
3596
  }
3755
3597
  }
3756
3598
 
3757
- function deserializeTSQualifiedName(pos) {
3758
- let start = deserializeU32(pos),
3759
- end = deserializeU32(pos + 4),
3760
- node = {
3761
- type: 'TSQualifiedName',
3762
- left: null,
3763
- right: null,
3764
- start,
3765
- end,
3766
- };
3599
+ function deserializeTSQualifiedName(pos) {
3600
+ let node = {
3601
+ type: 'TSQualifiedName',
3602
+ left: null,
3603
+ right: null,
3604
+ start: deserializeU32(pos),
3605
+ end: deserializeU32(pos + 4),
3606
+ };
3767
3607
  node.left = deserializeTSTypeName(pos + 8);
3768
3608
  node.right = deserializeIdentifierName(pos + 24);
3769
3609
  return node;
3770
3610
  }
3771
3611
 
3772
3612
  function deserializeTSTypeParameterInstantiation(pos) {
3773
- let start = deserializeU32(pos),
3774
- end = deserializeU32(pos + 4),
3775
- node = {
3776
- type: 'TSTypeParameterInstantiation',
3777
- params: null,
3778
- start,
3779
- end,
3780
- };
3613
+ let node = {
3614
+ type: 'TSTypeParameterInstantiation',
3615
+ params: null,
3616
+ start: deserializeU32(pos),
3617
+ end: deserializeU32(pos + 4),
3618
+ };
3781
3619
  node.params = deserializeVecTSType(pos + 8);
3782
3620
  return node;
3783
3621
  }
@@ -3803,14 +3641,12 @@ function deserializeTSTypeParameter(pos) {
3803
3641
  }
3804
3642
 
3805
3643
  function deserializeTSTypeParameterDeclaration(pos) {
3806
- let start = deserializeU32(pos),
3807
- end = deserializeU32(pos + 4),
3808
- node = {
3809
- type: 'TSTypeParameterDeclaration',
3810
- params: null,
3811
- start,
3812
- end,
3813
- };
3644
+ let node = {
3645
+ type: 'TSTypeParameterDeclaration',
3646
+ params: null,
3647
+ start: deserializeU32(pos),
3648
+ end: deserializeU32(pos + 4),
3649
+ };
3814
3650
  node.params = deserializeVecTSTypeParameter(pos + 8);
3815
3651
  return node;
3816
3652
  }
@@ -3847,14 +3683,12 @@ function deserializeTSAccessibility(pos) {
3847
3683
  }
3848
3684
 
3849
3685
  function deserializeTSClassImplements(pos) {
3850
- let start = deserializeU32(pos),
3851
- end = deserializeU32(pos + 4),
3852
- node = {
3686
+ let node = {
3853
3687
  type: 'TSClassImplements',
3854
3688
  expression: null,
3855
3689
  typeArguments: null,
3856
- start,
3857
- end,
3690
+ start: deserializeU32(pos),
3691
+ end: deserializeU32(pos + 4),
3858
3692
  },
3859
3693
  expression = deserializeTSTypeName(pos + 8);
3860
3694
  if (expression.type === 'TSQualifiedName') {
@@ -3909,14 +3743,12 @@ function deserializeTSInterfaceDeclaration(pos) {
3909
3743
  }
3910
3744
 
3911
3745
  function deserializeTSInterfaceBody(pos) {
3912
- let start = deserializeU32(pos),
3913
- end = deserializeU32(pos + 4),
3914
- node = {
3915
- type: 'TSInterfaceBody',
3916
- body: null,
3917
- start,
3918
- end,
3919
- };
3746
+ let node = {
3747
+ type: 'TSInterfaceBody',
3748
+ body: null,
3749
+ start: deserializeU32(pos),
3750
+ end: deserializeU32(pos + 4),
3751
+ };
3920
3752
  node.body = deserializeVecTSSignature(pos + 8);
3921
3753
  return node;
3922
3754
  }
@@ -3980,15 +3812,13 @@ function deserializeTSIndexSignature(pos) {
3980
3812
  }
3981
3813
 
3982
3814
  function deserializeTSCallSignatureDeclaration(pos) {
3983
- let start = deserializeU32(pos),
3984
- end = deserializeU32(pos + 4),
3985
- node = {
3815
+ let node = {
3986
3816
  type: 'TSCallSignatureDeclaration',
3987
3817
  typeParameters: null,
3988
3818
  params: null,
3989
3819
  returnType: null,
3990
- start,
3991
- end,
3820
+ start: deserializeU32(pos),
3821
+ end: deserializeU32(pos + 4),
3992
3822
  },
3993
3823
  params = deserializeBoxFormalParameters(pos + 24),
3994
3824
  thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
@@ -4044,16 +3874,14 @@ function deserializeTSMethodSignature(pos) {
4044
3874
  }
4045
3875
 
4046
3876
  function deserializeTSConstructSignatureDeclaration(pos) {
4047
- let start = deserializeU32(pos),
4048
- end = deserializeU32(pos + 4),
4049
- node = {
4050
- type: 'TSConstructSignatureDeclaration',
4051
- typeParameters: null,
4052
- params: null,
4053
- returnType: null,
4054
- start,
4055
- end,
4056
- };
3877
+ let node = {
3878
+ type: 'TSConstructSignatureDeclaration',
3879
+ typeParameters: null,
3880
+ params: null,
3881
+ returnType: null,
3882
+ start: deserializeU32(pos),
3883
+ end: deserializeU32(pos + 4),
3884
+ };
4057
3885
  node.typeParameters = deserializeOptionBoxTSTypeParameterDeclaration(pos + 8);
4058
3886
  node.params = deserializeBoxFormalParameters(pos + 16);
4059
3887
  node.returnType = deserializeOptionBoxTSTypeAnnotation(pos + 24);
@@ -4079,15 +3907,13 @@ function deserializeTSIndexSignatureName(pos) {
4079
3907
  }
4080
3908
 
4081
3909
  function deserializeTSInterfaceHeritage(pos) {
4082
- let start = deserializeU32(pos),
4083
- end = deserializeU32(pos + 4),
4084
- node = {
4085
- type: 'TSInterfaceHeritage',
4086
- expression: null,
4087
- typeArguments: null,
4088
- start,
4089
- end,
4090
- };
3910
+ let node = {
3911
+ type: 'TSInterfaceHeritage',
3912
+ expression: null,
3913
+ typeArguments: null,
3914
+ start: deserializeU32(pos),
3915
+ end: deserializeU32(pos + 4),
3916
+ };
4091
3917
  node.expression = deserializeExpression(pos + 8);
4092
3918
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4093
3919
  return node;
@@ -4226,13 +4052,11 @@ function deserializeTSModuleDeclarationBody(pos) {
4226
4052
  }
4227
4053
 
4228
4054
  function deserializeTSModuleBlock(pos) {
4229
- let start = deserializeU32(pos),
4230
- end = deserializeU32(pos + 4),
4231
- node = {
4055
+ let node = {
4232
4056
  type: 'TSModuleBlock',
4233
4057
  body: null,
4234
- start,
4235
- end,
4058
+ start: deserializeU32(pos),
4059
+ end: deserializeU32(pos + 4),
4236
4060
  },
4237
4061
  body = deserializeVecDirective(pos + 8);
4238
4062
  body.push(...deserializeVecStatement(pos + 32));
@@ -4241,41 +4065,35 @@ function deserializeTSModuleBlock(pos) {
4241
4065
  }
4242
4066
 
4243
4067
  function deserializeTSTypeLiteral(pos) {
4244
- let start = deserializeU32(pos),
4245
- end = deserializeU32(pos + 4),
4246
- node = {
4247
- type: 'TSTypeLiteral',
4248
- members: null,
4249
- start,
4250
- end,
4251
- };
4068
+ let node = {
4069
+ type: 'TSTypeLiteral',
4070
+ members: null,
4071
+ start: deserializeU32(pos),
4072
+ end: deserializeU32(pos + 4),
4073
+ };
4252
4074
  node.members = deserializeVecTSSignature(pos + 8);
4253
4075
  return node;
4254
4076
  }
4255
4077
 
4256
4078
  function deserializeTSInferType(pos) {
4257
- let start = deserializeU32(pos),
4258
- end = deserializeU32(pos + 4),
4259
- node = {
4260
- type: 'TSInferType',
4261
- typeParameter: null,
4262
- start,
4263
- end,
4264
- };
4079
+ let node = {
4080
+ type: 'TSInferType',
4081
+ typeParameter: null,
4082
+ start: deserializeU32(pos),
4083
+ end: deserializeU32(pos + 4),
4084
+ };
4265
4085
  node.typeParameter = deserializeBoxTSTypeParameter(pos + 8);
4266
4086
  return node;
4267
4087
  }
4268
4088
 
4269
4089
  function deserializeTSTypeQuery(pos) {
4270
- let start = deserializeU32(pos),
4271
- end = deserializeU32(pos + 4),
4272
- node = {
4273
- type: 'TSTypeQuery',
4274
- exprName: null,
4275
- typeArguments: null,
4276
- start,
4277
- end,
4278
- };
4090
+ let node = {
4091
+ type: 'TSTypeQuery',
4092
+ exprName: null,
4093
+ typeArguments: null,
4094
+ start: deserializeU32(pos),
4095
+ end: deserializeU32(pos + 4),
4096
+ };
4279
4097
  node.exprName = deserializeTSTypeQueryExprName(pos + 8);
4280
4098
  node.typeArguments = deserializeOptionBoxTSTypeParameterInstantiation(pos + 24);
4281
4099
  return node;
@@ -4297,17 +4115,15 @@ function deserializeTSTypeQueryExprName(pos) {
4297
4115
  }
4298
4116
 
4299
4117
  function deserializeTSImportType(pos) {
4300
- let start = deserializeU32(pos),
4301
- end = deserializeU32(pos + 4),
4302
- node = {
4303
- type: 'TSImportType',
4304
- argument: null,
4305
- options: null,
4306
- qualifier: null,
4307
- typeArguments: null,
4308
- start,
4309
- end,
4310
- };
4118
+ let node = {
4119
+ type: 'TSImportType',
4120
+ argument: null,
4121
+ options: null,
4122
+ qualifier: null,
4123
+ typeArguments: null,
4124
+ start: deserializeU32(pos),
4125
+ end: deserializeU32(pos + 4),
4126
+ };
4311
4127
  node.argument = deserializeTSType(pos + 8);
4312
4128
  node.options = deserializeOptionBoxObjectExpression(pos + 24);
4313
4129
  node.qualifier = deserializeOptionTSImportTypeQualifier(pos + 32);
@@ -4327,30 +4143,26 @@ function deserializeTSImportTypeQualifier(pos) {
4327
4143
  }
4328
4144
 
4329
4145
  function deserializeTSImportTypeQualifiedName(pos) {
4330
- let start = deserializeU32(pos),
4331
- end = deserializeU32(pos + 4),
4332
- node = {
4333
- type: 'TSQualifiedName',
4334
- left: null,
4335
- right: null,
4336
- start,
4337
- end,
4338
- };
4146
+ let node = {
4147
+ type: 'TSQualifiedName',
4148
+ left: null,
4149
+ right: null,
4150
+ start: deserializeU32(pos),
4151
+ end: deserializeU32(pos + 4),
4152
+ };
4339
4153
  node.left = deserializeTSImportTypeQualifier(pos + 8);
4340
4154
  node.right = deserializeIdentifierName(pos + 24);
4341
4155
  return node;
4342
4156
  }
4343
4157
 
4344
4158
  function deserializeTSFunctionType(pos) {
4345
- let start = deserializeU32(pos),
4346
- end = deserializeU32(pos + 4),
4347
- node = {
4159
+ let node = {
4348
4160
  type: 'TSFunctionType',
4349
4161
  typeParameters: null,
4350
4162
  params: null,
4351
4163
  returnType: null,
4352
- start,
4353
- end,
4164
+ start: deserializeU32(pos),
4165
+ end: deserializeU32(pos + 4),
4354
4166
  },
4355
4167
  params = deserializeBoxFormalParameters(pos + 24),
4356
4168
  thisParam = deserializeOptionBoxTSThisParameter(pos + 16);
@@ -4420,60 +4232,52 @@ function deserializeTSMappedTypeModifierOperator(pos) {
4420
4232
  }
4421
4233
 
4422
4234
  function deserializeTSTemplateLiteralType(pos) {
4423
- let start = deserializeU32(pos),
4424
- end = deserializeU32(pos + 4),
4425
- node = {
4426
- type: 'TSTemplateLiteralType',
4427
- quasis: null,
4428
- types: null,
4429
- start,
4430
- end,
4431
- };
4235
+ let node = {
4236
+ type: 'TSTemplateLiteralType',
4237
+ quasis: null,
4238
+ types: null,
4239
+ start: deserializeU32(pos),
4240
+ end: deserializeU32(pos + 4),
4241
+ };
4432
4242
  node.quasis = deserializeVecTemplateElement(pos + 8);
4433
4243
  node.types = deserializeVecTSType(pos + 32);
4434
4244
  return node;
4435
4245
  }
4436
4246
 
4437
4247
  function deserializeTSAsExpression(pos) {
4438
- let start = deserializeU32(pos),
4439
- end = deserializeU32(pos + 4),
4440
- node = {
4441
- type: 'TSAsExpression',
4442
- expression: null,
4443
- typeAnnotation: null,
4444
- start,
4445
- end,
4446
- };
4248
+ let node = {
4249
+ type: 'TSAsExpression',
4250
+ expression: null,
4251
+ typeAnnotation: null,
4252
+ start: deserializeU32(pos),
4253
+ end: deserializeU32(pos + 4),
4254
+ };
4447
4255
  node.expression = deserializeExpression(pos + 8);
4448
4256
  node.typeAnnotation = deserializeTSType(pos + 24);
4449
4257
  return node;
4450
4258
  }
4451
4259
 
4452
4260
  function deserializeTSSatisfiesExpression(pos) {
4453
- let start = deserializeU32(pos),
4454
- end = deserializeU32(pos + 4),
4455
- node = {
4456
- type: 'TSSatisfiesExpression',
4457
- expression: null,
4458
- typeAnnotation: null,
4459
- start,
4460
- end,
4461
- };
4261
+ let node = {
4262
+ type: 'TSSatisfiesExpression',
4263
+ expression: null,
4264
+ typeAnnotation: null,
4265
+ start: deserializeU32(pos),
4266
+ end: deserializeU32(pos + 4),
4267
+ };
4462
4268
  node.expression = deserializeExpression(pos + 8);
4463
4269
  node.typeAnnotation = deserializeTSType(pos + 24);
4464
4270
  return node;
4465
4271
  }
4466
4272
 
4467
4273
  function deserializeTSTypeAssertion(pos) {
4468
- let start = deserializeU32(pos),
4469
- end = deserializeU32(pos + 4),
4470
- node = {
4471
- type: 'TSTypeAssertion',
4472
- typeAnnotation: null,
4473
- expression: null,
4474
- start,
4475
- end,
4476
- };
4274
+ let node = {
4275
+ type: 'TSTypeAssertion',
4276
+ typeAnnotation: null,
4277
+ expression: null,
4278
+ start: deserializeU32(pos),
4279
+ end: deserializeU32(pos + 4),
4280
+ };
4477
4281
  node.typeAnnotation = deserializeTSType(pos + 8);
4478
4282
  node.expression = deserializeExpression(pos + 24);
4479
4283
  return node;
@@ -4511,80 +4315,68 @@ function deserializeTSModuleReference(pos) {
4511
4315
  }
4512
4316
 
4513
4317
  function deserializeTSExternalModuleReference(pos) {
4514
- let start = deserializeU32(pos),
4515
- end = deserializeU32(pos + 4),
4516
- node = {
4517
- type: 'TSExternalModuleReference',
4518
- expression: null,
4519
- start,
4520
- end,
4521
- };
4318
+ let node = {
4319
+ type: 'TSExternalModuleReference',
4320
+ expression: null,
4321
+ start: deserializeU32(pos),
4322
+ end: deserializeU32(pos + 4),
4323
+ };
4522
4324
  node.expression = deserializeStringLiteral(pos + 8);
4523
4325
  return node;
4524
4326
  }
4525
4327
 
4526
4328
  function deserializeTSNonNullExpression(pos) {
4527
- let start = deserializeU32(pos),
4528
- end = deserializeU32(pos + 4),
4529
- node = {
4530
- type: 'TSNonNullExpression',
4531
- expression: null,
4532
- start,
4533
- end,
4534
- };
4329
+ let node = {
4330
+ type: 'TSNonNullExpression',
4331
+ expression: null,
4332
+ start: deserializeU32(pos),
4333
+ end: deserializeU32(pos + 4),
4334
+ };
4535
4335
  node.expression = deserializeExpression(pos + 8);
4536
4336
  return node;
4537
4337
  }
4538
4338
 
4539
4339
  function deserializeDecorator(pos) {
4540
- let start = deserializeU32(pos),
4541
- end = deserializeU32(pos + 4),
4542
- node = {
4543
- type: 'Decorator',
4544
- expression: null,
4545
- start,
4546
- end,
4547
- };
4340
+ let node = {
4341
+ type: 'Decorator',
4342
+ expression: null,
4343
+ start: deserializeU32(pos),
4344
+ end: deserializeU32(pos + 4),
4345
+ };
4548
4346
  node.expression = deserializeExpression(pos + 8);
4549
4347
  return node;
4550
4348
  }
4551
4349
 
4552
4350
  function deserializeTSExportAssignment(pos) {
4553
- let start = deserializeU32(pos),
4554
- end = deserializeU32(pos + 4),
4555
- node = {
4556
- type: 'TSExportAssignment',
4557
- expression: null,
4558
- start,
4559
- end,
4560
- };
4351
+ let node = {
4352
+ type: 'TSExportAssignment',
4353
+ expression: null,
4354
+ start: deserializeU32(pos),
4355
+ end: deserializeU32(pos + 4),
4356
+ };
4561
4357
  node.expression = deserializeExpression(pos + 8);
4562
4358
  return node;
4563
4359
  }
4564
4360
 
4565
4361
  function deserializeTSNamespaceExportDeclaration(pos) {
4566
- let start = deserializeU32(pos),
4567
- end = deserializeU32(pos + 4),
4568
- node = {
4569
- type: 'TSNamespaceExportDeclaration',
4570
- id: null,
4571
- start,
4572
- end,
4573
- };
4362
+ let node = {
4363
+ type: 'TSNamespaceExportDeclaration',
4364
+ id: null,
4365
+ start: deserializeU32(pos),
4366
+ end: deserializeU32(pos + 4),
4367
+ };
4574
4368
  node.id = deserializeIdentifierName(pos + 8);
4575
4369
  return node;
4576
4370
  }
4577
4371
 
4578
4372
  function deserializeTSInstantiationExpression(pos) {
4579
- let start = deserializeU32(pos),
4580
- end = deserializeU32(pos + 4),
4581
- node = {
4582
- type: 'TSInstantiationExpression',
4583
- expression: null,
4584
- typeArguments: null,
4585
- start,
4586
- end,
4587
- };
4373
+ let node = {
4374
+ type: 'TSInstantiationExpression',
4375
+ expression: null,
4376
+ typeArguments: null,
4377
+ start: deserializeU32(pos),
4378
+ end: deserializeU32(pos + 4),
4379
+ };
4588
4380
  node.expression = deserializeExpression(pos + 8);
4589
4381
  node.typeArguments = deserializeBoxTSTypeParameterInstantiation(pos + 24);
4590
4382
  return node;
@@ -4630,11 +4422,10 @@ function deserializeJSDocNonNullableType(pos) {
4630
4422
  }
4631
4423
 
4632
4424
  function deserializeJSDocUnknownType(pos) {
4633
- let start = deserializeU32(pos), end = deserializeU32(pos + 4);
4634
4425
  return {
4635
4426
  type: 'TSJSDocUnknownType',
4636
- start,
4637
- end,
4427
+ start: deserializeU32(pos),
4428
+ end: deserializeU32(pos + 4),
4638
4429
  };
4639
4430
  }
4640
4431