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.cjs
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var version$1 = "7.
|
|
3
|
+
var version$1 = "7.2.0";
|
|
4
|
+
var packageJson = {
|
|
5
|
+
version: version$1};
|
|
4
6
|
|
|
5
7
|
const unicodeLookup = ((compressed, lookup) => {
|
|
6
8
|
const result = new Uint32Array(69632);
|
|
@@ -486,7 +488,7 @@ function convertTokenType(t) {
|
|
|
486
488
|
return 'RegularExpression';
|
|
487
489
|
case 67174408:
|
|
488
490
|
case 67174409:
|
|
489
|
-
case
|
|
491
|
+
case 132:
|
|
490
492
|
return 'TemplateLiteral';
|
|
491
493
|
default:
|
|
492
494
|
if ((t & 143360) === 143360)
|
|
@@ -794,7 +796,7 @@ class ParseError extends SyntaxError {
|
|
|
794
796
|
loc;
|
|
795
797
|
description;
|
|
796
798
|
constructor(start, end, type, ...params) {
|
|
797
|
-
const description = errorMessages[type].
|
|
799
|
+
const description = errorMessages[type].replaceAll(/%(\d+)/g, (_, i) => params[i]);
|
|
798
800
|
const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
|
|
799
801
|
super(message);
|
|
800
802
|
this.start = start.index;
|
|
@@ -829,7 +831,7 @@ const KeywordDescTable = [
|
|
|
829
831
|
'extends', 'finally', 'for', 'function', 'if', 'import', 'new', 'return', 'super', 'switch',
|
|
830
832
|
'this', 'throw', 'try', 'while', 'with',
|
|
831
833
|
'implements', 'interface', 'package', 'private', 'protected', 'public', 'static', 'yield',
|
|
832
|
-
'as', 'async', 'await', 'constructor', 'get', 'set', 'accessor', 'from', 'of',
|
|
834
|
+
'as', 'async', 'await', 'constructor', 'get', 'set', 'accessor', 'from', 'of', 'using',
|
|
833
835
|
'enum', 'eval', 'arguments', 'escaped keyword', 'escaped future reserved keyword', 'reserved if strict', '#',
|
|
834
836
|
'BigIntLiteral', '??', '?.', 'WhiteSpace', 'Illegal', 'LineTerminator', 'PrivateField',
|
|
835
837
|
'Template', '@', 'target', 'meta', 'LineFeed', 'Escaped', 'JSXText'
|
|
@@ -876,6 +878,7 @@ const descKeywordTable = {
|
|
|
876
878
|
let: 241737,
|
|
877
879
|
null: 86023,
|
|
878
880
|
of: 471156,
|
|
881
|
+
using: 209013,
|
|
879
882
|
package: 36966,
|
|
880
883
|
private: 36967,
|
|
881
884
|
protected: 36968,
|
|
@@ -886,12 +889,12 @@ const descKeywordTable = {
|
|
|
886
889
|
true: 86022,
|
|
887
890
|
with: 20579,
|
|
888
891
|
yield: 241771,
|
|
889
|
-
enum:
|
|
890
|
-
eval:
|
|
892
|
+
enum: 86134,
|
|
893
|
+
eval: 537079927,
|
|
891
894
|
as: 77932,
|
|
892
|
-
arguments:
|
|
893
|
-
target:
|
|
894
|
-
meta:
|
|
895
|
+
arguments: 537079928,
|
|
896
|
+
target: 209030,
|
|
897
|
+
meta: 209031,
|
|
895
898
|
accessor: 12402,
|
|
896
899
|
};
|
|
897
900
|
|
|
@@ -953,24 +956,24 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
|
|
|
953
956
|
if ((context & (2 | 2048)) === 0) {
|
|
954
957
|
return token | -2147483648;
|
|
955
958
|
}
|
|
956
|
-
return -
|
|
959
|
+
return -2147483527;
|
|
957
960
|
}
|
|
958
961
|
if (context & 1) {
|
|
959
962
|
if (token === 36970) {
|
|
960
|
-
return -
|
|
963
|
+
return -2147483526;
|
|
961
964
|
}
|
|
962
965
|
if ((token & 36864) === 36864) {
|
|
963
|
-
return -
|
|
966
|
+
return -2147483526;
|
|
964
967
|
}
|
|
965
968
|
if ((token & 20480) === 20480) {
|
|
966
969
|
if (context & 262144 && (context & 8) === 0) {
|
|
967
970
|
return token | -2147483648;
|
|
968
971
|
}
|
|
969
972
|
else {
|
|
970
|
-
return -
|
|
973
|
+
return -2147483527;
|
|
971
974
|
}
|
|
972
975
|
}
|
|
973
|
-
return
|
|
976
|
+
return 209019 | -2147483648;
|
|
974
977
|
}
|
|
975
978
|
if (context & 262144 &&
|
|
976
979
|
(context & 8) === 0 &&
|
|
@@ -979,31 +982,31 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
|
|
|
979
982
|
}
|
|
980
983
|
if (token === 241771) {
|
|
981
984
|
return context & 262144
|
|
982
|
-
?
|
|
985
|
+
? 209019 | -2147483648
|
|
983
986
|
: context & 1024
|
|
984
|
-
? -
|
|
987
|
+
? -2147483527
|
|
985
988
|
: token | -2147483648;
|
|
986
989
|
}
|
|
987
990
|
if (token === 209005) {
|
|
988
|
-
return
|
|
991
|
+
return 209019 | -2147483648;
|
|
989
992
|
}
|
|
990
993
|
if ((token & 36864) === 36864) {
|
|
991
994
|
return token | 12288 | -2147483648;
|
|
992
995
|
}
|
|
993
|
-
return -
|
|
996
|
+
return -2147483527;
|
|
994
997
|
}
|
|
995
998
|
return 208897 | (hasEscape ? -2147483648 : 0);
|
|
996
999
|
}
|
|
997
1000
|
function scanPrivateIdentifier(parser) {
|
|
998
1001
|
let char = advanceChar(parser);
|
|
999
1002
|
if (char === 92)
|
|
1000
|
-
return
|
|
1003
|
+
return 131;
|
|
1001
1004
|
const merged = consumePossibleSurrogatePair(parser);
|
|
1002
1005
|
if (merged)
|
|
1003
1006
|
char = merged;
|
|
1004
1007
|
if (!isIdentifierStart(char))
|
|
1005
1008
|
parser.report(96);
|
|
1006
|
-
return
|
|
1009
|
+
return 131;
|
|
1007
1010
|
}
|
|
1008
1011
|
function scanIdentifierUnicodeEscape(parser) {
|
|
1009
1012
|
if (parser.source.charCodeAt(parser.index + 1) !== 117) {
|
|
@@ -1209,7 +1212,7 @@ function scanNumber(parser, context, kind) {
|
|
|
1209
1212
|
if (isBigInt) {
|
|
1210
1213
|
parser.tokenRaw = parser.source.slice(parser.tokenIndex, parser.index);
|
|
1211
1214
|
parser.tokenValue = BigInt(parser.tokenRaw.slice(0, -1).replaceAll('_', ''));
|
|
1212
|
-
return
|
|
1215
|
+
return 134283389;
|
|
1213
1216
|
}
|
|
1214
1217
|
parser.tokenValue =
|
|
1215
1218
|
kind & (1 | 2 | 8 | 4)
|
|
@@ -1520,12 +1523,14 @@ function parseEscape(parser, context, first, isTemplate = 0) {
|
|
|
1520
1523
|
const ch = advanceChar(parser);
|
|
1521
1524
|
if (parser.currentChar === 123) {
|
|
1522
1525
|
let code = 0;
|
|
1526
|
+
let digits = 0;
|
|
1523
1527
|
while ((CharTypes[advanceChar(parser)] & 64) !== 0) {
|
|
1524
1528
|
code = (code << 4) | toHex(parser.currentChar);
|
|
1525
1529
|
if (code > 1114111)
|
|
1526
1530
|
return -5;
|
|
1531
|
+
digits++;
|
|
1527
1532
|
}
|
|
1528
|
-
if (parser.currentChar < 1 || parser.currentChar !== 125) {
|
|
1533
|
+
if (digits === 0 || parser.currentChar < 1 || parser.currentChar !== 125) {
|
|
1529
1534
|
return -4;
|
|
1530
1535
|
}
|
|
1531
1536
|
return code;
|
|
@@ -1576,6 +1581,7 @@ function scanTemplate(parser, context) {
|
|
|
1576
1581
|
const { index: start } = parser;
|
|
1577
1582
|
let token = 67174409;
|
|
1578
1583
|
let ret = '';
|
|
1584
|
+
let hasCarriageReturn = false;
|
|
1579
1585
|
let char = advanceChar(parser);
|
|
1580
1586
|
while (char !== 96) {
|
|
1581
1587
|
if (char === 36 && parser.source.charCodeAt(parser.index + 1) === 123) {
|
|
@@ -1585,6 +1591,8 @@ function scanTemplate(parser, context) {
|
|
|
1585
1591
|
}
|
|
1586
1592
|
else if (char === 92) {
|
|
1587
1593
|
char = advanceChar(parser);
|
|
1594
|
+
if (char === 13)
|
|
1595
|
+
hasCarriageReturn = true;
|
|
1588
1596
|
if (char > 0x7e) {
|
|
1589
1597
|
ret += String.fromCodePoint(char);
|
|
1590
1598
|
}
|
|
@@ -1599,7 +1607,9 @@ function scanTemplate(parser, context) {
|
|
|
1599
1607
|
parser.line = line;
|
|
1600
1608
|
parser.column = column;
|
|
1601
1609
|
ret = null;
|
|
1602
|
-
char = scanBadTemplate(parser, char)
|
|
1610
|
+
char = scanBadTemplate(parser, char, () => {
|
|
1611
|
+
hasCarriageReturn = true;
|
|
1612
|
+
});
|
|
1603
1613
|
if (char < 0)
|
|
1604
1614
|
token = 67174408;
|
|
1605
1615
|
break;
|
|
@@ -1610,10 +1620,13 @@ function scanTemplate(parser, context) {
|
|
|
1610
1620
|
}
|
|
1611
1621
|
}
|
|
1612
1622
|
else if (parser.index < parser.end) {
|
|
1613
|
-
if (char === 13
|
|
1614
|
-
|
|
1623
|
+
if (char === 13)
|
|
1624
|
+
hasCarriageReturn = true;
|
|
1625
|
+
if (char === 13 && parser.source.charCodeAt(parser.index + 1) === 10) {
|
|
1615
1626
|
parser.currentChar = parser.source.charCodeAt(++parser.index);
|
|
1616
1627
|
}
|
|
1628
|
+
if (char === 13)
|
|
1629
|
+
char = 10;
|
|
1617
1630
|
if (((char & 83) < 3 && char === 10) || (char ^ 8232) <= 1) {
|
|
1618
1631
|
parser.column = -1;
|
|
1619
1632
|
parser.line++;
|
|
@@ -1626,12 +1639,16 @@ function scanTemplate(parser, context) {
|
|
|
1626
1639
|
}
|
|
1627
1640
|
advanceChar(parser);
|
|
1628
1641
|
parser.tokenValue = ret;
|
|
1629
|
-
|
|
1642
|
+
const tokenRaw = parser.source.slice(start + 1, parser.index - (token === 67174409 ? 1 : 2));
|
|
1643
|
+
parser.tokenRaw = hasCarriageReturn ? tokenRaw.replaceAll(/\r\n?/g, '\n') : tokenRaw;
|
|
1630
1644
|
return token;
|
|
1631
1645
|
}
|
|
1632
|
-
function scanBadTemplate(parser, ch) {
|
|
1646
|
+
function scanBadTemplate(parser, ch, onCarriageReturn) {
|
|
1633
1647
|
while (ch !== 96) {
|
|
1634
1648
|
switch (ch) {
|
|
1649
|
+
case 13:
|
|
1650
|
+
onCarriageReturn();
|
|
1651
|
+
break;
|
|
1635
1652
|
case 36: {
|
|
1636
1653
|
const index = parser.index + 1;
|
|
1637
1654
|
if (index < parser.end && parser.source.charCodeAt(index) === 123) {
|
|
@@ -1662,42 +1679,42 @@ function scanTemplateTail(parser, context) {
|
|
|
1662
1679
|
}
|
|
1663
1680
|
|
|
1664
1681
|
const TokenLookup = [
|
|
1665
|
-
|
|
1666
|
-
|
|
1667
|
-
|
|
1668
|
-
|
|
1669
|
-
|
|
1670
|
-
|
|
1671
|
-
|
|
1672
|
-
|
|
1673
|
-
128,
|
|
1674
|
-
127,
|
|
1675
|
-
135,
|
|
1676
|
-
127,
|
|
1677
|
-
127,
|
|
1682
|
+
129,
|
|
1683
|
+
129,
|
|
1684
|
+
129,
|
|
1685
|
+
129,
|
|
1686
|
+
129,
|
|
1687
|
+
129,
|
|
1688
|
+
129,
|
|
1689
|
+
129,
|
|
1678
1690
|
129,
|
|
1679
1691
|
128,
|
|
1692
|
+
136,
|
|
1680
1693
|
128,
|
|
1681
1694
|
128,
|
|
1695
|
+
130,
|
|
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,
|
|
1712
|
+
129,
|
|
1713
|
+
129,
|
|
1682
1714
|
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
|
-
128,
|
|
1696
|
-
128,
|
|
1697
|
-
127,
|
|
1698
1715
|
16842798,
|
|
1699
1716
|
134283267,
|
|
1700
|
-
|
|
1717
|
+
131,
|
|
1701
1718
|
208897,
|
|
1702
1719
|
8391477,
|
|
1703
1720
|
8390213,
|
|
@@ -1726,7 +1743,7 @@ const TokenLookup = [
|
|
|
1726
1743
|
1077936155,
|
|
1727
1744
|
8390721,
|
|
1728
1745
|
22,
|
|
1729
|
-
|
|
1746
|
+
133,
|
|
1730
1747
|
208897,
|
|
1731
1748
|
208897,
|
|
1732
1749
|
208897,
|
|
@@ -1754,11 +1771,11 @@ const TokenLookup = [
|
|
|
1754
1771
|
208897,
|
|
1755
1772
|
208897,
|
|
1756
1773
|
69271571,
|
|
1757
|
-
|
|
1774
|
+
137,
|
|
1758
1775
|
20,
|
|
1759
1776
|
8389959,
|
|
1760
1777
|
208897,
|
|
1761
|
-
|
|
1778
|
+
132,
|
|
1762
1779
|
4096,
|
|
1763
1780
|
4096,
|
|
1764
1781
|
4096,
|
|
@@ -1789,7 +1806,7 @@ const TokenLookup = [
|
|
|
1789
1806
|
8389702,
|
|
1790
1807
|
1074790415,
|
|
1791
1808
|
16842799,
|
|
1792
|
-
|
|
1809
|
+
129,
|
|
1793
1810
|
];
|
|
1794
1811
|
function nextToken(parser, context) {
|
|
1795
1812
|
parser.flags = (parser.flags | 1) ^ 1;
|
|
@@ -1819,8 +1836,8 @@ function scanSingleToken(parser, context, state) {
|
|
|
1819
1836
|
case 1074790417:
|
|
1820
1837
|
case 18:
|
|
1821
1838
|
case 16842799:
|
|
1822
|
-
case
|
|
1823
|
-
case
|
|
1839
|
+
case 133:
|
|
1840
|
+
case 129:
|
|
1824
1841
|
advanceChar(parser);
|
|
1825
1842
|
return token;
|
|
1826
1843
|
case 208897:
|
|
@@ -1831,20 +1848,20 @@ function scanSingleToken(parser, context, state) {
|
|
|
1831
1848
|
return scanNumber(parser, context, 16 | 128);
|
|
1832
1849
|
case 134283267:
|
|
1833
1850
|
return scanString(parser, context, char);
|
|
1834
|
-
case
|
|
1851
|
+
case 132:
|
|
1835
1852
|
return scanTemplate(parser, context);
|
|
1836
|
-
case
|
|
1853
|
+
case 137:
|
|
1837
1854
|
return scanUnicodeIdentifier(parser, context);
|
|
1838
|
-
case
|
|
1855
|
+
case 131:
|
|
1839
1856
|
return scanPrivateIdentifier(parser);
|
|
1840
|
-
case
|
|
1857
|
+
case 128:
|
|
1841
1858
|
advanceChar(parser);
|
|
1842
1859
|
break;
|
|
1843
|
-
case
|
|
1860
|
+
case 130:
|
|
1844
1861
|
state |= 1 | 4;
|
|
1845
1862
|
scanNewLine(parser);
|
|
1846
1863
|
break;
|
|
1847
|
-
case
|
|
1864
|
+
case 136:
|
|
1848
1865
|
consumeLineFeed(parser, state);
|
|
1849
1866
|
state = (state & -5) | 1;
|
|
1850
1867
|
break;
|
|
@@ -2067,7 +2084,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2067
2084
|
advanceChar(parser);
|
|
2068
2085
|
return 4718634;
|
|
2069
2086
|
}
|
|
2070
|
-
return
|
|
2087
|
+
return 276824446;
|
|
2071
2088
|
}
|
|
2072
2089
|
if (ch === 46) {
|
|
2073
2090
|
const index = parser.index + 1;
|
|
@@ -2075,7 +2092,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2075
2092
|
ch = source.charCodeAt(index);
|
|
2076
2093
|
if (!(ch >= 48 && ch <= 57)) {
|
|
2077
2094
|
advanceChar(parser);
|
|
2078
|
-
return
|
|
2095
|
+
return 67108991;
|
|
2079
2096
|
}
|
|
2080
2097
|
}
|
|
2081
2098
|
}
|
|
@@ -2183,7 +2200,7 @@ function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {
|
|
|
2183
2200
|
parser.report(119);
|
|
2184
2201
|
}
|
|
2185
2202
|
}
|
|
2186
|
-
if ((t & 20480) === 20480 || t === -
|
|
2203
|
+
if ((t & 20480) === 20480 || t === -2147483527) {
|
|
2187
2204
|
parser.report(102);
|
|
2188
2205
|
}
|
|
2189
2206
|
if (kind & (8 | 16) && (t & 255) === (241737 & 255)) {
|
|
@@ -2204,10 +2221,10 @@ function validateFunctionName(parser, context, t) {
|
|
|
2204
2221
|
if ((t & 537079808) === 537079808) {
|
|
2205
2222
|
parser.report(119);
|
|
2206
2223
|
}
|
|
2207
|
-
if (t === -
|
|
2224
|
+
if (t === -2147483526) {
|
|
2208
2225
|
parser.report(95);
|
|
2209
2226
|
}
|
|
2210
|
-
if (t === -
|
|
2227
|
+
if (t === -2147483527) {
|
|
2211
2228
|
parser.report(95);
|
|
2212
2229
|
}
|
|
2213
2230
|
}
|
|
@@ -2231,7 +2248,7 @@ function isStrictReservedWord(parser, context, t) {
|
|
|
2231
2248
|
parser.report(97, 'yield');
|
|
2232
2249
|
return ((t & 20480) === 20480 ||
|
|
2233
2250
|
(t & 36864) === 36864 ||
|
|
2234
|
-
t == -
|
|
2251
|
+
t == -2147483526);
|
|
2235
2252
|
}
|
|
2236
2253
|
function isPropertyWithPrivateFieldKey(expr) {
|
|
2237
2254
|
return !expr.property ? false : expr.property.type === 'PrivateIdentifier';
|
|
@@ -4446,7 +4463,7 @@ const decodeMap = {
|
|
|
4446
4463
|
'159': 376,
|
|
4447
4464
|
};
|
|
4448
4465
|
function decodeHTMLStrict(text) {
|
|
4449
|
-
return text.
|
|
4466
|
+
return text.replaceAll(/&(?:[a-zA-Z]+|#[xX][\da-fA-F]+|#\d+);/g, (key) => {
|
|
4450
4467
|
if (key.charAt(1) === '#') {
|
|
4451
4468
|
const secondChar = key.charAt(2);
|
|
4452
4469
|
const codePoint = secondChar === 'X' || secondChar === 'x' ? parseInt(key.slice(3), 16) : parseInt(key.slice(2), 10);
|
|
@@ -4529,7 +4546,7 @@ function nextJSXToken(parser) {
|
|
|
4529
4546
|
if (parser.options.raw)
|
|
4530
4547
|
parser.tokenRaw = raw;
|
|
4531
4548
|
parser.tokenValue = decodeHTMLStrict(raw);
|
|
4532
|
-
parser.setToken(
|
|
4549
|
+
parser.setToken(138);
|
|
4533
4550
|
}
|
|
4534
4551
|
function rescanJSXIdentifier(parser) {
|
|
4535
4552
|
if ((parser.getToken() & 143360) === 143360) {
|
|
@@ -4932,7 +4949,7 @@ function parseSource(source, rawOptions = {}, context = 0) {
|
|
|
4932
4949
|
context |= 1;
|
|
4933
4950
|
skipHashBang(parser);
|
|
4934
4951
|
const scope = parser.createScopeIfLexical();
|
|
4935
|
-
let body
|
|
4952
|
+
let body;
|
|
4936
4953
|
let sourceType = 'script';
|
|
4937
4954
|
if (context & 2) {
|
|
4938
4955
|
sourceType = 'module';
|
|
@@ -4990,7 +5007,7 @@ function parseModuleItemList(parser, context, scope) {
|
|
|
4990
5007
|
return statements;
|
|
4991
5008
|
}
|
|
4992
5009
|
function parseModuleItem(parser, context, scope) {
|
|
4993
|
-
if (parser.getToken() ===
|
|
5010
|
+
if (parser.getToken() === 133) {
|
|
4994
5011
|
Object.assign(parser.leadingDecorators, {
|
|
4995
5012
|
start: parser.tokenStart,
|
|
4996
5013
|
decorators: parseDecorators(parser, context, undefined),
|
|
@@ -5017,13 +5034,21 @@ function parseStatementListItem(parser, context, scope, privateScope, origin, la
|
|
|
5017
5034
|
switch (parser.getToken()) {
|
|
5018
5035
|
case 86104:
|
|
5019
5036
|
return parseFunctionDeclaration(parser, context, scope, privateScope, origin, 1, 0, 0, start);
|
|
5020
|
-
case
|
|
5037
|
+
case 133:
|
|
5021
5038
|
case 86094:
|
|
5022
5039
|
return parseClassDeclaration(parser, context, scope, privateScope, 0);
|
|
5023
5040
|
case 86090:
|
|
5024
5041
|
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, 0);
|
|
5025
5042
|
case 241737:
|
|
5026
5043
|
return parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateScope, origin);
|
|
5044
|
+
case 209013:
|
|
5045
|
+
return parseUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels);
|
|
5046
|
+
case 209006:
|
|
5047
|
+
if ((context & 2048 || (context & 2 && context & 8)) &&
|
|
5048
|
+
nextTokenIsUsingOnSameLine(parser)) {
|
|
5049
|
+
return parseAwaitUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels);
|
|
5050
|
+
}
|
|
5051
|
+
return parseStatement(parser, context, scope, privateScope, origin, labels, 1);
|
|
5027
5052
|
case 20564:
|
|
5028
5053
|
parser.report(103, 'export');
|
|
5029
5054
|
case 86106:
|
|
@@ -5107,15 +5132,18 @@ function parseExpressionOrLabelledStatement(parser, context, scope, privateScope
|
|
|
5107
5132
|
default:
|
|
5108
5133
|
expr = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, parser.tokenStart);
|
|
5109
5134
|
}
|
|
5135
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl, expr, token, tokenValue, tokenStart);
|
|
5136
|
+
}
|
|
5137
|
+
function finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, allowFuncDecl, initialExpression, token, tokenValue, tokenStart) {
|
|
5110
5138
|
if (token & 143360 && parser.getToken() === 21) {
|
|
5111
|
-
return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue,
|
|
5139
|
+
return parseLabelledStatement(parser, context, scope, privateScope, origin, labels, tokenValue, initialExpression, token, allowFuncDecl, tokenStart);
|
|
5112
5140
|
}
|
|
5113
|
-
|
|
5114
|
-
|
|
5141
|
+
let expression = parseMemberOrUpdateExpression(parser, context, privateScope, initialExpression, 0, 0, tokenStart);
|
|
5142
|
+
expression = parseAssignmentExpression(parser, context, privateScope, 0, 0, tokenStart, expression);
|
|
5115
5143
|
if (parser.getToken() === 18) {
|
|
5116
|
-
|
|
5144
|
+
expression = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, expression);
|
|
5117
5145
|
}
|
|
5118
|
-
return parseExpressionStatement(parser, context,
|
|
5146
|
+
return parseExpressionStatement(parser, context, expression, tokenStart);
|
|
5119
5147
|
}
|
|
5120
5148
|
function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
|
|
5121
5149
|
const body = [];
|
|
@@ -5304,9 +5332,14 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
|
5304
5332
|
while (parser.getToken() !== 20556 &&
|
|
5305
5333
|
parser.getToken() !== 1074790415 &&
|
|
5306
5334
|
parser.getToken() !== 20561) {
|
|
5307
|
-
|
|
5335
|
+
const statement = parseStatementListItem(parser, context | 4, scope, privateScope, 2, {
|
|
5308
5336
|
$: labels,
|
|
5309
|
-
})
|
|
5337
|
+
});
|
|
5338
|
+
if (statement.type === 'VariableDeclaration' &&
|
|
5339
|
+
(statement.kind === 'using' || statement.kind === 'await using')) {
|
|
5340
|
+
parser.report(30, statement.kind);
|
|
5341
|
+
}
|
|
5342
|
+
consequent.push(statement);
|
|
5310
5343
|
}
|
|
5311
5344
|
cases.push(parser.finishNode({
|
|
5312
5345
|
type: 'SwitchCase',
|
|
@@ -5425,7 +5458,6 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
5425
5458
|
}
|
|
5426
5459
|
function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
5427
5460
|
let param = null;
|
|
5428
|
-
let additionalScope = scope;
|
|
5429
5461
|
if (consumeOpt(parser, context, 67174411)) {
|
|
5430
5462
|
scope = scope?.createChildScope(4);
|
|
5431
5463
|
param = parseBindingPattern(parser, context, scope, privateScope, (parser.getToken() & 2097152) === 2097152
|
|
@@ -5439,7 +5471,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
|
5439
5471
|
}
|
|
5440
5472
|
consume(parser, context | 32, 16);
|
|
5441
5473
|
}
|
|
5442
|
-
additionalScope = scope?.createChildScope(32);
|
|
5474
|
+
const additionalScope = scope?.createChildScope(32);
|
|
5443
5475
|
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
|
|
5444
5476
|
return parser.finishNode({
|
|
5445
5477
|
type: 'CatchClause',
|
|
@@ -5477,7 +5509,8 @@ function parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateS
|
|
|
5477
5509
|
const { tokenValue, tokenStart } = parser;
|
|
5478
5510
|
const token = parser.getToken();
|
|
5479
5511
|
let expr = parseIdentifier(parser, context);
|
|
5480
|
-
if (parser.getToken() & (143360 | 2097152)
|
|
5512
|
+
if (parser.getToken() & (143360 | 2097152) &&
|
|
5513
|
+
(parser.getToken() & 20480) !== 20480) {
|
|
5481
5514
|
const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, 8, 0);
|
|
5482
5515
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5483
5516
|
return parser.finishNode({
|
|
@@ -5508,14 +5541,90 @@ function parseLetIdentOrVarDeclarationStatement(parser, context, scope, privateS
|
|
|
5508
5541
|
}
|
|
5509
5542
|
return parseExpressionStatement(parser, context, expr, tokenStart);
|
|
5510
5543
|
}
|
|
5511
|
-
function
|
|
5544
|
+
function nextTokenIsUsingOnSameLine(parser) {
|
|
5545
|
+
const { index: parserIndex, source } = parser;
|
|
5546
|
+
let index = parserIndex;
|
|
5547
|
+
while (index < parser.end) {
|
|
5548
|
+
const char = source.charCodeAt(index);
|
|
5549
|
+
if (char === 0x0a || char === 0x0d || char === 0x2028 || char === 0x2029)
|
|
5550
|
+
return false;
|
|
5551
|
+
if (/\s/u.test(source[index])) {
|
|
5552
|
+
index++;
|
|
5553
|
+
continue;
|
|
5554
|
+
}
|
|
5555
|
+
if (char === 0x2f && source.charCodeAt(index + 1) === 0x2a) {
|
|
5556
|
+
index += 2;
|
|
5557
|
+
while (index < parser.end) {
|
|
5558
|
+
const commentChar = source.charCodeAt(index);
|
|
5559
|
+
if (commentChar === 0x0a || commentChar === 0x0d || commentChar === 0x2028 || commentChar === 0x2029) {
|
|
5560
|
+
return false;
|
|
5561
|
+
}
|
|
5562
|
+
if (commentChar === 0x2a && source.charCodeAt(index + 1) === 0x2f) {
|
|
5563
|
+
index += 2;
|
|
5564
|
+
break;
|
|
5565
|
+
}
|
|
5566
|
+
index++;
|
|
5567
|
+
}
|
|
5568
|
+
continue;
|
|
5569
|
+
}
|
|
5570
|
+
break;
|
|
5571
|
+
}
|
|
5572
|
+
if (source.slice(index, index + 5) !== 'using')
|
|
5573
|
+
return false;
|
|
5574
|
+
const following = source.codePointAt(index + 5);
|
|
5575
|
+
return following === undefined || (following !== 0x5c && !isIdentifierPart(following));
|
|
5576
|
+
}
|
|
5577
|
+
function isResourceBindingStart(token) {
|
|
5578
|
+
return (token & 143360) === 143360 && (token & 20480) !== 20480;
|
|
5579
|
+
}
|
|
5580
|
+
function parseUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels) {
|
|
5581
|
+
const { tokenStart, tokenValue } = parser;
|
|
5582
|
+
const token = parser.getToken();
|
|
5583
|
+
const expression = parseIdentifier(parser, context);
|
|
5584
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5585
|
+
if (origin & 4 && context & 8 && (context & 2) === 0) {
|
|
5586
|
+
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
5587
|
+
}
|
|
5588
|
+
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, origin, 'using', tokenStart, 1);
|
|
5589
|
+
}
|
|
5590
|
+
parser.assignable = 1;
|
|
5591
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, 1, expression, token, tokenValue, tokenStart);
|
|
5592
|
+
}
|
|
5593
|
+
function parseAwaitUsingDeclarationOrExpressionStatement(parser, context, scope, privateScope, origin, labels) {
|
|
5512
5594
|
const start = parser.tokenStart;
|
|
5513
|
-
|
|
5514
|
-
|
|
5595
|
+
if (context & 524288)
|
|
5596
|
+
parser.report(177);
|
|
5597
|
+
nextToken(parser, context | 32);
|
|
5598
|
+
let argument;
|
|
5599
|
+
if ((parser.flags & 1) === 0 && parser.getToken() === 209013) {
|
|
5600
|
+
const usingStart = parser.tokenStart;
|
|
5601
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5602
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5603
|
+
return parseLexicalDeclaration(parser, context, scope, privateScope, 16, origin, 'await using', start, 1);
|
|
5604
|
+
}
|
|
5605
|
+
argument = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, usingStart);
|
|
5606
|
+
}
|
|
5607
|
+
else {
|
|
5608
|
+
argument = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);
|
|
5609
|
+
}
|
|
5610
|
+
if (parser.getToken() === 8391735)
|
|
5611
|
+
parser.report(33);
|
|
5612
|
+
parser.assignable = 2;
|
|
5613
|
+
const expression = parser.finishNode({
|
|
5614
|
+
type: 'AwaitExpression',
|
|
5615
|
+
argument,
|
|
5616
|
+
}, start);
|
|
5617
|
+
return finishExpressionOrLabelledStatement(parser, context, scope, privateScope, origin, labels, 0, expression, 1048576, '', start);
|
|
5618
|
+
}
|
|
5619
|
+
function parseLexicalDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind, declarationStart = parser.tokenStart, keywordConsumed = 0) {
|
|
5620
|
+
const start = declarationStart;
|
|
5621
|
+
if (!keywordConsumed)
|
|
5622
|
+
nextToken(parser, context);
|
|
5623
|
+
const declarations = parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5515
5624
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5516
5625
|
return parser.finishNode({
|
|
5517
5626
|
type: 'VariableDeclaration',
|
|
5518
|
-
kind: kind & 8 ? 'let' : 'const',
|
|
5627
|
+
kind: declarationKind ?? (kind & 8 ? 'let' : 'const'),
|
|
5519
5628
|
declarations,
|
|
5520
5629
|
}, start);
|
|
5521
5630
|
}
|
|
@@ -5530,24 +5639,34 @@ function parseVariableStatement(parser, context, scope, privateScope, origin) {
|
|
|
5530
5639
|
declarations,
|
|
5531
5640
|
}, start);
|
|
5532
5641
|
}
|
|
5533
|
-
function parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin) {
|
|
5642
|
+
function parseVariableDeclarationList(parser, context, scope, privateScope, kind, origin, declarationKind) {
|
|
5534
5643
|
let bindingCount = 1;
|
|
5535
|
-
const
|
|
5536
|
-
|
|
5537
|
-
];
|
|
5644
|
+
const firstDeclaration = parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5645
|
+
const list = [firstDeclaration];
|
|
5646
|
+
const resourceNames = declarationKind && parser.options.lexical ? new Set([firstDeclaration.id.name]) : undefined;
|
|
5538
5647
|
while (consumeOpt(parser, context, 18)) {
|
|
5539
5648
|
bindingCount++;
|
|
5540
|
-
|
|
5649
|
+
const declaration = parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind);
|
|
5650
|
+
if (resourceNames) {
|
|
5651
|
+
const { name } = declaration.id;
|
|
5652
|
+
if (resourceNames.has(name))
|
|
5653
|
+
parser.report(145, name);
|
|
5654
|
+
resourceNames.add(name);
|
|
5655
|
+
}
|
|
5656
|
+
list.push(declaration);
|
|
5541
5657
|
}
|
|
5542
5658
|
if (bindingCount > 1 && origin & 32 && parser.getToken() & 262144) {
|
|
5543
5659
|
parser.report(61, KeywordDescTable[parser.getToken() & 255]);
|
|
5544
5660
|
}
|
|
5545
5661
|
return list;
|
|
5546
5662
|
}
|
|
5547
|
-
function parseVariableDeclaration(parser, context, scope, privateScope, kind, origin) {
|
|
5663
|
+
function parseVariableDeclaration(parser, context, scope, privateScope, kind, origin, declarationKind) {
|
|
5548
5664
|
const { tokenStart } = parser;
|
|
5549
5665
|
const token = parser.getToken();
|
|
5550
5666
|
let init = null;
|
|
5667
|
+
if (declarationKind && (token & 2097152) === 2097152) {
|
|
5668
|
+
parser.report(50);
|
|
5669
|
+
}
|
|
5551
5670
|
const id = parseBindingPattern(parser, context, scope, privateScope, kind, origin);
|
|
5552
5671
|
if (parser.getToken() === 1077936155) {
|
|
5553
5672
|
nextToken(parser, context | 32);
|
|
@@ -5562,7 +5681,7 @@ function parseVariableDeclaration(parser, context, scope, privateScope, kind, or
|
|
|
5562
5681
|
}
|
|
5563
5682
|
else if ((kind & 16 || (token & 2097152) > 0) &&
|
|
5564
5683
|
(parser.getToken() & 262144) !== 262144) {
|
|
5565
|
-
parser.report(59, kind & 16 ? 'const' : 'destructuring');
|
|
5684
|
+
parser.report(59, declarationKind ?? (kind & 16 ? 'const' : 'destructuring'));
|
|
5566
5685
|
}
|
|
5567
5686
|
return parser.finishNode({
|
|
5568
5687
|
type: 'VariableDeclarator',
|
|
@@ -5583,25 +5702,23 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5583
5702
|
let init = null;
|
|
5584
5703
|
let isVarDecl = parser.getToken() === 86088 ||
|
|
5585
5704
|
parser.getToken() === 241737 ||
|
|
5586
|
-
parser.getToken() === 86090
|
|
5705
|
+
parser.getToken() === 86090 ||
|
|
5706
|
+
parser.getToken() === 209013;
|
|
5707
|
+
let resourceDeclarationKind;
|
|
5708
|
+
let consumedForOfDelimiter = false;
|
|
5587
5709
|
let right;
|
|
5588
5710
|
const { tokenStart } = parser;
|
|
5589
5711
|
const token = parser.getToken();
|
|
5590
5712
|
if (isVarDecl) {
|
|
5591
5713
|
if (token === 241737) {
|
|
5592
5714
|
init = parseIdentifier(parser, context);
|
|
5593
|
-
if (parser.getToken() & (143360 | 2097152)
|
|
5594
|
-
|
|
5595
|
-
|
|
5596
|
-
|
|
5597
|
-
|
|
5598
|
-
|
|
5599
|
-
|
|
5600
|
-
type: 'VariableDeclaration',
|
|
5601
|
-
kind: 'let',
|
|
5602
|
-
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
|
|
5603
|
-
}, tokenStart);
|
|
5604
|
-
}
|
|
5715
|
+
if (parser.getToken() & (143360 | 2097152) &&
|
|
5716
|
+
(parser.getToken() & 20480) !== 20480) {
|
|
5717
|
+
init = parser.finishNode({
|
|
5718
|
+
type: 'VariableDeclaration',
|
|
5719
|
+
kind: 'let',
|
|
5720
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 8, 32),
|
|
5721
|
+
}, tokenStart);
|
|
5605
5722
|
parser.assignable = 1;
|
|
5606
5723
|
}
|
|
5607
5724
|
else if (context & 1) {
|
|
@@ -5615,6 +5732,81 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5615
5732
|
parser.report(115);
|
|
5616
5733
|
}
|
|
5617
5734
|
}
|
|
5735
|
+
else if (token === 209013) {
|
|
5736
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5737
|
+
if ((parser.flags & 1) !== 0 || !isResourceBindingStart(parser.getToken())) {
|
|
5738
|
+
isVarDecl = false;
|
|
5739
|
+
parser.assignable = 1;
|
|
5740
|
+
init = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, tokenStart);
|
|
5741
|
+
}
|
|
5742
|
+
else if (parser.getToken() === 471156) {
|
|
5743
|
+
const ofStart = parser.tokenStart;
|
|
5744
|
+
const ofToken = parser.getToken();
|
|
5745
|
+
const ofValue = parser.tokenValue;
|
|
5746
|
+
const ofIdentifier = parseIdentifier(parser, context);
|
|
5747
|
+
if (parser.getToken() !== 1077936155 &&
|
|
5748
|
+
parser.getToken() !== 8673330 &&
|
|
5749
|
+
parser.getToken() !== 1074790417 &&
|
|
5750
|
+
parser.getToken() !== 18) {
|
|
5751
|
+
isVarDecl = false;
|
|
5752
|
+
consumedForOfDelimiter = true;
|
|
5753
|
+
parser.assignable = 1;
|
|
5754
|
+
init = usingIdentifier;
|
|
5755
|
+
}
|
|
5756
|
+
else {
|
|
5757
|
+
resourceDeclarationKind = 'using';
|
|
5758
|
+
validateBindingIdentifier(parser, context, 16, ofToken, 0);
|
|
5759
|
+
scope?.addBlockName(context, ofValue, 16, 32);
|
|
5760
|
+
let declarationInitializer = null;
|
|
5761
|
+
if (parser.getToken() === 1077936155) {
|
|
5762
|
+
nextToken(parser, context | 32);
|
|
5763
|
+
declarationInitializer = parseExpression(parser, context | 131072, privateScope, 1, 0, parser.tokenStart);
|
|
5764
|
+
if ((parser.getToken() & 262144) === 262144) {
|
|
5765
|
+
throw new ParseError(ofStart, parser.currentLocation, 60, parser.getToken() === 471156 ? 'of' : 'in');
|
|
5766
|
+
}
|
|
5767
|
+
}
|
|
5768
|
+
else if (parser.getToken() !== 8673330) {
|
|
5769
|
+
parser.report(59, resourceDeclarationKind);
|
|
5770
|
+
}
|
|
5771
|
+
const declarations = [
|
|
5772
|
+
parser.finishNode({
|
|
5773
|
+
type: 'VariableDeclarator',
|
|
5774
|
+
id: ofIdentifier,
|
|
5775
|
+
init: declarationInitializer,
|
|
5776
|
+
}, ofStart),
|
|
5777
|
+
];
|
|
5778
|
+
const resourceNames = parser.options.lexical ? new Set([ofValue]) : undefined;
|
|
5779
|
+
while (consumeOpt(parser, context | 131072, 18)) {
|
|
5780
|
+
const declaration = parseVariableDeclaration(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind);
|
|
5781
|
+
if (resourceNames) {
|
|
5782
|
+
const { name } = declaration.id;
|
|
5783
|
+
if (resourceNames.has(name))
|
|
5784
|
+
parser.report(145, name);
|
|
5785
|
+
resourceNames.add(name);
|
|
5786
|
+
}
|
|
5787
|
+
declarations.push(declaration);
|
|
5788
|
+
}
|
|
5789
|
+
if (declarations.length > 1 && parser.getToken() & 262144) {
|
|
5790
|
+
parser.report(61, KeywordDescTable[parser.getToken() & 255]);
|
|
5791
|
+
}
|
|
5792
|
+
init = parser.finishNode({
|
|
5793
|
+
type: 'VariableDeclaration',
|
|
5794
|
+
kind: resourceDeclarationKind,
|
|
5795
|
+
declarations,
|
|
5796
|
+
}, tokenStart);
|
|
5797
|
+
parser.assignable = 1;
|
|
5798
|
+
}
|
|
5799
|
+
}
|
|
5800
|
+
else {
|
|
5801
|
+
resourceDeclarationKind = 'using';
|
|
5802
|
+
init = parser.finishNode({
|
|
5803
|
+
type: 'VariableDeclaration',
|
|
5804
|
+
kind: resourceDeclarationKind,
|
|
5805
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind),
|
|
5806
|
+
}, tokenStart);
|
|
5807
|
+
parser.assignable = 1;
|
|
5808
|
+
}
|
|
5809
|
+
}
|
|
5618
5810
|
else {
|
|
5619
5811
|
nextToken(parser, context);
|
|
5620
5812
|
init = parser.finishNode(token === 86088
|
|
@@ -5631,6 +5823,42 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5631
5823
|
parser.assignable = 1;
|
|
5632
5824
|
}
|
|
5633
5825
|
}
|
|
5826
|
+
else if (token === 209006 &&
|
|
5827
|
+
(context & 2048 || (context & 2 && context & 8))) {
|
|
5828
|
+
if (context & 524288)
|
|
5829
|
+
parser.report(177);
|
|
5830
|
+
nextToken(parser, context | 32);
|
|
5831
|
+
let awaitArgument;
|
|
5832
|
+
if ((parser.flags & 1) === 0 && parser.getToken() === 209013) {
|
|
5833
|
+
const usingStart = parser.tokenStart;
|
|
5834
|
+
const usingIdentifier = parseIdentifier(parser, context);
|
|
5835
|
+
if ((parser.flags & 1) === 0 && isResourceBindingStart(parser.getToken())) {
|
|
5836
|
+
resourceDeclarationKind = 'await using';
|
|
5837
|
+
isVarDecl = true;
|
|
5838
|
+
init = parser.finishNode({
|
|
5839
|
+
type: 'VariableDeclaration',
|
|
5840
|
+
kind: resourceDeclarationKind,
|
|
5841
|
+
declarations: parseVariableDeclarationList(parser, context | 131072, scope, privateScope, 16, 32, resourceDeclarationKind),
|
|
5842
|
+
}, tokenStart);
|
|
5843
|
+
parser.assignable = 1;
|
|
5844
|
+
}
|
|
5845
|
+
else {
|
|
5846
|
+
awaitArgument = parseMemberOrUpdateExpression(parser, context, privateScope, usingIdentifier, 0, 0, usingStart);
|
|
5847
|
+
}
|
|
5848
|
+
}
|
|
5849
|
+
else {
|
|
5850
|
+
awaitArgument = parseLeftHandSideExpression(parser, context, privateScope, 0, 0, 1);
|
|
5851
|
+
}
|
|
5852
|
+
if (!isVarDecl) {
|
|
5853
|
+
if (parser.getToken() === 8391735)
|
|
5854
|
+
parser.report(33);
|
|
5855
|
+
parser.assignable = 2;
|
|
5856
|
+
init = parser.finishNode({
|
|
5857
|
+
type: 'AwaitExpression',
|
|
5858
|
+
argument: awaitArgument,
|
|
5859
|
+
}, tokenStart);
|
|
5860
|
+
}
|
|
5861
|
+
}
|
|
5634
5862
|
else if (token === 1074790417) {
|
|
5635
5863
|
if (forAwait)
|
|
5636
5864
|
parser.report(82);
|
|
@@ -5652,12 +5880,13 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5652
5880
|
else {
|
|
5653
5881
|
init = parseLeftHandSideExpression(parser, context | 131072, privateScope, 1, 0, 1);
|
|
5654
5882
|
}
|
|
5655
|
-
if ((parser.getToken() & 262144) === 262144) {
|
|
5656
|
-
if (parser.getToken() === 471156) {
|
|
5883
|
+
if (consumedForOfDelimiter || (parser.getToken() & 262144) === 262144) {
|
|
5884
|
+
if (consumedForOfDelimiter || parser.getToken() === 471156) {
|
|
5657
5885
|
if (parser.assignable & 2)
|
|
5658
5886
|
parser.report(80, forAwait ? 'await' : 'of');
|
|
5659
5887
|
reinterpretToPattern(parser, init);
|
|
5660
|
-
|
|
5888
|
+
if (!consumedForOfDelimiter)
|
|
5889
|
+
nextToken(parser, context | 32);
|
|
5661
5890
|
right = parseExpression(parser, context, privateScope, 1, 0, parser.tokenStart);
|
|
5662
5891
|
consume(parser, context | 32, 16);
|
|
5663
5892
|
const body = parseIterationStatementBody(parser, context, scope, privateScope, labels);
|
|
@@ -5669,6 +5898,8 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5669
5898
|
await: forAwait,
|
|
5670
5899
|
}, start);
|
|
5671
5900
|
}
|
|
5901
|
+
if (resourceDeclarationKind)
|
|
5902
|
+
parser.report(30, 'in');
|
|
5672
5903
|
if (parser.assignable & 2)
|
|
5673
5904
|
parser.report(80, 'in');
|
|
5674
5905
|
reinterpretToPattern(parser, init);
|
|
@@ -5722,7 +5953,7 @@ function parseRestrictedIdentifier(parser, context, scope) {
|
|
|
5722
5953
|
function parseImportDeclaration(parser, context, scope) {
|
|
5723
5954
|
const start = parser.tokenStart;
|
|
5724
5955
|
nextToken(parser, context);
|
|
5725
|
-
let source
|
|
5956
|
+
let source;
|
|
5726
5957
|
const { tokenStart } = parser;
|
|
5727
5958
|
let specifiers = [];
|
|
5728
5959
|
if (parser.getToken() === 134283267) {
|
|
@@ -5866,7 +6097,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5866
6097
|
declaration = parseFunctionDeclaration(parser, context, scope, undefined, 4, 1, 1, 0, parser.tokenStart);
|
|
5867
6098
|
break;
|
|
5868
6099
|
}
|
|
5869
|
-
case
|
|
6100
|
+
case 133:
|
|
5870
6101
|
case 86094:
|
|
5871
6102
|
declaration = parseClassDeclaration(parser, context, scope, undefined, 1);
|
|
5872
6103
|
break;
|
|
@@ -5989,7 +6220,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5989
6220
|
matchOrInsertSemicolon(parser, context | 32);
|
|
5990
6221
|
break;
|
|
5991
6222
|
}
|
|
5992
|
-
case
|
|
6223
|
+
case 133:
|
|
5993
6224
|
case 86094:
|
|
5994
6225
|
declaration = parseClassDeclaration(parser, context, scope, undefined, 2);
|
|
5995
6226
|
break;
|
|
@@ -6327,7 +6558,7 @@ function parseSuperExpression(parser, context) {
|
|
|
6327
6558
|
const { tokenStart } = parser;
|
|
6328
6559
|
nextToken(parser, context);
|
|
6329
6560
|
switch (parser.getToken()) {
|
|
6330
|
-
case
|
|
6561
|
+
case 67108991:
|
|
6331
6562
|
parser.report(167);
|
|
6332
6563
|
case 67174411: {
|
|
6333
6564
|
if ((context & 512) === 0)
|
|
@@ -6374,10 +6605,13 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6374
6605
|
switch (parser.getToken()) {
|
|
6375
6606
|
case 67108877: {
|
|
6376
6607
|
nextToken(parser, (context | 262144 | 8) ^ 8);
|
|
6377
|
-
if (context & 16 && parser.getToken() ===
|
|
6608
|
+
if (context & 16 && parser.getToken() === 131 && parser.tokenValue === 'super') {
|
|
6378
6609
|
parser.report(173);
|
|
6379
6610
|
}
|
|
6380
|
-
parser.assignable =
|
|
6611
|
+
parser.assignable =
|
|
6612
|
+
(parser.flags & 2048) === 2048
|
|
6613
|
+
? 2
|
|
6614
|
+
: 1;
|
|
6381
6615
|
const property = parsePropertyOrPrivatePropertyName(parser, context | 64, privateScope);
|
|
6382
6616
|
expr = parser.finishNode({
|
|
6383
6617
|
type: 'MemberExpression',
|
|
@@ -6402,7 +6636,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6402
6636
|
const { tokenStart } = parser;
|
|
6403
6637
|
const property = parseExpressions(parser, context, privateScope, inGroup, 1, tokenStart);
|
|
6404
6638
|
consume(parser, context, 20);
|
|
6405
|
-
parser.assignable = 1;
|
|
6639
|
+
parser.assignable = restoreHasOptionalChaining ? 2 : 1;
|
|
6406
6640
|
expr = parser.finishNode({
|
|
6407
6641
|
type: 'MemberExpression',
|
|
6408
6642
|
object: expr,
|
|
@@ -6443,7 +6677,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6443
6677
|
}
|
|
6444
6678
|
break;
|
|
6445
6679
|
}
|
|
6446
|
-
case
|
|
6680
|
+
case 67108991: {
|
|
6447
6681
|
nextToken(parser, (context | 262144 | 8) ^ 8);
|
|
6448
6682
|
parser.flags |= 2048;
|
|
6449
6683
|
parser.assignable = 2;
|
|
@@ -6530,12 +6764,12 @@ function parseOptionalChain(parser, context, privateScope, expr, start) {
|
|
|
6530
6764
|
}
|
|
6531
6765
|
function parsePropertyOrPrivatePropertyName(parser, context, privateScope) {
|
|
6532
6766
|
if ((parser.getToken() & 143360) === 0 &&
|
|
6533
|
-
parser.getToken() !== -2147483528 &&
|
|
6534
6767
|
parser.getToken() !== -2147483527 &&
|
|
6535
|
-
parser.getToken() !==
|
|
6768
|
+
parser.getToken() !== -2147483526 &&
|
|
6769
|
+
parser.getToken() !== 131) {
|
|
6536
6770
|
parser.report(160);
|
|
6537
6771
|
}
|
|
6538
|
-
return parser.getToken() ===
|
|
6772
|
+
return parser.getToken() === 131
|
|
6539
6773
|
? parsePrivateIdentifier(parser, context, privateScope, 0)
|
|
6540
6774
|
: parseIdentifier(parser, context);
|
|
6541
6775
|
}
|
|
@@ -6628,7 +6862,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6628
6862
|
return parseThisExpression(parser, context);
|
|
6629
6863
|
case 65540:
|
|
6630
6864
|
return parseRegExpLiteral(parser, context);
|
|
6631
|
-
case
|
|
6865
|
+
case 133:
|
|
6632
6866
|
case 86094:
|
|
6633
6867
|
return parseClassExpression(parser, context, privateScope, inGroup, start);
|
|
6634
6868
|
case 86109:
|
|
@@ -6639,9 +6873,9 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6639
6873
|
return parseTemplate(parser, context, privateScope);
|
|
6640
6874
|
case 86107:
|
|
6641
6875
|
return parseNewExpression(parser, context, privateScope, inGroup);
|
|
6642
|
-
case
|
|
6876
|
+
case 134283389:
|
|
6643
6877
|
return parseBigIntLiteral(parser, context);
|
|
6644
|
-
case
|
|
6878
|
+
case 131:
|
|
6645
6879
|
return parsePrivateIdentifier(parser, context, privateScope, 0);
|
|
6646
6880
|
case 86106:
|
|
6647
6881
|
return parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start);
|
|
@@ -6670,7 +6904,7 @@ function parseImportMetaExpression(parser, context, meta, start) {
|
|
|
6670
6904
|
parser.report(169);
|
|
6671
6905
|
nextToken(parser, context);
|
|
6672
6906
|
const token = parser.getToken();
|
|
6673
|
-
if (token !==
|
|
6907
|
+
if (token !== 209031 && parser.tokenValue !== 'meta') {
|
|
6674
6908
|
parser.report(174);
|
|
6675
6909
|
}
|
|
6676
6910
|
else if (token & -2147483648) {
|
|
@@ -6718,7 +6952,7 @@ function parseImportAttributes(parser, context) {
|
|
|
6718
6952
|
const value = parseStringLiteral(parser, context);
|
|
6719
6953
|
const keyContent = key.type === 'Literal' ? key.value : key.name;
|
|
6720
6954
|
if (keysContent.has(keyContent)) {
|
|
6721
|
-
parser.report(145,
|
|
6955
|
+
parser.report(145, keyContent);
|
|
6722
6956
|
}
|
|
6723
6957
|
keysContent.add(keyContent);
|
|
6724
6958
|
attributes.push(parser.finishNode({
|
|
@@ -6815,6 +7049,7 @@ function parseTemplate(parser, context, privateScope) {
|
|
|
6815
7049
|
consume(parser, context, 67174409);
|
|
6816
7050
|
quasis.push(parseTemplateElement(parser, tokenValue, tokenRaw, tokenStart, true));
|
|
6817
7051
|
}
|
|
7052
|
+
parser.assignable = 2;
|
|
6818
7053
|
return parser.finishNode({
|
|
6819
7054
|
type: 'TemplateLiteral',
|
|
6820
7055
|
expressions,
|
|
@@ -6893,7 +7128,7 @@ function parseIdentifier(parser, context) {
|
|
|
6893
7128
|
}
|
|
6894
7129
|
function parseLiteral(parser, context) {
|
|
6895
7130
|
const { tokenValue, tokenRaw, tokenStart } = parser;
|
|
6896
|
-
if (parser.getToken() ===
|
|
7131
|
+
if (parser.getToken() === 134283389) {
|
|
6897
7132
|
return parseBigIntLiteral(parser, context);
|
|
6898
7133
|
}
|
|
6899
7134
|
const node = {
|
|
@@ -7410,9 +7645,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7410
7645
|
let key = null;
|
|
7411
7646
|
let value;
|
|
7412
7647
|
if (parser.getToken() & 143360 ||
|
|
7413
|
-
parser.getToken() === -
|
|
7414
|
-
parser.getToken() === -
|
|
7415
|
-
if (parser.getToken() === -
|
|
7648
|
+
parser.getToken() === -2147483527 ||
|
|
7649
|
+
parser.getToken() === -2147483526) {
|
|
7650
|
+
if (parser.getToken() === -2147483526)
|
|
7416
7651
|
destructible |= 16;
|
|
7417
7652
|
key = parseIdentifier(parser, context);
|
|
7418
7653
|
if (parser.getToken() === 18 ||
|
|
@@ -7444,7 +7679,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7444
7679
|
else {
|
|
7445
7680
|
destructible |=
|
|
7446
7681
|
(token === 209006 ? 128 : 0) |
|
|
7447
|
-
(token === -
|
|
7682
|
+
(token === -2147483527 ? 16 : 0);
|
|
7448
7683
|
value = parser.cloneIdentifier(key);
|
|
7449
7684
|
}
|
|
7450
7685
|
}
|
|
@@ -7571,7 +7806,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7571
7806
|
}
|
|
7572
7807
|
else if (parser.getToken() & 143360) {
|
|
7573
7808
|
destructible |= 16;
|
|
7574
|
-
if (token === -
|
|
7809
|
+
if (token === -2147483527)
|
|
7575
7810
|
parser.report(95);
|
|
7576
7811
|
if (token === 209005) {
|
|
7577
7812
|
if (parser.flags & 1)
|
|
@@ -8382,7 +8617,7 @@ function parseNewExpression(parser, context, privateScope, inGroup) {
|
|
|
8382
8617
|
const id = parseIdentifier(parser, context | 32);
|
|
8383
8618
|
const { tokenStart } = parser;
|
|
8384
8619
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8385
|
-
if (context & 65536 && parser.getToken() ===
|
|
8620
|
+
if (context & 65536 && parser.getToken() === 209030) {
|
|
8386
8621
|
parser.assignable = 2;
|
|
8387
8622
|
return parseMetaProperty(parser, context, id, start);
|
|
8388
8623
|
}
|
|
@@ -8394,7 +8629,7 @@ function parseNewExpression(parser, context, privateScope, inGroup) {
|
|
|
8394
8629
|
}
|
|
8395
8630
|
const expr = parsePrimaryExpression(parser, context, privateScope, 2, 1, 0, inGroup, 1, tokenStart);
|
|
8396
8631
|
context = (context | 131072) ^ 131072;
|
|
8397
|
-
if (parser.getToken() ===
|
|
8632
|
+
if (parser.getToken() === 67108991)
|
|
8398
8633
|
parser.report(168);
|
|
8399
8634
|
const callee = parseMemberExpressionNoCall(parser, context, privateScope, expr, inGroup, tokenStart);
|
|
8400
8635
|
parser.assignable = 2;
|
|
@@ -8448,7 +8683,7 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8448
8683
|
}, start);
|
|
8449
8684
|
}
|
|
8450
8685
|
let destructible = 0;
|
|
8451
|
-
let expr
|
|
8686
|
+
let expr;
|
|
8452
8687
|
let isNonSimpleParameterList = 0;
|
|
8453
8688
|
parser.destructible =
|
|
8454
8689
|
(parser.destructible | 256 | 128) ^
|
|
@@ -8595,7 +8830,7 @@ function parseClassDeclaration(parser, context, scope, privateScope, flags) {
|
|
|
8595
8830
|
let start;
|
|
8596
8831
|
let decorators;
|
|
8597
8832
|
if (parser.leadingDecorators.decorators.length) {
|
|
8598
|
-
if (parser.getToken() ===
|
|
8833
|
+
if (parser.getToken() === 133) {
|
|
8599
8834
|
parser.report(30, '@');
|
|
8600
8835
|
}
|
|
8601
8836
|
start = parser.leadingDecorators.start;
|
|
@@ -8684,7 +8919,7 @@ function parseClassExpression(parser, context, privateScope, inGroup, start) {
|
|
|
8684
8919
|
function parseDecorators(parser, context, privateScope) {
|
|
8685
8920
|
const list = [];
|
|
8686
8921
|
if (parser.options.next) {
|
|
8687
|
-
while (parser.getToken() ===
|
|
8922
|
+
while (parser.getToken() === 133) {
|
|
8688
8923
|
list.push(parseDecoratorList(parser, context, privateScope));
|
|
8689
8924
|
}
|
|
8690
8925
|
}
|
|
@@ -8737,7 +8972,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8737
8972
|
let kind = isStatic ? 32 : 0;
|
|
8738
8973
|
let key = null;
|
|
8739
8974
|
const token = parser.getToken();
|
|
8740
|
-
if (token & (143360 | 36864) || token === -
|
|
8975
|
+
if (token & (143360 | 36864) || token === -2147483527) {
|
|
8741
8976
|
key = parseIdentifier(parser, context);
|
|
8742
8977
|
switch (token) {
|
|
8743
8978
|
case 36970:
|
|
@@ -8758,6 +8993,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8758
8993
|
break;
|
|
8759
8994
|
case 209008:
|
|
8760
8995
|
if (parser.getToken() !== 67174411) {
|
|
8996
|
+
if (parser.getToken() === 8391476 && parser.flags & 1) {
|
|
8997
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8998
|
+
}
|
|
8761
8999
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8762
9000
|
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8763
9001
|
}
|
|
@@ -8766,6 +9004,9 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8766
9004
|
break;
|
|
8767
9005
|
case 209009:
|
|
8768
9006
|
if (parser.getToken() !== 67174411) {
|
|
9007
|
+
if (parser.getToken() === 8391476 && parser.flags & 1) {
|
|
9008
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
9009
|
+
}
|
|
8769
9010
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8770
9011
|
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8771
9012
|
}
|
|
@@ -8794,7 +9035,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8794
9035
|
kind |= 8;
|
|
8795
9036
|
nextToken(parser, context);
|
|
8796
9037
|
}
|
|
8797
|
-
else if (parser.getToken() ===
|
|
9038
|
+
else if (parser.getToken() === 131) {
|
|
8798
9039
|
kind |= 8192;
|
|
8799
9040
|
key = parsePrivateIdentifier(parser, context | 16, privateScope, 768);
|
|
8800
9041
|
}
|
|
@@ -8804,7 +9045,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8804
9045
|
else if (isStatic && token === 2162700) {
|
|
8805
9046
|
return parseStaticBlock(parser, context | 16, scope, privateScope, start);
|
|
8806
9047
|
}
|
|
8807
|
-
else if (token === -
|
|
9048
|
+
else if (token === -2147483526) {
|
|
8808
9049
|
key = parseIdentifier(parser, context);
|
|
8809
9050
|
if (parser.getToken() !== 67174411)
|
|
8810
9051
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
@@ -8814,8 +9055,8 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8814
9055
|
}
|
|
8815
9056
|
if (kind & (8 | 16 | 768 | 1024)) {
|
|
8816
9057
|
if (parser.getToken() & 143360 ||
|
|
8817
|
-
parser.getToken() === -
|
|
8818
|
-
parser.getToken() === -
|
|
9058
|
+
parser.getToken() === -2147483527 ||
|
|
9059
|
+
parser.getToken() === -2147483526) {
|
|
8819
9060
|
key = parseIdentifier(parser, context);
|
|
8820
9061
|
}
|
|
8821
9062
|
else if ((parser.getToken() & 134217728) === 134217728) {
|
|
@@ -8825,7 +9066,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8825
9066
|
kind |= 2;
|
|
8826
9067
|
key = parseComputedPropertyName(parser, context, privateScope, 0);
|
|
8827
9068
|
}
|
|
8828
|
-
else if (parser.getToken() ===
|
|
9069
|
+
else if (parser.getToken() === 131) {
|
|
8829
9070
|
kind |= 8192;
|
|
8830
9071
|
key = parsePrivateIdentifier(parser, context, privateScope, kind);
|
|
8831
9072
|
}
|
|
@@ -8905,7 +9146,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
8905
9146
|
if (parser.getToken() === 1077936155) {
|
|
8906
9147
|
nextToken(parser, context | 32);
|
|
8907
9148
|
const { tokenStart } = parser;
|
|
8908
|
-
if (parser.getToken() ===
|
|
9149
|
+
if (parser.getToken() === 537079928)
|
|
8909
9150
|
parser.report(119);
|
|
8910
9151
|
const modifierFlags = 1024 |
|
|
8911
9152
|
2048 |
|
|
@@ -8937,7 +9178,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
8937
9178
|
}
|
|
8938
9179
|
function parseBindingPattern(parser, context, scope, privateScope, type, origin) {
|
|
8939
9180
|
if (parser.getToken() & 143360 ||
|
|
8940
|
-
((context & 1) === 0 && parser.getToken() === -
|
|
9181
|
+
((context & 1) === 0 && parser.getToken() === -2147483526))
|
|
8941
9182
|
return parseAndClassifyIdentifier(parser, context, scope, type, origin);
|
|
8942
9183
|
if ((parser.getToken() & 2097152) !== 2097152)
|
|
8943
9184
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
@@ -8956,7 +9197,7 @@ function parseAndClassifyIdentifier(parser, context, scope, kind, origin) {
|
|
|
8956
9197
|
if ((token & 537079808) === 537079808) {
|
|
8957
9198
|
parser.report(119);
|
|
8958
9199
|
}
|
|
8959
|
-
else if ((token & 36864) === 36864 || token === -
|
|
9200
|
+
else if ((token & 36864) === 36864 || token === -2147483526) {
|
|
8960
9201
|
parser.report(118);
|
|
8961
9202
|
}
|
|
8962
9203
|
}
|
|
@@ -9077,7 +9318,7 @@ function parseJSXChildrenAndClosingFragment(parser, context, privateScope, inJSX
|
|
|
9077
9318
|
}
|
|
9078
9319
|
}
|
|
9079
9320
|
function parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild) {
|
|
9080
|
-
if (parser.getToken() ===
|
|
9321
|
+
if (parser.getToken() === 138)
|
|
9081
9322
|
return parseJSXText(parser, context);
|
|
9082
9323
|
if (parser.getToken() === 2162700)
|
|
9083
9324
|
return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);
|
|
@@ -9091,7 +9332,7 @@ function parseJSXChildOrClosingElement(parser, context, privateScope, inJSXChild
|
|
|
9091
9332
|
parser.report(0);
|
|
9092
9333
|
}
|
|
9093
9334
|
function parseJSXChildOrClosingFragment(parser, context, privateScope, inJSXChild) {
|
|
9094
|
-
if (parser.getToken() ===
|
|
9335
|
+
if (parser.getToken() === 138)
|
|
9095
9336
|
return parseJSXText(parser, context);
|
|
9096
9337
|
if (parser.getToken() === 2162700)
|
|
9097
9338
|
return parseJSXExpressionContainer(parser, context, privateScope, 1, 0);
|
|
@@ -9228,7 +9469,7 @@ function parseJSXExpressionContainer(parser, context, privateScope, inJSXChild,
|
|
|
9228
9469
|
const { tokenStart } = parser;
|
|
9229
9470
|
if (parser.getToken() === 14)
|
|
9230
9471
|
return parseJSXSpreadChild(parser, context, privateScope, start);
|
|
9231
|
-
let expression
|
|
9472
|
+
let expression;
|
|
9232
9473
|
if (parser.getToken() === 1074790415) {
|
|
9233
9474
|
if (isAttr)
|
|
9234
9475
|
parser.report(157);
|
|
@@ -9282,7 +9523,7 @@ function parseJSXIdentifier(parser, context) {
|
|
|
9282
9523
|
}, start);
|
|
9283
9524
|
}
|
|
9284
9525
|
|
|
9285
|
-
const version =
|
|
9526
|
+
const { version } = packageJson;
|
|
9286
9527
|
function parseScript(source, options) {
|
|
9287
9528
|
return parseSource(source, { ...options, sourceType: 'script' });
|
|
9288
9529
|
}
|