meriyah 7.1.1 → 7.2.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.
- package/CHANGELOG.md +25 -0
- package/README.md +2 -3
- package/dist/meriyah.cjs +397 -156
- package/dist/meriyah.min.mjs +1 -1
- package/dist/meriyah.mjs +397 -156
- package/dist/meriyah.umd.js +397 -156
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/types/common.d.ts +2 -2
- package/dist/types/errors.d.ts +2 -2
- package/dist/types/estree.d.ts +1 -1
- package/dist/types/lexer/comments.d.ts +3 -3
- package/dist/types/lexer/common.d.ts +2 -2
- package/dist/types/lexer/identifier.d.ts +3 -3
- package/dist/types/lexer/index.d.ts +3 -3
- package/dist/types/lexer/jsx.d.ts +3 -3
- package/dist/types/lexer/numeric.d.ts +4 -4
- package/dist/types/lexer/regexp.d.ts +2 -2
- package/dist/types/lexer/scan.d.ts +4 -4
- package/dist/types/lexer/string.d.ts +3 -3
- package/dist/types/lexer/template.d.ts +3 -3
- package/dist/types/meriyah.d.ts +6 -6
- package/dist/types/options.d.ts +3 -3
- package/dist/types/parser/parser.d.ts +7 -7
- package/dist/types/parser/private-scope.d.ts +2 -2
- package/dist/types/parser/scope.d.ts +3 -3
- package/dist/types/parser.d.ts +3 -3
- package/dist/types/token.d.ts +22 -21
- package/package.json +2 -1
package/dist/meriyah.mjs
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
|
-
var version$1 = "7.
|
|
1
|
+
var version$1 = "7.2.0";
|
|
2
|
+
var packageJson = {
|
|
3
|
+
version: version$1};
|
|
2
4
|
|
|
3
5
|
const unicodeLookup = ((compressed, lookup) => {
|
|
4
6
|
const result = new Uint32Array(69632);
|
|
@@ -484,7 +486,7 @@ function convertTokenType(t) {
|
|
|
484
486
|
return 'RegularExpression';
|
|
485
487
|
case 67174408:
|
|
486
488
|
case 67174409:
|
|
487
|
-
case
|
|
489
|
+
case 132:
|
|
488
490
|
return 'TemplateLiteral';
|
|
489
491
|
default:
|
|
490
492
|
if ((t & 143360) === 143360)
|
|
@@ -792,7 +794,7 @@ class ParseError extends SyntaxError {
|
|
|
792
794
|
loc;
|
|
793
795
|
description;
|
|
794
796
|
constructor(start, end, type, ...params) {
|
|
795
|
-
const description = errorMessages[type].
|
|
797
|
+
const description = errorMessages[type].replaceAll(/%(\d+)/g, (_, i) => params[i]);
|
|
796
798
|
const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
|
|
797
799
|
super(message);
|
|
798
800
|
this.start = start.index;
|
|
@@ -827,7 +829,7 @@ const KeywordDescTable = [
|
|
|
827
829
|
'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',
|
|
828
830
|
'this', 'throw', 'try', 'while', 'with',
|
|
829
831
|
'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',
|
|
830
|
-
'as', 'async', 'await', 'constructor', 'get', 'set', 'accessor', 'from', 'of',
|
|
832
|
+
'as', 'async', 'await', 'constructor', 'get', 'set', 'accessor', 'from', 'of', 'using',
|
|
831
833
|
'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',
|
|
832
834
|
'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',
|
|
833
835
|
'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'
|
|
@@ -874,6 +876,7 @@ const descKeywordTable = {
|
|
|
874
876
|
let: 241737,
|
|
875
877
|
null: 86023,
|
|
876
878
|
of: 471156,
|
|
879
|
+
using: 209013,
|
|
877
880
|
package: 36966,
|
|
878
881
|
private: 36967,
|
|
879
882
|
protected: 36968,
|
|
@@ -884,12 +887,12 @@ const descKeywordTable = {
|
|
|
884
887
|
true: 86022,
|
|
885
888
|
with: 20579,
|
|
886
889
|
yield: 241771,
|
|
887
|
-
enum:
|
|
888
|
-
eval:
|
|
890
|
+
enum: 86134,
|
|
891
|
+
eval: 537079927,
|
|
889
892
|
as: 77932,
|
|
890
|
-
arguments:
|
|
891
|
-
target:
|
|
892
|
-
meta:
|
|
893
|
+
arguments: 537079928,
|
|
894
|
+
target: 209030,
|
|
895
|
+
meta: 209031,
|
|
893
896
|
accessor: 12402,
|
|
894
897
|
};
|
|
895
898
|
|
|
@@ -951,24 +954,24 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
|
|
|
951
954
|
if ((context & (2 | 2048)) === 0) {
|
|
952
955
|
return token | -2147483648;
|
|
953
956
|
}
|
|
954
|
-
return -
|
|
957
|
+
return -2147483527;
|
|
955
958
|
}
|
|
956
959
|
if (context & 1) {
|
|
957
960
|
if (token === 36970) {
|
|
958
|
-
return -
|
|
961
|
+
return -2147483526;
|
|
959
962
|
}
|
|
960
963
|
if ((token & 36864) === 36864) {
|
|
961
|
-
return -
|
|
964
|
+
return -2147483526;
|
|
962
965
|
}
|
|
963
966
|
if ((token & 20480) === 20480) {
|
|
964
967
|
if (context & 262144 && (context & 8) === 0) {
|
|
965
968
|
return token | -2147483648;
|
|
966
969
|
}
|
|
967
970
|
else {
|
|
968
|
-
return -
|
|
971
|
+
return -2147483527;
|
|
969
972
|
}
|
|
970
973
|
}
|
|
971
|
-
return
|
|
974
|
+
return 209019 | -2147483648;
|
|
972
975
|
}
|
|
973
976
|
if (context & 262144 &&
|
|
974
977
|
(context & 8) === 0 &&
|
|
@@ -977,31 +980,31 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
|
|
|
977
980
|
}
|
|
978
981
|
if (token === 241771) {
|
|
979
982
|
return context & 262144
|
|
980
|
-
?
|
|
983
|
+
? 209019 | -2147483648
|
|
981
984
|
: context & 1024
|
|
982
|
-
? -
|
|
985
|
+
? -2147483527
|
|
983
986
|
: token | -2147483648;
|
|
984
987
|
}
|
|
985
988
|
if (token === 209005) {
|
|
986
|
-
return
|
|
989
|
+
return 209019 | -2147483648;
|
|
987
990
|
}
|
|
988
991
|
if ((token & 36864) === 36864) {
|
|
989
992
|
return token | 12288 | -2147483648;
|
|
990
993
|
}
|
|
991
|
-
return -
|
|
994
|
+
return -2147483527;
|
|
992
995
|
}
|
|
993
996
|
return 208897 | (hasEscape ? -2147483648 : 0);
|
|
994
997
|
}
|
|
995
998
|
function scanPrivateIdentifier(parser) {
|
|
996
999
|
let char = advanceChar(parser);
|
|
997
1000
|
if (char === 92)
|
|
998
|
-
return
|
|
1001
|
+
return 131;
|
|
999
1002
|
const merged = consumePossibleSurrogatePair(parser);
|
|
1000
1003
|
if (merged)
|
|
1001
1004
|
char = merged;
|
|
1002
1005
|
if (!isIdentifierStart(char))
|
|
1003
1006
|
parser.report(96);
|
|
1004
|
-
return
|
|
1007
|
+
return 131;
|
|
1005
1008
|
}
|
|
1006
1009
|
function scanIdentifierUnicodeEscape(parser) {
|
|
1007
1010
|
if (parser.source.charCodeAt(parser.index + 1) !== 117) {
|
|
@@ -1207,7 +1210,7 @@ function scanNumber(parser, context, kind) {
|
|
|
1207
1210
|
if (isBigInt) {
|
|
1208
1211
|
parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);
|
|
1209
1212
|
parser.tokenValue = BigInt(parser.tokenRaw.slice(0, -1).replaceAll('_', ''));
|
|
1210
|
-
return
|
|
1213
|
+
return 134283389;
|
|
1211
1214
|
}
|
|
1212
1215
|
parser.tokenValue =
|
|
1213
1216
|
kind & (1 | 2 | 8 | 4)
|
|
@@ -1518,12 +1521,14 @@ function parseEscape(parser, context, first, isTemplate = 0) {
|
|
|
1518
1521
|
const ch = advanceChar(parser);
|
|
1519
1522
|
if (parser.currentChar === 123) {
|
|
1520
1523
|
let code = 0;
|
|
1524
|
+
let digits = 0;
|
|
1521
1525
|
while ((CharTypes[advanceChar(parser)] & 64) !== 0) {
|
|
1522
1526
|
code = (code << 4) | toHex(parser.currentChar);
|
|
1523
1527
|
if (code > 1114111)
|
|
1524
1528
|
return -5;
|
|
1529
|
+
digits++;
|
|
1525
1530
|
}
|
|
1526
|
-
if (parser.currentChar < 1 || parser.currentChar !== 125) {
|
|
1531
|
+
if (digits === 0 || parser.currentChar < 1 || parser.currentChar !== 125) {
|
|
1527
1532
|
return -4;
|
|
1528
1533
|
}
|
|
1529
1534
|
return code;
|
|
@@ -1574,6 +1579,7 @@ function scanTemplate(parser, context) {
|
|
|
1574
1579
|
const { index: start } = parser;
|
|
1575
1580
|
let token = 67174409;
|
|
1576
1581
|
let ret = '';
|
|
1582
|
+
let hasCarriageReturn = false;
|
|
1577
1583
|
let char = advanceChar(parser);
|
|
1578
1584
|
while (char !== 96) {
|
|
1579
1585
|
if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {
|
|
@@ -1583,6 +1589,8 @@ function scanTemplate(parser, context) {
|
|
|
1583
1589
|
}
|
|
1584
1590
|
else if (char === 92) {
|
|
1585
1591
|
char = advanceChar(parser);
|
|
1592
|
+
if (char === 13)
|
|
1593
|
+
hasCarriageReturn = true;
|
|
1586
1594
|
if (char > 0x7e) {
|
|
1587
1595
|
ret += String.fromCodePoint(char);
|
|
1588
1596
|
}
|
|
@@ -1597,7 +1605,9 @@ function scanTemplate(parser, context) {
|
|
|
1597
1605
|
parser.line = line;
|
|
1598
1606
|
parser.column = column;
|
|
1599
1607
|
ret = null;
|
|
1600
|
-
char = scanBadTemplate(parser, char)
|
|
1608
|
+
char = scanBadTemplate(parser, char, () => {
|
|
1609
|
+
hasCarriageReturn = true;
|
|
1610
|
+
});
|
|
1601
1611
|
if (char < 0)
|
|
1602
1612
|
token = 67174408;
|
|
1603
1613
|
break;
|
|
@@ -1608,10 +1618,13 @@ function scanTemplate(parser, context) {
|
|
|
1608
1618
|
}
|
|
1609
1619
|
}
|
|
1610
1620
|
else if (parser.index < parser.end) {
|
|
1611
|
-
if (char === 13
|
|
1612
|
-
|
|
1621
|
+
if (char === 13)
|
|
1622
|
+
hasCarriageReturn = true;
|
|
1623
|
+
if (char === 13 && parser.source.charCodeAt(parser.index + 1) === 10) {
|
|
1613
1624
|
parser.currentChar = parser.source.charCodeAt(++parser.index);
|
|
1614
1625
|
}
|
|
1626
|
+
if (char === 13)
|
|
1627
|
+
char = 10;
|
|
1615
1628
|
if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {
|
|
1616
1629
|
parser.column = -1;
|
|
1617
1630
|
parser.line++;
|
|
@@ -1624,12 +1637,16 @@ function scanTemplate(parser, context) {
|
|
|
1624
1637
|
}
|
|
1625
1638
|
advanceChar(parser);
|
|
1626
1639
|
parser.tokenValue = ret;
|
|
1627
|
-
|
|
1640
|
+
const tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));
|
|
1641
|
+
parser.tokenRaw = hasCarriageReturn ? tokenRaw.replaceAll(/\r\n?/g, '\n') : tokenRaw;
|
|
1628
1642
|
return token;
|
|
1629
1643
|
}
|
|
1630
|
-
function scanBadTemplate(parser, ch) {
|
|
1644
|
+
function scanBadTemplate(parser, ch, onCarriageReturn) {
|
|
1631
1645
|
while (ch !== 96) {
|
|
1632
1646
|
switch (ch) {
|
|
1647
|
+
case 13:
|
|
1648
|
+
onCarriageReturn();
|
|
1649
|
+
break;
|
|
1633
1650
|
case 36: {
|
|
1634
1651
|
const index = parser.index + 1;
|
|
1635
1652
|
if (index < parser.end && parser.source.charCodeAt(index) === 123) {
|
|
@@ -1660,42 +1677,42 @@ function scanTemplateTail(parser, context) {
|
|
|
1660
1677
|
}
|
|
1661
1678
|
|
|
1662
1679
|
const TokenLookup = [
|
|
1663
|
-
|
|
1664
|
-
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
128,
|
|
1672
|
-
127,
|
|
1673
|
-
135,
|
|
1674
|
-
127,
|
|
1675
|
-
127,
|
|
1680
|
+
129,
|
|
1681
|
+
129,
|
|
1682
|
+
129,
|
|
1683
|
+
129,
|
|
1684
|
+
129,
|
|
1685
|
+
129,
|
|
1686
|
+
129,
|
|
1687
|
+
129,
|
|
1676
1688
|
129,
|
|
1677
1689
|
128,
|
|
1690
|
+
136,
|
|
1678
1691
|
128,
|
|
1679
1692
|
128,
|
|
1693
|
+
130,
|
|
1694
|
+
129,
|
|
1695
|
+
129,
|
|
1696
|
+
129,
|
|
1697
|
+
129,
|
|
1698
|
+
129,
|
|
1699
|
+
129,
|
|
1700
|
+
129,
|
|
1701
|
+
129,
|
|
1702
|
+
129,
|
|
1703
|
+
129,
|
|
1704
|
+
129,
|
|
1705
|
+
129,
|
|
1706
|
+
129,
|
|
1707
|
+
129,
|
|
1708
|
+
129,
|
|
1709
|
+
129,
|
|
1710
|
+
129,
|
|
1711
|
+
129,
|
|
1680
1712
|
128,
|
|
1681
|
-
128,
|
|
1682
|
-
128,
|
|
1683
|
-
128,
|
|
1684
|
-
128,
|
|
1685
|
-
128,
|
|
1686
|
-
128,
|
|
1687
|
-
128,
|
|
1688
|
-
128,
|
|
1689
|
-
128,
|
|
1690
|
-
128,
|
|
1691
|
-
128,
|
|
1692
|
-
128,
|
|
1693
|
-
128,
|
|
1694
|
-
128,
|
|
1695
|
-
127,
|
|
1696
1713
|
16842798,
|
|
1697
1714
|
134283267,
|
|
1698
|
-
|
|
1715
|
+
131,
|
|
1699
1716
|
208897,
|
|
1700
1717
|
8391477,
|
|
1701
1718
|
8390213,
|
|
@@ -1724,7 +1741,7 @@ const TokenLookup = [
|
|
|
1724
1741
|
1077936155,
|
|
1725
1742
|
8390721,
|
|
1726
1743
|
22,
|
|
1727
|
-
|
|
1744
|
+
133,
|
|
1728
1745
|
208897,
|
|
1729
1746
|
208897,
|
|
1730
1747
|
208897,
|
|
@@ -1752,11 +1769,11 @@ const TokenLookup = [
|
|
|
1752
1769
|
208897,
|
|
1753
1770
|
208897,
|
|
1754
1771
|
69271571,
|
|
1755
|
-
|
|
1772
|
+
137,
|
|
1756
1773
|
20,
|
|
1757
1774
|
8389959,
|
|
1758
1775
|
208897,
|
|
1759
|
-
|
|
1776
|
+
132,
|
|
1760
1777
|
4096,
|
|
1761
1778
|
4096,
|
|
1762
1779
|
4096,
|
|
@@ -1787,7 +1804,7 @@ const TokenLookup = [
|
|
|
1787
1804
|
8389702,
|
|
1788
1805
|
1074790415,
|
|
1789
1806
|
16842799,
|
|
1790
|
-
|
|
1807
|
+
129,
|
|
1791
1808
|
];
|
|
1792
1809
|
function nextToken(parser, context) {
|
|
1793
1810
|
parser.flags = (parser.flags | 1) ^ 1;
|
|
@@ -1817,8 +1834,8 @@ function scanSingleToken(parser, context, state) {
|
|
|
1817
1834
|
case 1074790417:
|
|
1818
1835
|
case 18:
|
|
1819
1836
|
case 16842799:
|
|
1820
|
-
case
|
|
1821
|
-
case
|
|
1837
|
+
case 133:
|
|
1838
|
+
case 129:
|
|
1822
1839
|
advanceChar(parser);
|
|
1823
1840
|
return token;
|
|
1824
1841
|
case 208897:
|
|
@@ -1829,20 +1846,20 @@ function scanSingleToken(parser, context, state) {
|
|
|
1829
1846
|
return scanNumber(parser, context, 16 | 128);
|
|
1830
1847
|
case 134283267:
|
|
1831
1848
|
return scanString(parser, context, char);
|
|
1832
|
-
case
|
|
1849
|
+
case 132:
|
|
1833
1850
|
return scanTemplate(parser, context);
|
|
1834
|
-
case
|
|
1851
|
+
case 137:
|
|
1835
1852
|
return scanUnicodeIdentifier(parser, context);
|
|
1836
|
-
case
|
|
1853
|
+
case 131:
|
|
1837
1854
|
return scanPrivateIdentifier(parser);
|
|
1838
|
-
case
|
|
1855
|
+
case 128:
|
|
1839
1856
|
advanceChar(parser);
|
|
1840
1857
|
break;
|
|
1841
|
-
case
|
|
1858
|
+
case 130:
|
|
1842
1859
|
state |= 1 | 4;
|
|
1843
1860
|
scanNewLine(parser);
|
|
1844
1861
|
break;
|
|
1845
|
-
case
|
|
1862
|
+
case 136:
|
|
1846
1863
|
consumeLineFeed(parser, state);
|
|
1847
1864
|
state = (state & -5) | 1;
|
|
1848
1865
|
break;
|
|
@@ -2065,7 +2082,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2065
2082
|
advanceChar(parser);
|
|
2066
2083
|
return 4718634;
|
|
2067
2084
|
}
|
|
2068
|
-
return
|
|
2085
|
+
return 276824446;
|
|
2069
2086
|
}
|
|
2070
2087
|
if (ch === 46) {
|
|
2071
2088
|
const index = parser.index + 1;
|
|
@@ -2073,7 +2090,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2073
2090
|
ch = source.charCodeAt(index);
|
|
2074
2091
|
if (!(ch >= 48 && ch <= 57)) {
|
|
2075
2092
|
advanceChar(parser);
|
|
2076
|
-
return
|
|
2093
|
+
return 67108991;
|
|
2077
2094
|
}
|
|
2078
2095
|
}
|
|
2079
2096
|
}
|
|
@@ -2181,7 +2198,7 @@ function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {
|
|
|
2181
2198
|
parser.report(119);
|
|
2182
2199
|
}
|
|
2183
2200
|
}
|
|
2184
|
-
if ((t & 20480) === 20480 || t === -
|
|
2201
|
+
if ((t & 20480) === 20480 || t === -2147483527) {
|
|
2185
2202
|
parser.report(102);
|
|
2186
2203
|
}
|
|
2187
2204
|
if (kind & (8 | 16) && (t & 255) === (241737 & 255)) {
|
|
@@ -2202,10 +2219,10 @@ function validateFunctionName(parser, context, t) {
|
|
|
2202
2219
|
if ((t & 537079808) === 537079808) {
|
|
2203
2220
|
parser.report(119);
|
|
2204
2221
|
}
|
|
2205
|
-
if (t === -
|
|
2222
|
+
if (t === -2147483526) {
|
|
2206
2223
|
parser.report(95);
|
|
2207
2224
|
}
|
|
2208
|
-
if (t === -
|
|
2225
|
+
if (t === -2147483527) {
|
|
2209
2226
|
parser.report(95);
|
|
2210
2227
|
}
|
|
2211
2228
|
}
|
|
@@ -2229,7 +2246,7 @@ function isStrictReservedWord(parser, context, t) {
|
|
|
2229
2246
|
parser.report(97, 'yield');
|
|
2230
2247
|
return ((t & 20480) === 20480 ||
|
|
2231
2248
|
(t & 36864) === 36864 ||
|
|
2232
|
-
t == -
|
|
2249
|
+
t == -2147483526);
|
|
2233
2250
|
}
|
|
2234
2251
|
function isPropertyWithPrivateFieldKey(expr) {
|
|
2235
2252
|
return !expr.property ? false : expr.property.type === 'PrivateIdentifier';
|
|
@@ -4444,7 +4461,7 @@ const decodeMap = {
|
|
|
4444
4461
|
'159': 376,
|
|
4445
4462
|
};
|
|
4446
4463
|
function decodeHTMLStrict(text) {
|
|
4447
|
-
return text.
|
|
4464
|
+
return text.replaceAll(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => {
|
|
4448
4465
|
if (key.charAt(1) === '#') {
|
|
4449
4466
|
const secondChar = key.charAt(2);
|
|
4450
4467
|
const codePoint = secondChar === 'X' || secondChar === 'x' ? parseInt(key.slice(3), 16) : parseInt(key.slice(2), 10);
|
|
@@ -4527,7 +4544,7 @@ function nextJSXToken(parser) {
|
|
|
4527
4544
|
if (parser.options.raw)
|
|
4528
4545
|
parser.tokenRaw = raw;
|
|
4529
4546
|
parser.tokenValue = decodeHTMLStrict(raw);
|
|
4530
|
-
parser.setToken(
|
|
4547
|
+
parser.setToken(138);
|
|
4531
4548
|
}
|
|
4532
4549
|
function rescanJSXIdentifier(parser) {
|
|
4533
4550
|
if ((parser.getToken() & 143360) === 143360) {
|
|
@@ -4930,7 +4947,7 @@ function parseSource(source, rawOptions = {}, context = 0) {
|
|
|
4930
4947
|
context |= 1;
|
|
4931
4948
|
skipHashBang(parser);
|
|
4932
4949
|
const scope = parser.createScopeIfLexical();
|
|
4933
|
-
let body
|
|
4950
|
+
let body;
|
|
4934
4951
|
let sourceType = 'script';
|
|
4935
4952
|
if (context & 2) {
|
|
4936
4953
|
sourceType = 'module';
|
|
@@ -4988,7 +5005,7 @@ function parseModuleItemList(parser, context, scope) {
|
|
|
4988
5005
|
return statements;
|
|
4989
5006
|
}
|
|
4990
5007
|
function parseModuleItem(parser, context, scope) {
|
|
4991
|
-
if (parser.getToken() ===
|
|
5008
|
+
if (parser.getToken() === 133) {
|
|
4992
5009
|
Object.assign(parser.leadingDecorators, {
|
|
4993
5010
|
start: parser.tokenStart,
|
|
4994
5011
|
decorators: parseDecorators(parser, context, undefined),
|
|
@@ -5015,13 +5032,21 @@ function parseStatementListItem(parser, context, scope, privateScope, origin, la
|
|
|
5015
5032
|
switch (parser.getToken()) {
|
|
5016
5033
|
case 86104:
|
|
5017
5034
|
return parseFunctionDeclaration(parser, context, scope, privateScope, origin, 1, 0, 0, start);
|
|
5018
|
-
case
|
|
5035
|
+
case 133:
|
|
5019
5036
|
case 86094:
|
|
5020
5037
|
return parseClassDeclaration(parser, context, scope, privateScope, 0);
|
|
5021
5038
|
case 86090:
|
|
5022
5039
|
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, 0);
|
|
5023
5040
|
case 241737:
|
|
5024
5041
|
return parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateScope, origin);
|
|
5042
|
+
case 209013:
|
|
5043
|
+
return parseUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels);
|
|
5044
|
+
case 209006:
|
|
5045
|
+
if ((context & 2048 || (context & 2 && context & 8)) &&
|
|
5046
|
+
nextTokenIsUsingOnSameLine(parser)) {
|
|
5047
|
+
return parseAwaitUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels);
|
|
5048
|
+
}
|
|
5049
|
+
return parseStatement(parser, context, scope, privateScope, origin, labels, 1);
|
|
5025
5050
|
case 20564:
|
|
5026
5051
|
parser.report(103, 'export');
|
|
5027
5052
|
case 86106:
|
|
@@ -5105,15 +5130,18 @@ function parseExpressionOrLabelledStatement(parser, context, scope, privateScope
|
|
|
5105
5130
|
default:
|
|
5106
5131
|
expr = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, parser.tokenStart);
|
|
5107
5132
|
}
|
|
5133
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl, expr, token, tokenValue, tokenStart);
|
|
5134
|
+
}
|
|
5135
|
+
function finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl, initialExpression, token, tokenValue, tokenStart) {
|
|
5108
5136
|
if (token & 143360 && parser.getToken() === 21) {
|
|
5109
|
-
return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue,
|
|
5137
|
+
return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue, initialExpression, token, allowFuncDecl, tokenStart);
|
|
5110
5138
|
}
|
|
5111
|
-
|
|
5112
|
-
|
|
5139
|
+
let expression = parseMemberOrUpdateExpression(parser, context, privateScope, initialExpression, 0, 0, tokenStart);
|
|
5140
|
+
expression = parseAssignmentExpression(parser, context, privateScope, 0, 0, tokenStart, expression);
|
|
5113
5141
|
if (parser.getToken() === 18) {
|
|
5114
|
-
|
|
5142
|
+
expression = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, expression);
|
|
5115
5143
|
}
|
|
5116
|
-
return parseExpressionStatement(parser, context,
|
|
5144
|
+
return parseExpressionStatement(parser, context, expression, tokenStart);
|
|
5117
5145
|
}
|
|
5118
5146
|
function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
|
|
5119
5147
|
const body = [];
|
|
@@ -5302,9 +5330,14 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
|
5302
5330
|
while (parser.getToken() !== 20556 &&
|
|
5303
5331
|
parser.getToken() !== 1074790415 &&
|
|
5304
5332
|
parser.getToken() !== 20561) {
|
|
5305
|
-
|
|
5333
|
+
const statement = parseStatementListItem(parser, context | 4, scope, privateScope, 2, {
|
|
5306
5334
|
$: labels,
|
|
5307
|
-
})
|
|
5335
|
+
});
|
|
5336
|
+
if (statement.type === 'VariableDeclaration' &&
|
|
5337
|
+
(statement.kind === 'using' || statement.kind === 'await using')) {
|
|
5338
|
+
parser.report(30, statement.kind);
|
|
5339
|
+
}
|
|
5340
|
+
consequent.push(statement);
|
|
5308
5341
|
}
|
|
5309
5342
|
cases.push(parser.finishNode({
|
|
5310
5343
|
type: 'SwitchCase',
|
|
@@ -5423,7 +5456,6 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
5423
5456
|
}
|
|
5424
5457
|
function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
5425
5458
|
let param = null;
|
|
5426
|
-
let additionalScope = scope;
|
|
5427
5459
|
if (consumeOpt(parser, context, 67174411)) {
|
|
5428
5460
|
scope = scope?.createChildScope(4);
|
|
5429
5461
|
param = parseBindingPattern(parser, context, scope, privateScope, (parser.getToken() & 2097152) === 2097152
|
|
@@ -5437,7 +5469,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
|
5437
5469
|
}
|
|
5438
5470
|
consume(parser, context | 32, 16);
|
|
5439
5471
|
}
|
|
5440
|
-
additionalScope = scope?.createChildScope(32);
|
|
5472
|
+
const additionalScope = scope?.createChildScope(32);
|
|
5441
5473
|
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
|
|
5442
5474
|
return parser.finishNode({
|
|
5443
5475
|
type: 'CatchClause',
|
|
@@ -5475,7 +5507,8 @@ function parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateS
|
|
|
5475
5507
|
const { tokenValue, tokenStart } = parser;
|
|
5476
5508
|
const token = parser.getToken();
|
|
5477
5509
|
let expr = parseIdentifier(parser, context);
|
|
5478
|
-
if (parser.getToken() & (143360 | 2097152)
|
|
5510
|
+
if (parser.getToken() & (143360 | 2097152) &&
|
|
5511
|
+
(parser.getToken() & 20480) !== 20480) {
|
|
5479
5512
|
const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 8, 0);
|
|
5480
5513
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5481
5514
|
return parser.finishNode({
|
|
@@ -5506,14 +5539,90 @@ function parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateS
|
|
|
5506
5539
|
}
|
|
5507
5540
|
return parseExpressionStatement(parser, context, expr, tokenStart);
|
|
5508
5541
|
}
|
|
5509
|
-
function
|
|
5542
|
+
function nextTokenIsUsingOnSameLine(parser) {
|
|
5543
|
+
const { index: parserIndex, source } = parser;
|
|
5544
|
+
let index = parserIndex;
|
|
5545
|
+
while (index < parser.end) {
|
|
5546
|
+
const char = source.charCodeAt(index);
|
|
5547
|
+
if (char === 0x0a || char === 0x0d || char === 0x2028 || char === 0x2029)
|
|
5548
|
+
return false;
|
|
5549
|
+
if (/\s/u.test(source[index])) {
|
|
5550
|
+
index++;
|
|
5551
|
+
continue;
|
|
5552
|
+
}
|
|
5553
|
+
if (char === 0x2f && source.charCodeAt(index + 1) === 0x2a) {
|
|
5554
|
+
index += 2;
|
|
5555
|
+
while (index < parser.end) {
|
|
5556
|
+
const commentChar = source.charCodeAt(index);
|
|
5557
|
+
if (commentChar === 0x0a || commentChar === 0x0d || commentChar === 0x2028 || commentChar === 0x2029) {
|
|
5558
|
+
return false;
|
|
5559
|
+
}
|
|
5560
|
+
if (commentChar === 0x2a && source.charCodeAt(index + 1) === 0x2f) {
|
|
5561
|
+
index += 2;
|
|
5562
|
+
break;
|
|
5563
|
+
}
|
|
5564
|
+
index++;
|
|
5565
|
+
}
|
|
5566
|
+
continue;
|
|
5567
|
+
}
|
|
5568
|
+
break;
|
|
5569
|
+
}
|
|
5570
|
+
if (source.slice(index, index + 5) !== 'using')
|
|
5571
|
+
return false;
|
|
5572
|
+
const following = source.codePointAt(index + 5);
|
|
5573
|
+
return following === undefined || (following !== 0x5c && !isIdentifierPart(following));
|
|
5574
|
+
}
|
|
5575
|
+
function isResourceBindingStart(token) {
|
|
5576
|
+
return (token & 143360) === 143360 && (token & 20480) !== 20480;
|
|
5577
|
+
}
|
|
5578
|
+
function parseUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels) {
|
|
5579
|
+
const { tokenStart, tokenValue } = parser;
|
|
5580
|
+
const token = parser.getToken();
|
|
5581
|
+
const expression = parseIdentifier(parser, context);
|
|
5582
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5583
|
+
if (origin & 4 && context & 8 && (context & 2) === 0) {
|
|
5584
|
+
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
5585
|
+
}
|
|
5586
|
+
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, origin, 'using', tokenStart, 1);
|
|
5587
|
+
}
|
|
5588
|
+
parser.assignable = 1;
|
|
5589
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, 1, expression, token, tokenValue, tokenStart);
|
|
5590
|
+
}
|
|
5591
|
+
function parseAwaitUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels) {
|
|
5510
5592
|
const start = parser.tokenStart;
|
|
5511
|
-
|
|
5512
|
-
|
|
5593
|
+
if (context & 524288)
|
|
5594
|
+
parser.report(177);
|
|
5595
|
+
nextToken(parser, context | 32);
|
|
5596
|
+
let argument;
|
|
5597
|
+
if ((parser.flags & 1) === 0 && parser.getToken() === 209013) {
|
|
5598
|
+
const usingStart = parser.tokenStart;
|
|
5599
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5600
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5601
|
+
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, origin, 'await using', start, 1);
|
|
5602
|
+
}
|
|
5603
|
+
argument = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, usingStart);
|
|
5604
|
+
}
|
|
5605
|
+
else {
|
|
5606
|
+
argument = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);
|
|
5607
|
+
}
|
|
5608
|
+
if (parser.getToken() === 8391735)
|
|
5609
|
+
parser.report(33);
|
|
5610
|
+
parser.assignable = 2;
|
|
5611
|
+
const expression = parser.finishNode({
|
|
5612
|
+
type: 'AwaitExpression',
|
|
5613
|
+
argument,
|
|
5614
|
+
}, start);
|
|
5615
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, 0, expression, 1048576, '', start);
|
|
5616
|
+
}
|
|
5617
|
+
function parseLexicalDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind, declarationStart = parser.tokenStart, keywordConsumed = 0) {
|
|
5618
|
+
const start = declarationStart;
|
|
5619
|
+
if (!keywordConsumed)
|
|
5620
|
+
nextToken(parser, context);
|
|
5621
|
+
const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5513
5622
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5514
5623
|
return parser.finishNode({
|
|
5515
5624
|
type: 'VariableDeclaration',
|
|
5516
|
-
kind: kind & 8 ? 'let' : 'const',
|
|
5625
|
+
kind: declarationKind ?? (kind & 8 ? 'let' : 'const'),
|
|
5517
5626
|
declarations,
|
|
5518
5627
|
}, start);
|
|
5519
5628
|
}
|
|
@@ -5528,24 +5637,34 @@ function parseVariableStatement(parser, context, scope, privateScope, origin) {
|
|
|
5528
5637
|
declarations,
|
|
5529
5638
|
}, start);
|
|
5530
5639
|
}
|
|
5531
|
-
function parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin) {
|
|
5640
|
+
function parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin, declarationKind) {
|
|
5532
5641
|
let bindingCount = 1;
|
|
5533
|
-
const
|
|
5534
|
-
|
|
5535
|
-
];
|
|
5642
|
+
const firstDeclaration = parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5643
|
+
const list = [firstDeclaration];
|
|
5644
|
+
const resourceNames = declarationKind && parser.options.lexical ? new Set([firstDeclaration.id.name]) : undefined;
|
|
5536
5645
|
while (consumeOpt(parser, context, 18)) {
|
|
5537
5646
|
bindingCount++;
|
|
5538
|
-
|
|
5647
|
+
const declaration = parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5648
|
+
if (resourceNames) {
|
|
5649
|
+
const { name } = declaration.id;
|
|
5650
|
+
if (resourceNames.has(name))
|
|
5651
|
+
parser.report(145, name);
|
|
5652
|
+
resourceNames.add(name);
|
|
5653
|
+
}
|
|
5654
|
+
list.push(declaration);
|
|
5539
5655
|
}
|
|
5540
5656
|
if (bindingCount > 1 && origin & 32 && parser.getToken() & 262144) {
|
|
5541
5657
|
parser.report(61, KeywordDescTable[parser.getToken() & 255]);
|
|
5542
5658
|
}
|
|
5543
5659
|
return list;
|
|
5544
5660
|
}
|
|
5545
|
-
function parseVariableDeclaration(parser, context, scope, privateScope, kind, origin) {
|
|
5661
|
+
function parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind) {
|
|
5546
5662
|
const { tokenStart } = parser;
|
|
5547
5663
|
const token = parser.getToken();
|
|
5548
5664
|
let init = null;
|
|
5665
|
+
if (declarationKind && (token & 2097152) === 2097152) {
|
|
5666
|
+
parser.report(50);
|
|
5667
|
+
}
|
|
5549
5668
|
const id = parseBindingPattern(parser, context, scope, privateScope, kind, origin);
|
|
5550
5669
|
if (parser.getToken() === 1077936155) {
|
|
5551
5670
|
nextToken(parser, context | 32);
|
|
@@ -5560,7 +5679,7 @@ function parseVariableDeclaration(parser, context, scope, privateScope, kind, or
|
|
|
5560
5679
|
}
|
|
5561
5680
|
else if ((kind & 16 || (token & 2097152) > 0) &&
|
|
5562
5681
|
(parser.getToken() & 262144) !== 262144) {
|
|
5563
|
-
parser.report(59, kind & 16 ? 'const' : 'destructuring');
|
|
5682
|
+
parser.report(59, declarationKind ?? (kind & 16 ? 'const' : 'destructuring'));
|
|
5564
5683
|
}
|
|
5565
5684
|
return parser.finishNode({
|
|
5566
5685
|
type: 'VariableDeclarator',
|
|
@@ -5581,25 +5700,23 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5581
5700
|
let init = null;
|
|
5582
5701
|
let isVarDecl = parser.getToken() === 86088 ||
|
|
5583
5702
|
parser.getToken() === 241737 ||
|
|
5584
|
-
parser.getToken() === 86090
|
|
5703
|
+
parser.getToken() === 86090 ||
|
|
5704
|
+
parser.getToken() === 209013;
|
|
5705
|
+
let resourceDeclarationKind;
|
|
5706
|
+
let consumedForOfDelimiter = false;
|
|
5585
5707
|
let right;
|
|
5586
5708
|
const { tokenStart } = parser;
|
|
5587
5709
|
const token = parser.getToken();
|
|
5588
5710
|
if (isVarDecl) {
|
|
5589
5711
|
if (token === 241737) {
|
|
5590
5712
|
init = parseIdentifier(parser, context);
|
|
5591
|
-
if (parser.getToken() & (143360 | 2097152)
|
|
5592
|
-
|
|
5593
|
-
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
type: 'VariableDeclaration',
|
|
5599
|
-
kind: 'let',
|
|
5600
|
-
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
|
|
5601
|
-
}, tokenStart);
|
|
5602
|
-
}
|
|
5713
|
+
if (parser.getToken() & (143360 | 2097152) &&
|
|
5714
|
+
(parser.getToken() & 20480) !== 20480) {
|
|
5715
|
+
init = parser.finishNode({
|
|
5716
|
+
type: 'VariableDeclaration',
|
|
5717
|
+
kind: 'let',
|
|
5718
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
|
|
5719
|
+
}, tokenStart);
|
|
5603
5720
|
parser.assignable = 1;
|
|
5604
5721
|
}
|
|
5605
5722
|
else if (context & 1) {
|
|
@@ -5613,6 +5730,81 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5613
5730
|
parser.report(115);
|
|
5614
5731
|
}
|
|
5615
5732
|
}
|
|
5733
|
+
else if (token === 209013) {
|
|
5734
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5735
|
+
if ((parser.flags & 1) !== 0 || !isResourceBindingStart(parser.getToken())) {
|
|
5736
|
+
isVarDecl = false;
|
|
5737
|
+
parser.assignable = 1;
|
|
5738
|
+
init = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, tokenStart);
|
|
5739
|
+
}
|
|
5740
|
+
else if (parser.getToken() === 471156) {
|
|
5741
|
+
const ofStart = parser.tokenStart;
|
|
5742
|
+
const ofToken = parser.getToken();
|
|
5743
|
+
const ofValue = parser.tokenValue;
|
|
5744
|
+
const ofIdentifier = parseIdentifier(parser, context);
|
|
5745
|
+
if (parser.getToken() !== 1077936155 &&
|
|
5746
|
+
parser.getToken() !== 8673330 &&
|
|
5747
|
+
parser.getToken() !== 1074790417 &&
|
|
5748
|
+
parser.getToken() !== 18) {
|
|
5749
|
+
isVarDecl = false;
|
|
5750
|
+
consumedForOfDelimiter = true;
|
|
5751
|
+
parser.assignable = 1;
|
|
5752
|
+
init = usingIdentifier;
|
|
5753
|
+
}
|
|
5754
|
+
else {
|
|
5755
|
+
resourceDeclarationKind = 'using';
|
|
5756
|
+
validateBindingIdentifier(parser, context, 16, ofToken, 0);
|
|
5757
|
+
scope?.addBlockName(context, ofValue, 16, 32);
|
|
5758
|
+
let declarationInitializer = null;
|
|
5759
|
+
if (parser.getToken() === 1077936155) {
|
|
5760
|
+
nextToken(parser, context | 32);
|
|
5761
|
+
declarationInitializer = parseExpression(parser, context | 131072, privateScope, 1, 0, parser.tokenStart);
|
|
5762
|
+
if ((parser.getToken() & 262144) === 262144) {
|
|
5763
|
+
throw new ParseError(ofStart, parser.currentLocation, 60, parser.getToken() === 471156 ? 'of' : 'in');
|
|
5764
|
+
}
|
|
5765
|
+
}
|
|
5766
|
+
else if (parser.getToken() !== 8673330) {
|
|
5767
|
+
parser.report(59, resourceDeclarationKind);
|
|
5768
|
+
}
|
|
5769
|
+
const declarations = [
|
|
5770
|
+
parser.finishNode({
|
|
5771
|
+
type: 'VariableDeclarator',
|
|
5772
|
+
id: ofIdentifier,
|
|
5773
|
+
init: declarationInitializer,
|
|
5774
|
+
}, ofStart),
|
|
5775
|
+
];
|
|
5776
|
+
const resourceNames = parser.options.lexical ? new Set([ofValue]) : undefined;
|
|
5777
|
+
while (consumeOpt(parser, context | 131072, 18)) {
|
|
5778
|
+
const declaration = parseVariableDeclaration(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind);
|
|
5779
|
+
if (resourceNames) {
|
|
5780
|
+
const { name } = declaration.id;
|
|
5781
|
+
if (resourceNames.has(name))
|
|
5782
|
+
parser.report(145, name);
|
|
5783
|
+
resourceNames.add(name);
|
|
5784
|
+
}
|
|
5785
|
+
declarations.push(declaration);
|
|
5786
|
+
}
|
|
5787
|
+
if (declarations.length > 1 && parser.getToken() & 262144) {
|
|
5788
|
+
parser.report(61, KeywordDescTable[parser.getToken() & 255]);
|
|
5789
|
+
}
|
|
5790
|
+
init = parser.finishNode({
|
|
5791
|
+
type: 'VariableDeclaration',
|
|
5792
|
+
kind: resourceDeclarationKind,
|
|
5793
|
+
declarations,
|
|
5794
|
+
}, tokenStart);
|
|
5795
|
+
parser.assignable = 1;
|
|
5796
|
+
}
|
|
5797
|
+
}
|
|
5798
|
+
else {
|
|
5799
|
+
resourceDeclarationKind = 'using';
|
|
5800
|
+
init = parser.finishNode({
|
|
5801
|
+
type: 'VariableDeclaration',
|
|
5802
|
+
kind: resourceDeclarationKind,
|
|
5803
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind),
|
|
5804
|
+
}, tokenStart);
|
|
5805
|
+
parser.assignable = 1;
|
|
5806
|
+
}
|
|
5807
|
+
}
|
|
5616
5808
|
else {
|
|
5617
5809
|
nextToken(parser, context);
|
|
5618
5810
|
init = parser.finishNode(token === 86088
|
|
@@ -5629,6 +5821,42 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5629
5821
|
parser.assignable = 1;
|
|
5630
5822
|
}
|
|
5631
5823
|
}
|
|
5824
|
+
else if (token === 209006 &&
|
|
5825
|
+
(context & 2048 || (context & 2 && context & 8))) {
|
|
5826
|
+
if (context & 524288)
|
|
5827
|
+
parser.report(177);
|
|
5828
|
+
nextToken(parser, context | 32);
|
|
5829
|
+
let awaitArgument;
|
|
5830
|
+
if ((parser.flags & 1) === 0 && parser.getToken() === 209013) {
|
|
5831
|
+
const usingStart = parser.tokenStart;
|
|
5832
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5833
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5834
|
+
resourceDeclarationKind = 'await using';
|
|
5835
|
+
isVarDecl = true;
|
|
5836
|
+
init = parser.finishNode({
|
|
5837
|
+
type: 'VariableDeclaration',
|
|
5838
|
+
kind: resourceDeclarationKind,
|
|
5839
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind),
|
|
5840
|
+
}, tokenStart);
|
|
5841
|
+
parser.assignable = 1;
|
|
5842
|
+
}
|
|
5843
|
+
else {
|
|
5844
|
+
awaitArgument = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, usingStart);
|
|
5845
|
+
}
|
|
5846
|
+
}
|
|
5847
|
+
else {
|
|
5848
|
+
awaitArgument = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);
|
|
5849
|
+
}
|
|
5850
|
+
if (!isVarDecl) {
|
|
5851
|
+
if (parser.getToken() === 8391735)
|
|
5852
|
+
parser.report(33);
|
|
5853
|
+
parser.assignable = 2;
|
|
5854
|
+
init = parser.finishNode({
|
|
5855
|
+
type: 'AwaitExpression',
|
|
5856
|
+
argument: awaitArgument,
|
|
5857
|
+
}, tokenStart);
|
|
5858
|
+
}
|
|
5859
|
+
}
|
|
5632
5860
|
else if (token === 1074790417) {
|
|
5633
5861
|
if (forAwait)
|
|
5634
5862
|
parser.report(82);
|
|
@@ -5650,12 +5878,13 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5650
5878
|
else {
|
|
5651
5879
|
init = parseLeftHandSideExpression(parser, context | 131072, privateScope, 1, 0, 1);
|
|
5652
5880
|
}
|
|
5653
|
-
if ((parser.getToken() & 262144) === 262144) {
|
|
5654
|
-
if (parser.getToken() === 471156) {
|
|
5881
|
+
if (consumedForOfDelimiter || (parser.getToken() & 262144) === 262144) {
|
|
5882
|
+
if (consumedForOfDelimiter || parser.getToken() === 471156) {
|
|
5655
5883
|
if (parser.assignable & 2)
|
|
5656
5884
|
parser.report(80, forAwait ? 'await' : 'of');
|
|
5657
5885
|
reinterpretToPattern(parser, init);
|
|
5658
|
-
|
|
5886
|
+
if (!consumedForOfDelimiter)
|
|
5887
|
+
nextToken(parser, context | 32);
|
|
5659
5888
|
right = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);
|
|
5660
5889
|
consume(parser, context | 32, 16);
|
|
5661
5890
|
const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);
|
|
@@ -5667,6 +5896,8 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5667
5896
|
await: forAwait,
|
|
5668
5897
|
}, start);
|
|
5669
5898
|
}
|
|
5899
|
+
if (resourceDeclarationKind)
|
|
5900
|
+
parser.report(30, 'in');
|
|
5670
5901
|
if (parser.assignable & 2)
|
|
5671
5902
|
parser.report(80, 'in');
|
|
5672
5903
|
reinterpretToPattern(parser, init);
|
|
@@ -5720,7 +5951,7 @@ function parseRestrictedIdentifier(parser, context, scope) {
|
|
|
5720
5951
|
function parseImportDeclaration(parser, context, scope) {
|
|
5721
5952
|
const start = parser.tokenStart;
|
|
5722
5953
|
nextToken(parser, context);
|
|
5723
|
-
let source
|
|
5954
|
+
let source;
|
|
5724
5955
|
const { tokenStart } = parser;
|
|
5725
5956
|
let specifiers = [];
|
|
5726
5957
|
if (parser.getToken() === 134283267) {
|
|
@@ -5864,7 +6095,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5864
6095
|
declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 1, 0, parser.tokenStart);
|
|
5865
6096
|
break;
|
|
5866
6097
|
}
|
|
5867
|
-
case
|
|
6098
|
+
case 133:
|
|
5868
6099
|
case 86094:
|
|
5869
6100
|
declaration = parseClassDeclaration(parser, context, scope, undefined, 1);
|
|
5870
6101
|
break;
|
|
@@ -5987,7 +6218,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5987
6218
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5988
6219
|
break;
|
|
5989
6220
|
}
|
|
5990
|
-
case
|
|
6221
|
+
case 133:
|
|
5991
6222
|
case 86094:
|
|
5992
6223
|
declaration = parseClassDeclaration(parser, context, scope, undefined, 2);
|
|
5993
6224
|
break;
|
|
@@ -6325,7 +6556,7 @@ function parseSuperExpression(parser, context) {
|
|
|
6325
6556
|
const { tokenStart } = parser;
|
|
6326
6557
|
nextToken(parser, context);
|
|
6327
6558
|
switch (parser.getToken()) {
|
|
6328
|
-
case
|
|
6559
|
+
case 67108991:
|
|
6329
6560
|
parser.report(167);
|
|
6330
6561
|
case 67174411: {
|
|
6331
6562
|
if ((context & 512) === 0)
|
|
@@ -6372,10 +6603,13 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6372
6603
|
switch (parser.getToken()) {
|
|
6373
6604
|
case 67108877: {
|
|
6374
6605
|
nextToken(parser, (context | 262144 | 8) ^ 8);
|
|
6375
|
-
if (context & 16 && parser.getToken() ===
|
|
6606
|
+
if (context & 16 && parser.getToken() === 131 && parser.tokenValue === 'super') {
|
|
6376
6607
|
parser.report(173);
|
|
6377
6608
|
}
|
|
6378
|
-
parser.assignable =
|
|
6609
|
+
parser.assignable =
|
|
6610
|
+
(parser.flags & 2048) === 2048
|
|
6611
|
+
? 2
|
|
6612
|
+
: 1;
|
|
6379
6613
|
const property = parsePropertyOrPrivatePropertyName(parser, context | 64, privateScope);
|
|
6380
6614
|
expr = parser.finishNode({
|
|
6381
6615
|
type: 'MemberExpression',
|
|
@@ -6400,7 +6634,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6400
6634
|
const { tokenStart } = parser;
|
|
6401
6635
|
const property = parseExpressions(parser, context, privateScope, inGroup, 1, tokenStart);
|
|
6402
6636
|
consume(parser, context, 20);
|
|
6403
|
-
parser.assignable = 1;
|
|
6637
|
+
parser.assignable = restoreHasOptionalChaining ? 2 : 1;
|
|
6404
6638
|
expr = parser.finishNode({
|
|
6405
6639
|
type: 'MemberExpression',
|
|
6406
6640
|
object: expr,
|
|
@@ -6441,7 +6675,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6441
6675
|
}
|
|
6442
6676
|
break;
|
|
6443
6677
|
}
|
|
6444
|
-
case
|
|
6678
|
+
case 67108991: {
|
|
6445
6679
|
nextToken(parser, (context | 262144 | 8) ^ 8);
|
|
6446
6680
|
parser.flags |= 2048;
|
|
6447
6681
|
parser.assignable = 2;
|
|
@@ -6528,12 +6762,12 @@ function parseOptionalChain(parser, context, privateScope, expr, start) {
|
|
|
6528
6762
|
}
|
|
6529
6763
|
function parsePropertyOrPrivatePropertyName(parser, context, privateScope) {
|
|
6530
6764
|
if ((parser.getToken() & 143360) === 0 &&
|
|
6531
|
-
parser.getToken() !== -2147483528 &&
|
|
6532
6765
|
parser.getToken() !== -2147483527 &&
|
|
6533
|
-
parser.getToken() !==
|
|
6766
|
+
parser.getToken() !== -2147483526 &&
|
|
6767
|
+
parser.getToken() !== 131) {
|
|
6534
6768
|
parser.report(160);
|
|
6535
6769
|
}
|
|
6536
|
-
return parser.getToken() ===
|
|
6770
|
+
return parser.getToken() === 131
|
|
6537
6771
|
? parsePrivateIdentifier(parser, context, privateScope, 0)
|
|
6538
6772
|
: parseIdentifier(parser, context);
|
|
6539
6773
|
}
|
|
@@ -6626,7 +6860,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6626
6860
|
return parseThisExpression(parser, context);
|
|
6627
6861
|
case 65540:
|
|
6628
6862
|
return parseRegExpLiteral(parser, context);
|
|
6629
|
-
case
|
|
6863
|
+
case 133:
|
|
6630
6864
|
case 86094:
|
|
6631
6865
|
return parseClassExpression(parser, context, privateScope, inGroup, start);
|
|
6632
6866
|
case 86109:
|
|
@@ -6637,9 +6871,9 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6637
6871
|
return parseTemplate(parser, context, privateScope);
|
|
6638
6872
|
case 86107:
|
|
6639
6873
|
return parseNewExpression(parser, context, privateScope, inGroup);
|
|
6640
|
-
case
|
|
6874
|
+
case 134283389:
|
|
6641
6875
|
return parseBigIntLiteral(parser, context);
|
|
6642
|
-
case
|
|
6876
|
+
case 131:
|
|
6643
6877
|
return parsePrivateIdentifier(parser, context, privateScope, 0);
|
|
6644
6878
|
case 86106:
|
|
6645
6879
|
return parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start);
|
|
@@ -6668,7 +6902,7 @@ function parseImportMetaExpression(parser, context, meta, start) {
|
|
|
6668
6902
|
parser.report(169);
|
|
6669
6903
|
nextToken(parser, context);
|
|
6670
6904
|
const token = parser.getToken();
|
|
6671
|
-
if (token !==
|
|
6905
|
+
if (token !== 209031 && parser.tokenValue !== 'meta') {
|
|
6672
6906
|
parser.report(174);
|
|
6673
6907
|
}
|
|
6674
6908
|
else if (token & -2147483648) {
|
|
@@ -6716,7 +6950,7 @@ function parseImportAttributes(parser, context) {
|
|
|
6716
6950
|
const value = parseStringLiteral(parser, context);
|
|
6717
6951
|
const keyContent = key.type === 'Literal' ? key.value : key.name;
|
|
6718
6952
|
if (keysContent.has(keyContent)) {
|
|
6719
|
-
parser.report(145,
|
|
6953
|
+
parser.report(145, keyContent);
|
|
6720
6954
|
}
|
|
6721
6955
|
keysContent.add(keyContent);
|
|
6722
6956
|
attributes.push(parser.finishNode({
|
|
@@ -6813,6 +7047,7 @@ function parseTemplate(parser, context, privateScope) {
|
|
|
6813
7047
|
consume(parser, context, 67174409);
|
|
6814
7048
|
quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true));
|
|
6815
7049
|
}
|
|
7050
|
+
parser.assignable = 2;
|
|
6816
7051
|
return parser.finishNode({
|
|
6817
7052
|
type: 'TemplateLiteral',
|
|
6818
7053
|
expressions,
|
|
@@ -6891,7 +7126,7 @@ function parseIdentifier(parser, context) {
|
|
|
6891
7126
|
}
|
|
6892
7127
|
function parseLiteral(parser, context) {
|
|
6893
7128
|
const { tokenValue, tokenRaw, tokenStart } = parser;
|
|
6894
|
-
if (parser.getToken() ===
|
|
7129
|
+
if (parser.getToken() === 134283389) {
|
|
6895
7130
|
return parseBigIntLiteral(parser, context);
|
|
6896
7131
|
}
|
|
6897
7132
|
const node = {
|
|
@@ -7408,9 +7643,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7408
7643
|
let key = null;
|
|
7409
7644
|
let value;
|
|
7410
7645
|
if (parser.getToken() & 143360 ||
|
|
7411
|
-
parser.getToken() === -
|
|
7412
|
-
parser.getToken() === -
|
|
7413
|
-
if (parser.getToken() === -
|
|
7646
|
+
parser.getToken() === -2147483527 ||
|
|
7647
|
+
parser.getToken() === -2147483526) {
|
|
7648
|
+
if (parser.getToken() === -2147483526)
|
|
7414
7649
|
destructible |= 16;
|
|
7415
7650
|
key = parseIdentifier(parser, context);
|
|
7416
7651
|
if (parser.getToken() === 18 ||
|
|
@@ -7442,7 +7677,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7442
7677
|
else {
|
|
7443
7678
|
destructible |=
|
|
7444
7679
|
(token === 209006 ? 128 : 0) |
|
|
7445
|
-
(token === -
|
|
7680
|
+
(token === -2147483527 ? 16 : 0);
|
|
7446
7681
|
value = parser.cloneIdentifier(key);
|
|
7447
7682
|
}
|
|
7448
7683
|
}
|
|
@@ -7569,7 +7804,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7569
7804
|
}
|
|
7570
7805
|
else if (parser.getToken() & 143360) {
|
|
7571
7806
|
destructible |= 16;
|
|
7572
|
-
if (token === -
|
|
7807
|
+
if (token === -2147483527)
|
|
7573
7808
|
parser.report(95);
|
|
7574
7809
|
if (token === 209005) {
|
|
7575
7810
|
if (parser.flags & 1)
|
|
@@ -8380,7 +8615,7 @@ function parseNewExpression(parser, context, privateScope, inGroup) {
|
|
|
8380
8615
|
const id = parseIdentifier(parser, context | 32);
|
|
8381
8616
|
const { tokenStart } = parser;
|
|
8382
8617
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8383
|
-
if (context & 65536 && parser.getToken() ===
|
|
8618
|
+
if (context & 65536 && parser.getToken() === 209030) {
|
|
8384
8619
|
parser.assignable = 2;
|
|
8385
8620
|
return parseMetaProperty(parser, context, id, start);
|
|
8386
8621
|
}
|
|
@@ -8392,7 +8627,7 @@ function parseNewExpression(parser, context, privateScope, inGroup) {
|
|
|
8392
8627
|
}
|
|
8393
8628
|
const expr = parsePrimaryExpression(parser, context, privateScope, 2, 1, 0, inGroup, 1, tokenStart);
|
|
8394
8629
|
context = (context | 131072) ^ 131072;
|
|
8395
|
-
if (parser.getToken() ===
|
|
8630
|
+
if (parser.getToken() === 67108991)
|
|
8396
8631
|
parser.report(168);
|
|
8397
8632
|
const callee = parseMemberExpressionNoCall(parser, context, privateScope, expr, inGroup, tokenStart);
|
|
8398
8633
|
parser.assignable = 2;
|
|
@@ -8446,7 +8681,7 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8446
8681
|
}, start);
|
|
8447
8682
|
}
|
|
8448
8683
|
let destructible = 0;
|
|
8449
|
-
let expr
|
|
8684
|
+
let expr;
|
|
8450
8685
|
let isNonSimpleParameterList = 0;
|
|
8451
8686
|
parser.destructible =
|
|
8452
8687
|
(parser.destructible | 256 | 128) ^
|
|
@@ -8593,7 +8828,7 @@ function parseClassDeclaration(parser, context, scope, privateScope, flags) {
|
|
|
8593
8828
|
let start;
|
|
8594
8829
|
let decorators;
|
|
8595
8830
|
if (parser.leadingDecorators.decorators.length) {
|
|
8596
|
-
if (parser.getToken() ===
|
|
8831
|
+
if (parser.getToken() === 133) {
|
|
8597
8832
|
parser.report(30, '@');
|
|
8598
8833
|
}
|
|
8599
8834
|
start = parser.leadingDecorators.start;
|
|
@@ -8682,7 +8917,7 @@ function parseClassExpression(parser, context, privateScope, inGroup, start) {
|
|
|
8682
8917
|
function parseDecorators(parser, context, privateScope) {
|
|
8683
8918
|
const list = [];
|
|
8684
8919
|
if (parser.options.next) {
|
|
8685
|
-
while (parser.getToken() ===
|
|
8920
|
+
while (parser.getToken() === 133) {
|
|
8686
8921
|
list.push(parseDecoratorList(parser, context, privateScope));
|
|
8687
8922
|
}
|
|
8688
8923
|
}
|
|
@@ -8735,7 +8970,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8735
8970
|
let kind = isStatic ? 32 : 0;
|
|
8736
8971
|
let key = null;
|
|
8737
8972
|
const token = parser.getToken();
|
|
8738
|
-
if (token & (143360 | 36864) || token === -
|
|
8973
|
+
if (token & (143360 | 36864) || token === -2147483527) {
|
|
8739
8974
|
key = parseIdentifier(parser, context);
|
|
8740
8975
|
switch (token) {
|
|
8741
8976
|
case 36970:
|
|
@@ -8756,6 +8991,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8756
8991
|
break;
|
|
8757
8992
|
case 209008:
|
|
8758
8993
|
if (parser.getToken() !== 67174411) {
|
|
8994
|
+
if (parser.getToken() === 8391476 && parser.flags & 1) {
|
|
8995
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8996
|
+
}
|
|
8759
8997
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8760
8998
|
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8761
8999
|
}
|
|
@@ -8764,6 +9002,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8764
9002
|
break;
|
|
8765
9003
|
case 209009:
|
|
8766
9004
|
if (parser.getToken() !== 67174411) {
|
|
9005
|
+
if (parser.getToken() === 8391476 && parser.flags & 1) {
|
|
9006
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
9007
|
+
}
|
|
8767
9008
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8768
9009
|
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8769
9010
|
}
|
|
@@ -8792,7 +9033,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8792
9033
|
kind |= 8;
|
|
8793
9034
|
nextToken(parser, context);
|
|
8794
9035
|
}
|
|
8795
|
-
else if (parser.getToken() ===
|
|
9036
|
+
else if (parser.getToken() === 131) {
|
|
8796
9037
|
kind |= 8192;
|
|
8797
9038
|
key = parsePrivateIdentifier(parser, context | 16, privateScope, 768);
|
|
8798
9039
|
}
|
|
@@ -8802,7 +9043,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8802
9043
|
else if (isStatic && token === 2162700) {
|
|
8803
9044
|
return parseStaticBlock(parser, context | 16, scope, privateScope, start);
|
|
8804
9045
|
}
|
|
8805
|
-
else if (token === -
|
|
9046
|
+
else if (token === -2147483526) {
|
|
8806
9047
|
key = parseIdentifier(parser, context);
|
|
8807
9048
|
if (parser.getToken() !== 67174411)
|
|
8808
9049
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
@@ -8812,8 +9053,8 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8812
9053
|
}
|
|
8813
9054
|
if (kind & (8 | 16 | 768 | 1024)) {
|
|
8814
9055
|
if (parser.getToken() & 143360 ||
|
|
8815
|
-
parser.getToken() === -
|
|
8816
|
-
parser.getToken() === -
|
|
9056
|
+
parser.getToken() === -2147483527 ||
|
|
9057
|
+
parser.getToken() === -2147483526) {
|
|
8817
9058
|
key = parseIdentifier(parser, context);
|
|
8818
9059
|
}
|
|
8819
9060
|
else if ((parser.getToken() & 134217728) === 134217728) {
|
|
@@ -8823,7 +9064,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8823
9064
|
kind |= 2;
|
|
8824
9065
|
key = parseComputedPropertyName(parser, context, privateScope, 0);
|
|
8825
9066
|
}
|
|
8826
|
-
else if (parser.getToken() ===
|
|
9067
|
+
else if (parser.getToken() === 131) {
|
|
8827
9068
|
kind |= 8192;
|
|
8828
9069
|
key = parsePrivateIdentifier(parser, context, privateScope, kind);
|
|
8829
9070
|
}
|
|
@@ -8903,7 +9144,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
8903
9144
|
if (parser.getToken() === 1077936155) {
|
|
8904
9145
|
nextToken(parser, context | 32);
|
|
8905
9146
|
const { tokenStart } = parser;
|
|
8906
|
-
if (parser.getToken() ===
|
|
9147
|
+
if (parser.getToken() === 537079928)
|
|
8907
9148
|
parser.report(119);
|
|
8908
9149
|
const modifierFlags = 1024 |
|
|
8909
9150
|
2048 |
|
|
@@ -8935,7 +9176,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
8935
9176
|
}
|
|
8936
9177
|
function parseBindingPattern(parser, context, scope, privateScope, type, origin) {
|
|
8937
9178
|
if (parser.getToken() & 143360 ||
|
|
8938
|
-
((context & 1) === 0 && parser.getToken() === -
|
|
9179
|
+
((context & 1) === 0 && parser.getToken() === -2147483526))
|
|
8939
9180
|
return parseAndClassifyIdentifier(parser, context, scope, type, origin);
|
|
8940
9181
|
if ((parser.getToken() & 2097152) !== 2097152)
|
|
8941
9182
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
@@ -8954,7 +9195,7 @@ function parseAndClassifyIdentifier(parser, context, scope, kind, origin) {
|
|
|
8954
9195
|
if ((token & 537079808) === 537079808) {
|
|
8955
9196
|
parser.report(119);
|
|
8956
9197
|
}
|
|
8957
|
-
else if ((token & 36864) === 36864 || token === -
|
|
9198
|
+
else if ((token & 36864) === 36864 || token === -2147483526) {
|
|
8958
9199
|
parser.report(118);
|
|
8959
9200
|
}
|
|
8960
9201
|
}
|
|
@@ -9075,7 +9316,7 @@ function parseJSXChildrenAndClosingFragment(parser, context, privateScope, inJSX
|
|
|
9075
9316
|
}
|
|
9076
9317
|
}
|
|
9077
9318
|
function parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild) {
|
|
9078
|
-
if (parser.getToken() ===
|
|
9319
|
+
if (parser.getToken() === 138)
|
|
9079
9320
|
return parseJSXText(parser, context);
|
|
9080
9321
|
if (parser.getToken() === 2162700)
|
|
9081
9322
|
return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);
|
|
@@ -9089,7 +9330,7 @@ function parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild
|
|
|
9089
9330
|
parser.report(0);
|
|
9090
9331
|
}
|
|
9091
9332
|
function parseJSXChildOrClosingFragment(parser, context, privateScope, inJSXChild) {
|
|
9092
|
-
if (parser.getToken() ===
|
|
9333
|
+
if (parser.getToken() === 138)
|
|
9093
9334
|
return parseJSXText(parser, context);
|
|
9094
9335
|
if (parser.getToken() === 2162700)
|
|
9095
9336
|
return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);
|
|
@@ -9226,7 +9467,7 @@ function parseJSXExpressionContainer(parser, context, privateScope, inJSXChild,
|
|
|
9226
9467
|
const { tokenStart } = parser;
|
|
9227
9468
|
if (parser.getToken() === 14)
|
|
9228
9469
|
return parseJSXSpreadChild(parser, context, privateScope, start);
|
|
9229
|
-
let expression
|
|
9470
|
+
let expression;
|
|
9230
9471
|
if (parser.getToken() === 1074790415) {
|
|
9231
9472
|
if (isAttr)
|
|
9232
9473
|
parser.report(157);
|
|
@@ -9280,7 +9521,7 @@ function parseJSXIdentifier(parser, context) {
|
|
|
9280
9521
|
}, start);
|
|
9281
9522
|
}
|
|
9282
9523
|
|
|
9283
|
-
const version =
|
|
9524
|
+
const { version } = packageJson;
|
|
9284
9525
|
function parseScript(source, options) {
|
|
9285
9526
|
return parseSource(source, { ...options, sourceType: 'script' });
|
|
9286
9527
|
}
|