meriyah 7.3.3 → 7.4.1
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 +27 -0
- package/dist/meriyah.cjs +130 -72
- package/dist/meriyah.min.mjs +1 -1
- package/dist/meriyah.mjs +130 -72
- package/dist/meriyah.umd.js +130 -72
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/types/common.d.ts +8 -6
- package/dist/types/estree.d.ts +37 -25
- package/dist/types/parser/parser.d.ts +4 -0
- package/package.json +1 -1
package/dist/meriyah.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var version$1 = "7.
|
|
1
|
+
var version$1 = "7.4.1";
|
|
2
2
|
var packageJson = {
|
|
3
3
|
version: version$1};
|
|
4
4
|
|
|
@@ -6,7 +6,7 @@ const unicodeLookup = ((compressed, lookup) => {
|
|
|
6
6
|
const result = new Uint32Array(69632);
|
|
7
7
|
let index = 0;
|
|
8
8
|
let subIndex = 0;
|
|
9
|
-
while (index <
|
|
9
|
+
while (index < 2661) {
|
|
10
10
|
const inst = compressed[index++];
|
|
11
11
|
if (inst < 0) {
|
|
12
12
|
subIndex -= inst;
|
|
@@ -24,7 +24,7 @@ const unicodeLookup = ((compressed, lookup) => {
|
|
|
24
24
|
}
|
|
25
25
|
}
|
|
26
26
|
return result;
|
|
27
|
-
})([-1, 2, 26, 2, 27, 2, 5, -1, 0, 77595648, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 16, 2, 63, 2, 0, 0, 4294836735, 0, 3221225471, 0, 4294901942, 2, 64, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 17, 2, 0, 0, 4294961151, 3, 0, 2, 2, 19, 2, 0, 0, 608174079, 2, 0, 2, 58, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 40, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2967484831, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 69, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 70, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 33, 0, 4294844415, 0, 4278190047, 2, 20, 2, 137, -1, 3, 0, 2, 2, 23, 2, 0, 2, 9, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 11, 0, 261632, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2151677951, 2, 29, 2, 10, 0, 909311, 3, 0, 2, 0, 814743551, 2, 48, 0, 67090432, 3, 0, 2, 2, 42, 2, 0, 2, 6, 2, 0, 2, 30, 2, 8, 0, 268374015, 2, 108, 2, 51, 2, 0, 2, 79, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 9, 2, 18, 3, 0, 2, 2, 53, 0, 1046528, 3, 0, 3, 2, 10, 2, 0, 2, 127, 0, 4294960127, 2, 9, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 54, 0, 1048577, 2, 84, 2, 14, -1, 2, 14, 0, 131042, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 15, 2, 0, 0, 2147516671, 2, 21, 3, 88, 2, 2, 0, -16, 2, 89, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 2, 18, 2, 0, 0, 3220242431, 3, 0, 3, 2, 19, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 2, 0, 0, 4351, 2, 0, 2, 10, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 24, 2, 10, 2, 20, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 21, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 3774349439, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, 2, 25, 0, 1638399, 0, 57344, 2, 107, 3, 0, 3, 2, 20, 2, 26, 2, 27, 2, 5, 2, 28, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -3, 0, 536870912, -4, 2, 20, 2, 0, 2, 36, 0, 1, 2, 0, 2, 65, 2, 6, 2, 12, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 23, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277137519, 0, 2269118463, -1, 3, 20, 2, -1, 2, 33, 2, 38, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 47, 2, 0, 0, 4294950463, 2, 37, -7, 2, 0, 0, 203775, 2, 125, 0, 4227858432, 2, 20, 2, 43, 2, 36, 2, 17, 2, 37, 2, 17, 2, 124, 2, 21, 3, 0, 2, 2, 38, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 145, 2, 0, 2, 56, 2, 55, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 39, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 40, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 41, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 42, 2, 23, 2, 50, 2, 11, 2, 59, 2, 38, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 133, 0, 4190109695, 2, 52, -2, 2, 134, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 43, 2, 0, 2, 66, 2, 17, 2, 0, 2, 42, -3, 2, 31, -2, 2, 0, 2, 45, 2, 57, 2, 44, 2, 45, 2, 135, 2, 46, 0, 8388351, -2, 2, 136, 0, 3028287487, 2, 47, 2, 138, 0, 33259519, 2, 23, 2, 7, 2, 48, -7, 2, 21, 0, 4294836223, 0, 3355443199, 0, 134152199, -2, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 2, 30, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 0, 2, 32, -54, 3, 0, 17, 2, 42, 2, 8, 2, 23, 2, 0, 2, 8, 2, 23, 2, 51, 2, 0, 2, 21, 2, 52, 2, 139, 2, 25, -13, 2, 0, 2, 53, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 0, 1677656575, -130, 2, 26, -16, 2, 0, 2, 24, 2, 38, -16, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 28, -13, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 90, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 2, 8, 2, 155, -6, 0, 4194303871, 0, 4294903771, 2, 0, 2, 58, 2, 98, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 17, 2, 49, 2, 0, 2, 32, -14, 2, 17, 2, 32, -6, 2, 17, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 156, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 59, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -105, 2, 26, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -22116, 3, 0, 7, 2, 25, -6130, 3, 5, 2, -1, 0, 69207040, 3, 44, 2, 3, 0, 14, 2, 61, 2, 62, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 41, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 16, 2, 63, 2, 0, 2, 34, -1, 2, 17, 2, 64, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 25, 2, 65, 3, 0, 2, 0, 131135, 2, 96, 0, 70256639, 0, 71303167, 0, 272, 2, 42, 2, 6, 0, 65279, 2, 0, 2, 48, -1, 2, 97, 2, 66, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 68, 2, 67, 0, 33554435, 2, 131, 2, 68, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 67, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 69, 2, 38, -1, 2, 4, 0, 917503, 2, 38, -1, 2, 70, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 33, 2, 71, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 15, 2, 22, 3, 0, 10, 2, 72, 2, 0, 2, 73, 2, 74, 2, 75, 2, 0, 2, 76, 2, 0, 2, 12, -1, 2, 25, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 77, 2, 5, 3, 0, 2, 2, 78, 0, 2147745791, 3, 19, 2, 0, 122879, 2, 0, 2, 10, 0, 276824064, -2, 3, 0, 2, 2, 42, 2, 0, 0, 4294903295, 2, 0, 2, 30, 2, 8, -1, 2, 17, 2, 51, 2, 0, 2, 79, 2, 48, -1, 2, 21, 2, 0, 2, 29, -2, 0, 128, -2, 2, 28, 2, 10, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 37, 2, 0, 2, 50, 0, 4227915776, 2, 9, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 9, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 14, -3, 2, 85, 2, 86, 2, 87, 2, 0, 2, 34, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 15, 2, 0, 0, 33023, 2, 21, 3, 88, 2, -17, 2, 89, 0, 524157950, 2, 4, 2, 0, 2, 90, 2, 4, 2, 0, 2, 22, 2, 28, 2, 16, 3, 0, 2, 2, 49, 2, 0, -1, 2, 17, -16, 3, 0, 206, -2, 3, 0, 692, 2, 71, -1, 2, 17, 2, 9, 3, 0, 8, 2, 91, 0, 3072, 2, 0, 0, 2147516415, 2, 9, 3, 0, 2, 2, 25, 2, 92, 2, 93, 3, 0, 2, 2, 94, 2, 0, 2, 20, 2, 95, 0, 4294965179, 0, 7, 2, 0, 2, 10, 2, 93, 2, 10, -1, 0, 1761345536, 2, 96, 0, 4294901823, 2, 38, 2, 20, 2, 97, 2, 35, 2, 98, 0, 2080440287, 2, 0, 2, 34, 2, 154, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 99, 2, 100, 2, 22, 2, 23, 3, 0, 3, 0, 7, 3, 0, 349, 2, 101, 2, 102, 2, 7, -264, 3, 0, 11, 2, 24, 3, 0, 2, 2, 32, -1, 0, 2700607615, 2, 103, 2, 104, 3, 0, 2, 2, 19, 2, 105, 3, 0, 10, 2, 9, 2, 17, 2, 0, 2, 46, 2, 0, 2, 31, 2, 106, -3, 2, 107, 3, 0, 3, 2, 20, -1, 3, 5, 2, 2, 108, 2, 0, 2, 8, 2, 109, -1, 2, 110, 2, 111, 2, 112, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 29, -8, 2, 20, 2, 0, 2, 36, -1, 2, 0, 2, 65, 2, 6, 2, 30, 2, 9, 2, 0, 2, 113, -1, 3, 0, 4, 2, 9, 2, 17, 2, 114, 2, 7, 2, 0, 2, 115, 2, 0, 2, 116, 2, 117, 2, 118, 2, 0, 2, 10, 3, 0, 9, 2, 21, 2, 30, 2, 31, 2, 119, 2, 120, -2, 2, 121, 2, 122, 2, 30, 2, 21, 2, 8, -2, 2, 123, 2, 30, 3, 32, 2, -1, 2, 0, 2, 39, -2, 0, 4277075969, 2, 30, -1, 3, 20, 2, -1, 2, 33, 2, 124, 2, 0, 3, 30, 2, 2, 35, 2, 19, -3, 3, 0, 2, 2, 34, -1, 2, 0, 2, 35, 2, 0, 2, 35, 2, 0, 2, 50, 2, 96, 0, 4294934591, 2, 37, -7, 2, 0, 0, 197631, 2, 125, -1, 2, 20, 2, 43, 2, 37, 2, 17, 0, 3, 2, 17, 2, 124, 2, 21, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 25, 2, 17, 2, 34, 2, 126, 2, 38, 0, 4294901904, 0, 4718591, 2, 126, 2, 35, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 68, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 29, 0, 2147485568, 0, 3, 2, 0, 2, 25, 0, 176, -5, 2, 0, 2, 49, 0, 251658240, -1, 2, 0, 2, 25, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 38, -5, 2, 0, 2, 18, -3, 3, 0, 2, 2, 54, 2, 133, 0, 2147549183, 0, 2, -2, 2, 134, 2, 36, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 17, 2, 0, 2, 42, -6, 2, 0, 0, 1, 2, 57, 2, 49, 0, 1, 2, 135, 2, 25, -3, 2, 136, 2, 36, 2, 137, 2, 138, 0, 16778239, 2, 17, 2, 7, -8, 2, 35, 0, 4294836212, 2, 10, -3, 2, 67, -2, 3, 0, 28, 2, 32, -3, 3, 0, 3, 2, 49, 3, 0, 6, 2, 50, -81, 2, 17, 3, 0, 2, 2, 36, 3, 0, 33, 2, 25, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 38, -213, 2, 9, -55, 3, 0, 17, 2, 42, 2, 8, 2, 17, 2, 0, 2, 8, 2, 17, 2, 58, 2, 0, 2, 25, 2, 50, 2, 139, 2, 25, -13, 2, 0, 2, 71, -6, 3, 0, 2, -1, 2, 140, 2, 10, -1, 3, 0, 2, 0, 67583, -1, 2, 105, -2, 0, 8126475, 3, 0, 230, 2, 30, 2, 54, 2, 8, -3, 3, 0, 3, 2, 35, -271, 2, 141, 3, 0, 9, 2, 142, 2, 143, 2, 55, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 144, 2, 145, -187, 3, 0, 2, 2, 56, 2, 0, 2, 146, 2, 147, 2, 60, 2, 0, 2, 148, 2, 149, 2, 150, 3, 0, 10, 2, 151, 2, 152, 2, 22, 3, 56, 2, 3, 153, 2, 3, 57, 2, 2, 154, -57, 2, 8, 2, 155, -7, 2, 17, 2, 0, 2, 58, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 17, 2, 58, 2, 0, 2, 18, -14, 2, 17, 2, 18, -6, 2, 17, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 156, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 60, 2, 157, 2, 158, 2, 159, 2, 160, 2, 161, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 9, 3, 0, 180, 2, 24, 3, 0, 233, 2, 162, 3, 0, 18, 2, 9, -77, 3, 0, 16, 2, 9, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 32, -28252], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1073741823, 1048575, 3892314111, 134217727, 1061158911, 536805376, 4294910143, 4294901759, 4294901760, 4095, 262143, 536870911, 8388607, 4160749567, 4294902783, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 4194303, 255, 67108863, 4294967039, 511, 524287, 131071, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 1023, 32767, 15, 2047999, 67043343, 67051519, 2147483648, 4294902000, 4292870143, 4294966783, 16383, 67047423, 4294967279, 262083, 20511, 41943039, 493567, 4294959104, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836224, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294901775, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 134086655, 4294966591, 2445279231, 3670015, 31, 252, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4285526655, 4294966527, 4294705152, 4294966143, 64, 4294966719, 3774873592, 4194303999, 1877934080, 262151, 2555904, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967103, 4160749565, 4294934527, 4087, 2016, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
|
|
27
|
+
})([-1, 2, 23, 2, 24, 2, 5, -1, 0, 77595648, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, 3, 0, 3, 0, 3168796671, 0, 4294956992, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966523, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 4294842879, 0, 3221225471, 0, 4294902710, 2, 63, 0, 134152192, 3, 0, 2, 0, 4294951935, 3, 0, 2, 0, 2683305983, 0, 2684354047, 2, 16, 2, 0, 0, 4294961151, 3, 0, 2, 2, 17, 2, 0, 0, 608174079, 2, 0, 2, 56, 2, 7, 2, 6, 0, 4286643967, 3, 0, 2, 2, 1, 3, 0, 3, 0, 4294901711, 2, 38, 0, 4089839103, 0, 2961209759, 0, 1342439375, 0, 4294543342, 0, 3547201023, 0, 1577204103, 0, 4194240, 0, 4294688750, 2, 2, 0, 80831, 0, 4261478351, 0, 4294549486, 2, 2, 0, 2969057695, 0, 196559, 0, 3594373100, 0, 3288319768, 0, 8469959, 0, 65472, 2, 3, 0, 4093640191, 0, 929054175, 0, 65487, 0, 4294828015, 0, 4092591615, 0, 1885355487, 0, 982991, 2, 3, 2, 0, 0, 2163244511, 0, 4227923919, 0, 4236247022, 2, 68, 0, 4284449919, 0, 851904, 2, 4, 2, 12, 0, 67076095, -1, 2, 69, 0, 1073741743, 0, 4093607775, -1, 0, 50331649, 0, 3265266687, 2, 32, 0, 4294844415, 0, 4278190047, 2, 18, 2, 139, -1, 3, 0, 2, 2, 28, 2, 0, 2, 10, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 11, 0, 261632, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2151677951, 2, 26, 2, 9, 0, 909311, 3, 0, 2, 0, 814743551, 2, 64, 0, 67090432, 3, 0, 2, 2, 40, 2, 0, 2, 6, 2, 0, 2, 29, 2, 8, 0, 268374015, 2, 109, 2, 48, 2, 0, 2, 78, 0, 134153215, -1, 2, 7, 2, 0, 2, 8, 0, 2684354559, 0, 67044351, 0, 3221160064, 2, 0, 2, 27, 3, 0, 2, 2, 50, 0, 1046528, 3, 0, 3, 2, 9, 2, 0, 2, 127, 0, 4294960127, 2, 10, 2, 6, 2, 11, 0, 4294377472, 2, 12, 3, 0, 16, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, 0, 12288, 2, 51, 0, 1048577, 2, 84, 2, 85, -1, 0, 536805376, 0, 131042, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 1046559, 2, 0, 2, 14, 2, 0, 0, 2147516671, 2, 19, 3, 89, 2, 2, 0, -16, 2, 90, 0, 524222462, 2, 4, 2, 0, 0, 4269801471, 2, 4, 3, 0, 2, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 2, 133, 2, 0, 0, 3220242431, 3, 0, 3, 2, 17, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 2, 0, 0, 4351, 2, 0, 2, 9, 3, 0, 2, 0, 67043391, 0, 3909091327, 2, 0, 2, 21, 2, 9, 2, 18, 3, 0, 2, 0, 67076097, 2, 8, 2, 0, 2, 19, 0, 67059711, 0, 4236247039, 3, 0, 2, 0, 939524103, 0, 8191999, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 67057663, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 3774349439, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, 2, 22, 0, 1638399, 0, 57344, 2, 108, 3, 0, 3, 2, 18, 2, 23, 2, 24, 2, 5, 2, 25, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -3, 0, 536870912, -4, 2, 18, 2, 0, 2, 27, 0, 1, 2, 0, 2, 55, 2, 6, 2, 12, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 28, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277137519, 0, 2269118463, -1, 3, 18, 2, -1, 2, 32, 2, 36, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 45, 2, 0, 0, 4294950463, 2, 35, -7, 2, 0, 0, 203775, 0, 4261476604, 2, 53, 2, 18, 2, 41, 2, 27, 2, 16, 2, 35, 2, 16, 2, 124, 2, 19, 3, 0, 2, 2, 36, 0, 2151677888, 2, 0, 2, 12, 0, 4294901764, 2, 149, 2, 0, 2, 52, 0, 4294902000, 0, 5242879, 3, 0, 2, 0, 402644511, -1, 2, 128, 2, 37, 0, 3, -1, 2, 129, 2, 130, 2, 0, 0, 67045375, 2, 38, 0, 4226678271, 0, 3766565279, 0, 2039759, 2, 132, 2, 39, 0, 1046437, 0, 6, 3, 0, 2, 0, 3288270847, 0, 3, 3, 0, 2, 0, 67043519, -5, 2, 0, 0, 4282384383, 0, 1056964609, -1, 3, 0, 2, 0, 67043345, -1, 2, 0, 2, 40, 2, 28, 2, 79, 2, 11, 2, 58, 2, 36, -5, 2, 0, 2, 12, -3, 3, 0, 2, 0, 2147484671, 2, 134, 0, 4190109695, 2, 49, -2, 2, 135, 0, 4244635647, 0, 27, 2, 0, 2, 8, 2, 41, 2, 0, 2, 65, 2, 16, 2, 0, 2, 40, 2, 136, -2, 2, 30, -2, 2, 0, 2, 43, 2, 54, 2, 42, 2, 43, 2, 137, 2, 44, 0, 8388351, -2, 2, 138, 0, 3028287487, 2, 45, 2, 140, 0, 33259519, 2, 28, 2, 7, 2, 125, -7, 2, 19, 2, 46, 0, 3355443199, 0, 134152199, -2, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 2, 29, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 0, 2, 31, -54, 3, 0, 17, 2, 40, 2, 8, 2, 28, 2, 0, 2, 8, 2, 28, 2, 48, 2, 0, 2, 19, 2, 49, 2, 142, 2, 22, -13, 2, 0, 2, 50, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 4294936575, 2, 0, 0, 4294934783, -2, 0, 8323099, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 0, 1677656575, -130, 2, 23, -16, 2, 0, 2, 21, 2, 36, -14, 0, 384, -1, 0, 4161266656, 0, 4071, 0, 15360, -4, 0, 2550595612, -1, 0, 3, -11, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 0, 4294954999, 2, 0, -16, 2, 0, 2, 91, 2, 0, 0, 2105343, 0, 4160749584, 0, 65534, -34, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, 0, 4194303871, 0, 4294903771, 2, 0, 2, 56, 2, 99, -3, 2, 0, 0, 1073684479, 0, 17407, -9, 2, 16, 2, 57, 2, 0, 2, 31, -14, 2, 16, 2, 31, -6, 2, 16, 2, 12, -6, 2, 8, 0, 3225419775, -7, 2, 159, 3, 0, 6, 0, 8323103, -1, 3, 0, 2, 2, 58, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -105, 2, 23, -32, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -20518, 3, 0, 7, 2, 22, -6130, 3, 5, 2, -1, 0, 69207040, 3, 42, 2, 3, 0, 14, 2, 60, 2, 61, -3, 0, 3168731136, 0, 4294956864, 2, 1, 2, 0, 2, 39, 3, 0, 4, 0, 4294966275, 3, 0, 4, 2, 15, 2, 62, 2, 0, 0, 6655, -1, 2, 16, 2, 63, -1, 2, 0, 0, 2047, 0, 4294885376, 3, 0, 2, 0, 3145727, 0, 2617294944, 0, 4294770688, 2, 22, 2, 55, 3, 0, 2, 0, 131135, 2, 97, 0, 70256639, 0, 71303167, 0, 272, 2, 40, 2, 6, 0, 65279, 2, 0, 2, 64, -1, 2, 98, 2, 65, 0, 4278255616, 0, 4294836227, 0, 4294549473, 0, 600178175, 0, 2952806400, 0, 268632067, 0, 4294543328, 0, 57540095, 0, 1577058304, 0, 1835008, 0, 4294688736, 2, 67, 2, 66, 0, 33554435, 2, 131, 2, 67, 0, 2952790016, 0, 131075, 0, 3594373096, 0, 67094296, 2, 66, -1, 0, 4294828000, 0, 603979263, 0, 922746880, 0, 3, 0, 4294828001, 0, 602930687, 0, 1879048192, 0, 393219, 0, 4294828016, 0, 671088639, 0, 2154840064, 0, 4227858435, 0, 4236247008, 2, 68, 2, 36, -1, 2, 4, 0, 917503, 2, 36, -1, 2, 69, 0, 537788335, 0, 4026531935, -1, 0, 1, -1, 2, 32, 2, 70, 0, 7936, -3, 2, 0, 0, 2147485695, 0, 1010761728, 0, 4292984930, 0, 16387, 2, 0, 2, 14, 2, 20, 3, 0, 10, 2, 71, 2, 0, 2, 72, 2, 73, 2, 74, 2, 0, 2, 75, 2, 0, 2, 12, -1, 2, 22, 3, 0, 2, 2, 13, 2, 4, 3, 0, 18, 2, 76, 2, 5, 3, 0, 2, 2, 77, 0, 2147745791, 3, 17, 2, 0, 122879, 2, 0, 2, 9, 0, 276824064, -2, 3, 0, 2, 2, 40, 2, 0, 0, 4294903295, 2, 0, 2, 29, 2, 8, -1, 2, 16, 2, 48, 2, 0, 2, 78, 2, 64, -1, 2, 19, 2, 0, 2, 26, -2, 0, 128, -2, 2, 25, 2, 9, 0, 8160, -1, 2, 126, 0, 4227907585, 2, 0, 2, 35, 2, 0, 2, 79, 0, 4227915776, 2, 10, 2, 6, 2, 11, -1, 0, 74440192, 3, 0, 6, -2, 3, 0, 8, 2, 13, 2, 0, 2, 80, 2, 10, 2, 0, 2, 81, 2, 82, 2, 83, -3, 2, 84, 2, 85, -3, 2, 86, 2, 87, 2, 88, 2, 0, 2, 33, -83, 3, 0, 7, 0, 817183, 2, 0, 2, 14, 2, 0, 0, 33023, 2, 19, 3, 89, 2, -17, 2, 90, 0, 524157950, 2, 4, 2, 0, 2, 91, 2, 4, 2, 0, 2, 20, 2, 25, 2, 15, 3, 0, 2, 2, 57, 2, 0, -1, 2, 16, -16, 3, 0, 206, -2, 3, 0, 692, 2, 70, -1, 2, 16, 2, 10, 3, 0, 8, 2, 92, 0, 3072, 2, 0, 0, 2147516415, 2, 10, 3, 0, 2, 2, 22, 2, 93, 2, 94, 3, 0, 2, 2, 95, 2, 0, 2, 10, 2, 96, 0, 4294965179, 0, 7, 2, 0, 2, 9, 2, 94, 2, 9, -1, 0, 1761345536, 2, 97, 0, 4294901823, 2, 36, 2, 18, 2, 98, 2, 34, 2, 99, 0, 2080440287, 2, 0, 2, 33, 2, 157, 0, 3296722943, 2, 0, 0, 1046675455, 0, 939524101, 0, 1837055, 2, 100, 2, 101, 2, 20, 2, 102, 3, 0, 3, 0, 7, 3, 0, 349, 2, 47, 2, 103, 2, 7, -264, 3, 0, 11, 2, 21, 3, 0, 2, 2, 31, -1, 0, 2700607615, 2, 104, 2, 105, 3, 0, 2, 2, 17, 2, 106, 3, 0, 10, 2, 10, 2, 16, 2, 0, 2, 44, 2, 0, 2, 30, 2, 107, -3, 2, 108, 3, 0, 3, 2, 18, -1, 3, 5, 2, 2, 109, 2, 0, 2, 8, 2, 110, -1, 2, 111, 2, 112, 2, 113, -1, 3, 0, 3, 2, 12, -2, 2, 0, 2, 26, -8, 2, 18, 2, 0, 2, 27, -1, 2, 0, 2, 55, 2, 6, 2, 29, 2, 10, 2, 0, 2, 114, -1, 3, 0, 4, 2, 10, 2, 16, 2, 115, 2, 7, 2, 0, 2, 116, 2, 0, 2, 117, 2, 118, 2, 119, 2, 0, 2, 9, 3, 0, 9, 2, 19, 2, 29, 2, 30, 2, 120, 2, 46, -2, 2, 121, 2, 122, 2, 29, 2, 19, 2, 8, -2, 2, 123, 2, 29, 3, 31, 2, -1, 2, 0, 2, 37, -2, 0, 4277075969, 2, 29, -1, 3, 18, 2, -1, 2, 32, 2, 124, 2, 0, 3, 29, 2, 2, 34, 2, 17, -3, 3, 0, 2, 2, 33, -1, 2, 0, 2, 34, 2, 0, 2, 34, 2, 0, 2, 79, 2, 97, 0, 4294934591, 2, 35, -7, 2, 0, 2, 125, 0, 4261413116, 2, 57, 2, 18, 2, 41, 2, 35, 2, 16, 0, 3, 2, 16, 2, 124, 2, 19, 2, 126, 2, 127, -1, 0, 2490368, 2, 126, 2, 22, 2, 16, 2, 33, 2, 126, 2, 36, 0, 4294901904, 0, 4718591, 2, 126, 2, 34, 0, 335544350, -1, 2, 128, 0, 2147487743, 0, 1, -1, 2, 129, 2, 130, 2, 8, -1, 2, 131, 2, 67, 0, 3758161920, 0, 3, 2, 132, 0, 12582911, 0, 655360, -1, 2, 0, 2, 26, 0, 2147485568, 0, 3, 2, 0, 2, 22, 0, 176, -5, 2, 0, 2, 57, 0, 251658240, -1, 2, 0, 2, 22, 0, 16, -1, 2, 0, 0, 16779263, -2, 2, 12, -1, 2, 36, -5, 2, 0, 2, 133, -3, 3, 0, 2, 2, 51, 2, 134, 0, 2147549183, 0, 2, -2, 2, 135, 2, 27, 0, 10, 0, 4294965249, 0, 67633151, 0, 4026597376, 2, 0, 0, 536871935, 2, 16, 2, 0, 2, 40, 2, 136, -5, 2, 0, 0, 1, 2, 54, 2, 57, 0, 1, 2, 137, 2, 22, -3, 2, 138, 2, 27, 2, 139, 2, 140, 0, 16778239, 2, 16, 2, 7, 0, 131072, -7, 2, 34, 0, 4294836212, 2, 9, -3, 2, 66, -2, 3, 0, 28, 2, 31, -3, 3, 0, 3, 2, 141, 3, 0, 6, 2, 47, 3, 0, 9, 2, 36, -71, 2, 16, 3, 0, 2, 2, 27, 3, 0, 33, 2, 22, 0, 126, 3, 0, 124, 2, 12, 3, 0, 18, 2, 36, -213, 2, 10, -55, 3, 0, 17, 2, 40, 2, 8, 2, 16, 2, 0, 2, 8, 2, 16, 2, 56, 2, 0, 2, 22, 2, 79, 2, 142, 2, 22, -13, 2, 0, 2, 70, -6, 3, 0, 2, -1, 2, 143, 2, 9, -1, 3, 0, 2, 0, 67583, -1, 2, 106, -2, 0, 8126475, 3, 0, 230, 2, 12, 2, 51, 2, 0, 0, 1, -2, 3, 0, 3, 2, 34, 3, 0, 28, 2, 17, 2, 0, 2, 34, -240, 2, 144, 3, 0, 9, 2, 145, 2, 146, 2, 147, 3, 0, 11, 2, 7, -72, 3, 0, 3, 2, 148, 2, 149, -187, 3, 0, 2, 2, 52, 2, 0, 2, 150, 2, 151, 2, 59, 2, 0, 2, 152, 2, 153, 2, 154, 3, 0, 10, 2, 155, 2, 156, 2, 20, 3, 52, 2, 3, 53, 2, 3, 54, 2, 2, 157, -57, 3, 0, 4, 2, 158, -1, 2, 55, 2, 0, -1, 2, 16, 2, 0, 2, 56, -4, 2, 0, 0, 1065361407, 0, 16384, -9, 2, 16, 2, 56, 2, 0, 2, 133, -14, 2, 16, 2, 133, -6, 2, 16, 0, 81919, -6, 2, 8, 0, 3223273399, -7, 2, 159, 3, 0, 6, 2, 124, -1, 3, 0, 2, 0, 2063, -37, 2, 59, 2, 160, 2, 161, 2, 162, 2, 163, 2, 164, -138, 3, 0, 1335, -1, 3, 0, 136, 2, 8, 3, 0, 180, 2, 21, 3, 0, 233, 2, 165, 3, 0, 18, 2, 10, -77, 3, 0, 16, 2, 10, -47, 3, 0, 154, 2, 6, 3, 0, 264, 2, 31, -1244, 3, 0, 354, -26654], [4294967295, 4294967291, 4092460543, 4294828031, 4294967294, 134217726, 4294903807, 268435455, 2147483647, 1048575, 1073741823, 3892314111, 134217727, 1061158911, 4294910143, 4294901759, 4294901760, 262143, 536870911, 8388607, 4160749567, 4294918143, 65535, 67043328, 2281701374, 4294967264, 2097151, 131071, 4294902783, 4194303, 255, 67108863, 4294967039, 511, 524287, 63, 127, 3238002687, 4294549487, 4290772991, 33554431, 4294901888, 4286578687, 67043329, 4294770687, 67043583, 4294836223, 4294901775, 2047999, 67043343, 67051519, 2147483648, 4292870143, 4294934527, 4294966783, 4294959104, 16383, 32767, 67047423, 4294967279, 262083, 20511, 58720255, 493567, 1023, 603979775, 65536, 602799615, 805044223, 4294965206, 8191, 1031749119, 4294917631, 2134769663, 4286578493, 4282253311, 4294942719, 33540095, 4294905855, 15, 2868854591, 1608515583, 265232348, 534519807, 2147614720, 4294934528, 1060109444, 4093640016, 17376, 2139062143, 224, 4169138175, 4294909951, 4286578688, 4294967292, 4294965759, 4294836228, 4294966272, 4294967280, 32768, 8289918, 4294934399, 4294915071, 4294965375, 1602223615, 4294967259, 4294443008, 268369920, 4292804608, 4294967232, 486341884, 4294963199, 3087007615, 1073692671, 4128527, 4279238655, 4294902015, 4160684047, 4290246655, 469499899, 4294967231, 4294966591, 2445279231, 3670015, 31, 197631, 4294967288, 16777215, 4294705151, 3221208447, 4294902271, 4294549472, 4294921215, 4095, 4285526655, 4294966527, 1024, 4294705152, 4294966143, 64, 4294966719, 4292935679, 3774873592, 4194303999, 1877934080, 262655, 2555904, 4294902256, 536807423, 67043839, 3758096383, 3959414372, 3755993023, 2080374783, 4294835295, 4294967167, 4160749565, 4087, 8323075, 2147446655, 184024726, 2862017156, 1593309078, 268434431, 268434414, 4294901761]);
|
|
28
28
|
const isIDContinue = (code) => (unicodeLookup[(code >>> 5) + 0] >>> code & 31 & 1) !== 0;
|
|
29
29
|
const isIDStart = (code) => (unicodeLookup[(code >>> 5) + 34816] >>> code & 31 & 1) !== 0;
|
|
30
30
|
|
|
@@ -748,7 +748,7 @@ const errorMessages = {
|
|
|
748
748
|
[135]: 'Unexpected character after object literal property name',
|
|
749
749
|
[137]: 'Invalid key token',
|
|
750
750
|
[138]: "Label '%0' has already been declared",
|
|
751
|
-
[139]: '
|
|
751
|
+
[139]: "Label '%0' does not denote an iteration statement",
|
|
752
752
|
[140]: "Undefined label '%0'",
|
|
753
753
|
[141]: 'Trailing comma is disallowed inside import(...) arguments',
|
|
754
754
|
[142]: 'Invalid binding in JSON import',
|
|
@@ -1598,7 +1598,7 @@ function scanTemplate(parser, context) {
|
|
|
1598
1598
|
char = advanceChar(parser);
|
|
1599
1599
|
if (char === 13)
|
|
1600
1600
|
hasCarriageReturn = true;
|
|
1601
|
-
if (char > 0x7e) {
|
|
1601
|
+
if (char > 0x7e && char !== 8232 && char !== 8233) {
|
|
1602
1602
|
ret += String.fromCodePoint(char);
|
|
1603
1603
|
}
|
|
1604
1604
|
else {
|
|
@@ -2165,9 +2165,10 @@ function consume(parser, context, t) {
|
|
|
2165
2165
|
nextToken(parser, context);
|
|
2166
2166
|
}
|
|
2167
2167
|
function reinterpretToPattern(parser, node) {
|
|
2168
|
+
const rewritten = node;
|
|
2168
2169
|
switch (node.type) {
|
|
2169
2170
|
case 'ArrayExpression': {
|
|
2170
|
-
|
|
2171
|
+
rewritten.type = 'ArrayPattern';
|
|
2171
2172
|
const { elements } = node;
|
|
2172
2173
|
for (let i = 0, n = elements.length; i < n; ++i) {
|
|
2173
2174
|
const element = elements[i];
|
|
@@ -2177,7 +2178,7 @@ function reinterpretToPattern(parser, node) {
|
|
|
2177
2178
|
return;
|
|
2178
2179
|
}
|
|
2179
2180
|
case 'ObjectExpression': {
|
|
2180
|
-
|
|
2181
|
+
rewritten.type = 'ObjectPattern';
|
|
2181
2182
|
const { properties } = node;
|
|
2182
2183
|
for (let i = 0, n = properties.length; i < n; ++i) {
|
|
2183
2184
|
reinterpretToPattern(parser, properties[i]);
|
|
@@ -2185,17 +2186,17 @@ function reinterpretToPattern(parser, node) {
|
|
|
2185
2186
|
return;
|
|
2186
2187
|
}
|
|
2187
2188
|
case 'AssignmentExpression':
|
|
2188
|
-
|
|
2189
|
+
rewritten.type = 'AssignmentPattern';
|
|
2189
2190
|
if (node.operator !== '=')
|
|
2190
2191
|
parser.report(71);
|
|
2191
|
-
delete
|
|
2192
|
+
delete rewritten.operator;
|
|
2192
2193
|
reinterpretToPattern(parser, node.left);
|
|
2193
2194
|
return;
|
|
2194
2195
|
case 'Property':
|
|
2195
2196
|
reinterpretToPattern(parser, node.value);
|
|
2196
2197
|
return;
|
|
2197
2198
|
case 'SpreadElement':
|
|
2198
|
-
|
|
2199
|
+
rewritten.type = 'RestElement';
|
|
2199
2200
|
reinterpretToPattern(parser, node.argument);
|
|
2200
2201
|
}
|
|
2201
2202
|
}
|
|
@@ -2247,7 +2248,7 @@ function validateFunctionName(parser, context, t) {
|
|
|
2247
2248
|
}
|
|
2248
2249
|
}
|
|
2249
2250
|
function isStrictReservedWord(parser, context, t) {
|
|
2250
|
-
if (t === 209006) {
|
|
2251
|
+
if ((t & 255) === (209006 & 255)) {
|
|
2251
2252
|
if (context & (2048 | 2))
|
|
2252
2253
|
parser.report(112);
|
|
2253
2254
|
if ((parser.destructible & 128) === 0) {
|
|
@@ -2262,36 +2263,36 @@ function isStrictReservedWord(parser, context, t) {
|
|
|
2262
2263
|
t == -2147483526);
|
|
2263
2264
|
}
|
|
2264
2265
|
function isPropertyWithPrivateFieldKey(expr) {
|
|
2265
|
-
return
|
|
2266
|
+
return expr.type === 'MemberExpression' && expr.property.type === 'PrivateIdentifier';
|
|
2266
2267
|
}
|
|
2267
2268
|
function isValidLabel(parser, labels, name, isIterationStatement) {
|
|
2269
|
+
let isIterationLabelSet = 0;
|
|
2268
2270
|
while (labels) {
|
|
2269
|
-
if (labels
|
|
2270
|
-
if (isIterationStatement)
|
|
2271
|
-
parser.report(139);
|
|
2271
|
+
if (labels.names?.has(name)) {
|
|
2272
|
+
if (isIterationStatement && !isIterationLabelSet)
|
|
2273
|
+
parser.report(139, name);
|
|
2272
2274
|
return 1;
|
|
2273
2275
|
}
|
|
2274
|
-
|
|
2275
|
-
|
|
2276
|
-
labels = labels['$'];
|
|
2276
|
+
isIterationLabelSet = labels.loop ? 1 : 0;
|
|
2277
|
+
labels = labels.parent;
|
|
2277
2278
|
}
|
|
2278
2279
|
return 0;
|
|
2279
2280
|
}
|
|
2280
2281
|
function validateAndDeclareLabel(parser, labels, name) {
|
|
2281
2282
|
let set = labels;
|
|
2282
2283
|
while (set) {
|
|
2283
|
-
if (set
|
|
2284
|
+
if (set.names?.has(name))
|
|
2284
2285
|
parser.report(138, name);
|
|
2285
|
-
set = set
|
|
2286
|
+
set = set.parent;
|
|
2286
2287
|
}
|
|
2287
|
-
labels
|
|
2288
|
+
(labels.names ??= new Set()).add(name);
|
|
2288
2289
|
}
|
|
2289
2290
|
function isEqualTagName(elementName) {
|
|
2290
2291
|
switch (elementName.type) {
|
|
2291
2292
|
case 'JSXIdentifier':
|
|
2292
2293
|
return elementName.name;
|
|
2293
2294
|
case 'JSXNamespacedName':
|
|
2294
|
-
return elementName.namespace + ':' + elementName.name;
|
|
2295
|
+
return isEqualTagName(elementName.namespace) + ':' + elementName.name.name;
|
|
2295
2296
|
case 'JSXMemberExpression':
|
|
2296
2297
|
return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);
|
|
2297
2298
|
}
|
|
@@ -2312,6 +2313,9 @@ function classifyIdentifier(parser, context, t) {
|
|
|
2312
2313
|
parser.report(121);
|
|
2313
2314
|
parser.flags |= 512;
|
|
2314
2315
|
}
|
|
2316
|
+
if (context & 1 && (t & 255) === (241737 & 255)) {
|
|
2317
|
+
parser.report(99);
|
|
2318
|
+
}
|
|
2315
2319
|
if (!isValidIdentifier(context, t))
|
|
2316
2320
|
parser.report(0);
|
|
2317
2321
|
}
|
|
@@ -2906,6 +2910,7 @@ class Parser {
|
|
|
2906
2910
|
destructible = 0;
|
|
2907
2911
|
strictReservedRange = null;
|
|
2908
2912
|
firstAwaitLocation = null;
|
|
2913
|
+
firstYieldLocation = null;
|
|
2909
2914
|
leadingDecorators = { decorators: [] };
|
|
2910
2915
|
constructor(source, rawOptions = {}) {
|
|
2911
2916
|
this.source = source;
|
|
@@ -3287,7 +3292,7 @@ function parseBlock(parser, context, scope, privateScope, labels, start = parser
|
|
|
3287
3292
|
const body = [];
|
|
3288
3293
|
consume(parser, context | 32, 2162700);
|
|
3289
3294
|
while (parser.getToken() !== 1074790415) {
|
|
3290
|
-
body.push(parseStatementListItem(parser, context, scope, privateScope, {
|
|
3295
|
+
body.push(parseStatementListItem(parser, context, scope, privateScope, { parent: labels }));
|
|
3291
3296
|
}
|
|
3292
3297
|
consume(parser, context | 32, 1074790415);
|
|
3293
3298
|
return parser.finishNode({
|
|
@@ -3440,7 +3445,7 @@ function parseConsequentOrAlternative(parser, context, scope, privateScope, labe
|
|
|
3440
3445
|
return context & 1 ||
|
|
3441
3446
|
!parser.options.webcompat ||
|
|
3442
3447
|
parser.getToken() !== 86104
|
|
3443
|
-
? parseStatement(parser, context, scope, privateScope, {
|
|
3448
|
+
? parseStatement(parser, context, scope, privateScope, { parent: labels }, 0)
|
|
3444
3449
|
: parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, tokenStart);
|
|
3445
3450
|
}
|
|
3446
3451
|
function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
@@ -3471,7 +3476,7 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
|
3471
3476
|
parser.getToken() !== 1074790415 &&
|
|
3472
3477
|
parser.getToken() !== 20561) {
|
|
3473
3478
|
const statement = parseStatementListItem(parser, context | 4, scope, privateScope, {
|
|
3474
|
-
|
|
3479
|
+
parent: labels,
|
|
3475
3480
|
});
|
|
3476
3481
|
if (statement.type === 'VariableDeclaration' &&
|
|
3477
3482
|
(statement.kind === 'using' || statement.kind === 'await using')) {
|
|
@@ -3506,7 +3511,7 @@ function parseWhileStatement(parser, context, scope, privateScope, labels) {
|
|
|
3506
3511
|
}, start);
|
|
3507
3512
|
}
|
|
3508
3513
|
function parseIterationStatementBody(parser, context, scope, privateScope, labels) {
|
|
3509
|
-
return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1,
|
|
3514
|
+
return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, parent: labels }, 0);
|
|
3510
3515
|
}
|
|
3511
3516
|
function parseContinueStatement(parser, context, labels) {
|
|
3512
3517
|
if ((context & 128) === 0)
|
|
@@ -3516,9 +3521,9 @@ function parseContinueStatement(parser, context, labels) {
|
|
|
3516
3521
|
let label = null;
|
|
3517
3522
|
if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
|
|
3518
3523
|
const { tokenValue } = parser;
|
|
3519
|
-
label = parseIdentifier(parser, context | 32);
|
|
3520
3524
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
3521
3525
|
parser.report(140, tokenValue);
|
|
3526
|
+
label = parseIdentifier(parser, context | 32);
|
|
3522
3527
|
}
|
|
3523
3528
|
matchOrInsertSemicolon(parser, context | 32);
|
|
3524
3529
|
return parser.finishNode({
|
|
@@ -3532,9 +3537,9 @@ function parseBreakStatement(parser, context, labels) {
|
|
|
3532
3537
|
let label = null;
|
|
3533
3538
|
if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
|
|
3534
3539
|
const { tokenValue } = parser;
|
|
3535
|
-
label = parseIdentifier(parser, context | 32);
|
|
3536
3540
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
3537
3541
|
parser.report(140, tokenValue);
|
|
3542
|
+
label = parseIdentifier(parser, context | 32);
|
|
3538
3543
|
}
|
|
3539
3544
|
else if ((context & (4 | 128)) === 0) {
|
|
3540
3545
|
parser.report(69);
|
|
@@ -3572,7 +3577,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
3572
3577
|
const start = parser.tokenStart;
|
|
3573
3578
|
nextToken(parser, context | 32);
|
|
3574
3579
|
const firstScope = scope?.createChildScope(16);
|
|
3575
|
-
const block = parseBlock(parser, context, firstScope, privateScope, {
|
|
3580
|
+
const block = parseBlock(parser, context, firstScope, privateScope, { parent: labels });
|
|
3576
3581
|
const { tokenStart } = parser;
|
|
3577
3582
|
const handler = consumeOpt(parser, context | 32, 20557)
|
|
3578
3583
|
? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
|
|
@@ -3581,7 +3586,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
3581
3586
|
if (parser.getToken() === 20566) {
|
|
3582
3587
|
nextToken(parser, context | 32);
|
|
3583
3588
|
const finalizerScope = scope?.createChildScope(4);
|
|
3584
|
-
const block = parseBlock(parser, context, finalizerScope, privateScope, {
|
|
3589
|
+
const block = parseBlock(parser, context, finalizerScope, privateScope, { parent: labels });
|
|
3585
3590
|
finalizer = block;
|
|
3586
3591
|
}
|
|
3587
3592
|
if (!handler && !finalizer) {
|
|
@@ -3610,7 +3615,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
|
3610
3615
|
consume(parser, context | 32, 16);
|
|
3611
3616
|
}
|
|
3612
3617
|
const additionalScope = scope?.createChildScope(32);
|
|
3613
|
-
const body = parseBlock(parser, context, additionalScope, privateScope, {
|
|
3618
|
+
const body = parseBlock(parser, context, additionalScope, privateScope, { parent: labels });
|
|
3614
3619
|
return parser.finishNode({
|
|
3615
3620
|
type: 'CatchClause',
|
|
3616
3621
|
param,
|
|
@@ -4357,24 +4362,29 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
4357
4362
|
const { tokenStart } = parser;
|
|
4358
4363
|
declaration = parseIdentifier(parser, context);
|
|
4359
4364
|
const { flags } = parser;
|
|
4360
|
-
if ((flags & 1) === 0) {
|
|
4361
|
-
|
|
4362
|
-
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
if (scope)
|
|
4372
|
-
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue, parser.tokenStart, parser.currentLocation);
|
|
4373
|
-
declaration = parseIdentifier(parser, context);
|
|
4374
|
-
declaration = parseArrowFunctionExpression(parser, context, scope, undefined, [declaration], 1, tokenStart);
|
|
4375
|
-
}
|
|
4376
|
-
}
|
|
4365
|
+
if ((flags & 1) === 0 && parser.getToken() === 86104) {
|
|
4366
|
+
declaration = parseFunctionDeclaration(parser, context, scope, undefined, 1, 1, 1, tokenStart, 4);
|
|
4367
|
+
break;
|
|
4368
|
+
}
|
|
4369
|
+
if (parser.getToken() === 10) {
|
|
4370
|
+
declaration = parseArrowFromIdentifier(parser, context & -9, undefined, 'async', declaration, 0, 1, 0, tokenStart);
|
|
4371
|
+
}
|
|
4372
|
+
else if ((flags & 1) === 0 && parser.getToken() === 67174411) {
|
|
4373
|
+
declaration = parseAsyncArrowOrCallExpression(parser, context, undefined, declaration, 1, 1, flags, tokenStart);
|
|
4374
|
+
declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
|
|
4375
|
+
declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
|
|
4377
4376
|
}
|
|
4377
|
+
else if ((flags & 1) === 0 && parser.getToken() & 143360) {
|
|
4378
|
+
if (scope)
|
|
4379
|
+
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue, parser.tokenStart, parser.currentLocation);
|
|
4380
|
+
declaration = parseIdentifier(parser, context);
|
|
4381
|
+
declaration = parseArrowFunctionExpression(parser, context, scope, undefined, [declaration], 1, tokenStart);
|
|
4382
|
+
}
|
|
4383
|
+
else {
|
|
4384
|
+
declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
|
|
4385
|
+
declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
|
|
4386
|
+
}
|
|
4387
|
+
matchOrInsertSemicolon(parser, context | 32);
|
|
4378
4388
|
break;
|
|
4379
4389
|
}
|
|
4380
4390
|
default:
|
|
@@ -4600,6 +4610,10 @@ function parseConditionalExpression(parser, context, privateScope, test, start)
|
|
|
4600
4610
|
}, start);
|
|
4601
4611
|
}
|
|
4602
4612
|
function parseBinaryExpression(parser, context, privateScope, inGroup, start, minPrecedence, operator, left) {
|
|
4613
|
+
if ((parser.flags & 16384) === 16384) {
|
|
4614
|
+
parser.flags = (parser.flags | 16384) ^ 16384;
|
|
4615
|
+
return left;
|
|
4616
|
+
}
|
|
4603
4617
|
const bit = -((context & 131072) > 0) & 8673330;
|
|
4604
4618
|
let t;
|
|
4605
4619
|
let precedence;
|
|
@@ -4682,12 +4696,16 @@ function parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, can
|
|
|
4682
4696
|
return expr;
|
|
4683
4697
|
}
|
|
4684
4698
|
function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {
|
|
4685
|
-
if (inGroup)
|
|
4699
|
+
if (inGroup) {
|
|
4700
|
+
if ((parser.destructible & 256) === 0) {
|
|
4701
|
+
parser.firstYieldLocation ??= { start, end: parser.currentLocation };
|
|
4702
|
+
}
|
|
4686
4703
|
parser.destructible |= 256;
|
|
4704
|
+
}
|
|
4687
4705
|
if (context & 1024) {
|
|
4688
4706
|
nextToken(parser, context | 32);
|
|
4689
4707
|
if (context & 8192)
|
|
4690
|
-
parser.
|
|
4708
|
+
throw new ParseError(start, parser.startPosition, 32);
|
|
4691
4709
|
if (!canAssign)
|
|
4692
4710
|
parser.report(26);
|
|
4693
4711
|
if (parser.getToken() === 22)
|
|
@@ -4703,6 +4721,12 @@ function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup
|
|
|
4703
4721
|
else if (parser.getToken() === 8391476) {
|
|
4704
4722
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
4705
4723
|
}
|
|
4724
|
+
if (parser.getToken() & (67108864 | 8388608)) {
|
|
4725
|
+
if (argument === null && (parser.flags & 1) === 0) {
|
|
4726
|
+
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
4727
|
+
}
|
|
4728
|
+
parser.flags |= 16384;
|
|
4729
|
+
}
|
|
4706
4730
|
parser.assignable = 2;
|
|
4707
4731
|
return parser.finishNode({
|
|
4708
4732
|
type: 'YieldExpression',
|
|
@@ -4723,8 +4747,11 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
|
|
|
4723
4747
|
}
|
|
4724
4748
|
if (context & 524288)
|
|
4725
4749
|
parser.report(179);
|
|
4726
|
-
const
|
|
4727
|
-
const
|
|
4750
|
+
const isEscaped = (parser.getToken() & -2147483648) !== 0;
|
|
4751
|
+
const allowRegExp = !isEscaped && context & (2048 | 2) ? 1 : 0;
|
|
4752
|
+
const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope, allowRegExp);
|
|
4753
|
+
const isIdentifier = isEscaped ||
|
|
4754
|
+
possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
|
|
4728
4755
|
(parser.getToken() & 65536) === 0;
|
|
4729
4756
|
if (isIdentifier) {
|
|
4730
4757
|
if (context & 2048)
|
|
@@ -4735,7 +4762,8 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
|
|
|
4735
4762
|
throw new ParseError(start, parser.startPosition, 112);
|
|
4736
4763
|
return possibleIdentifierOrArrowFunc;
|
|
4737
4764
|
}
|
|
4738
|
-
if (context & 8192
|
|
4765
|
+
if (context & 8192 &&
|
|
4766
|
+
(context & (2048 | 2) || parser.getToken() & 143360)) {
|
|
4739
4767
|
throw new ParseError(start, parser.startPosition, 31);
|
|
4740
4768
|
}
|
|
4741
4769
|
if (context & 2048 || (context & 2 && context & 8)) {
|
|
@@ -4861,6 +4889,10 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
4861
4889
|
expr = parseUpdateExpression(parser, context, expr, start);
|
|
4862
4890
|
}
|
|
4863
4891
|
else if ((parser.getToken() & 67108864) === 67108864) {
|
|
4892
|
+
if ((parser.flags & 16384) === 16384) {
|
|
4893
|
+
parser.flags = (parser.flags | 16384) ^ 16384;
|
|
4894
|
+
return expr;
|
|
4895
|
+
}
|
|
4864
4896
|
context = (context | 131072) ^ 131072;
|
|
4865
4897
|
switch (parser.getToken()) {
|
|
4866
4898
|
case 67108877: {
|
|
@@ -5056,6 +5088,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
5056
5088
|
if ((parser.getToken() & 143360) === 143360) {
|
|
5057
5089
|
switch (parser.getToken()) {
|
|
5058
5090
|
case 209006:
|
|
5091
|
+
case 209006 | -2147483648:
|
|
5059
5092
|
return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);
|
|
5060
5093
|
case 241771:
|
|
5061
5094
|
return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);
|
|
@@ -5402,10 +5435,9 @@ function parseArguments(parser, context, privateScope, inGroup) {
|
|
|
5402
5435
|
consume(parser, context | 64, 16);
|
|
5403
5436
|
return args;
|
|
5404
5437
|
}
|
|
5405
|
-
function parseIdentifier(parser, context) {
|
|
5438
|
+
function parseIdentifier(parser, context, allowRegExp = 0) {
|
|
5406
5439
|
const { tokenValue, tokenStart } = parser;
|
|
5407
|
-
|
|
5408
|
-
nextToken(parser, context | (allowRegex ? 32 : 0));
|
|
5440
|
+
nextToken(parser, context | (allowRegExp ? 32 : 0));
|
|
5409
5441
|
return parser.finishNode({
|
|
5410
5442
|
type: 'Identifier',
|
|
5411
5443
|
name: tokenValue,
|
|
@@ -5765,10 +5797,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
5765
5797
|
parser.report(41);
|
|
5766
5798
|
}
|
|
5767
5799
|
else if (token & 2097152) {
|
|
5768
|
-
argument =
|
|
5769
|
-
parser
|
|
5770
|
-
|
|
5771
|
-
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin);
|
|
5800
|
+
argument = (parser.getToken() === 2162700
|
|
5801
|
+
? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
|
|
5802
|
+
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin));
|
|
5772
5803
|
token = parser.getToken();
|
|
5773
5804
|
if (token !== 1077936155 && token !== closingToken && token !== 18) {
|
|
5774
5805
|
if (parser.destructible & 8)
|
|
@@ -5803,7 +5834,6 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
5803
5834
|
else {
|
|
5804
5835
|
destructible |= 32;
|
|
5805
5836
|
argument = parseLeftHandSideExpression(parser, context, privateScope, 1, inGroup, 1);
|
|
5806
|
-
const { tokenStart } = parser;
|
|
5807
5837
|
const token = parser.getToken();
|
|
5808
5838
|
if (token === 1077936155) {
|
|
5809
5839
|
if (parser.assignable & 2)
|
|
@@ -5949,7 +5979,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
5949
5979
|
}
|
|
5950
5980
|
else {
|
|
5951
5981
|
destructible |=
|
|
5952
|
-
(token === 209006 ? 128 : 0) |
|
|
5982
|
+
((token & 255) === (209006 & 255) ? 128 : 0) |
|
|
5953
5983
|
(token === -2147483527 ? 16 : 0);
|
|
5954
5984
|
value = parser.cloneIdentifier(key);
|
|
5955
5985
|
}
|
|
@@ -6438,6 +6468,7 @@ function parseMethodFormals(parser, context, scope, privateScope, kind, type, in
|
|
|
6438
6468
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
6439
6469
|
parser.strictReservedRange = null;
|
|
6440
6470
|
parser.firstAwaitLocation = null;
|
|
6471
|
+
parser.firstYieldLocation = null;
|
|
6441
6472
|
if (parser.getToken() === 16) {
|
|
6442
6473
|
if (kind & 512) {
|
|
6443
6474
|
parser.report(37, 'Setter', 'one', '');
|
|
@@ -6530,6 +6561,8 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6530
6561
|
parser.destructible &= -385;
|
|
6531
6562
|
const previousFirstAwaitLocation = parser.firstAwaitLocation;
|
|
6532
6563
|
parser.firstAwaitLocation = null;
|
|
6564
|
+
const previousFirstYieldLocation = parser.firstYieldLocation;
|
|
6565
|
+
parser.firstYieldLocation = null;
|
|
6533
6566
|
let expr;
|
|
6534
6567
|
let expressions = [];
|
|
6535
6568
|
let isSequence = 0;
|
|
@@ -6616,7 +6649,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6616
6649
|
parser.assignable = 2;
|
|
6617
6650
|
expr = parser.finishNode({
|
|
6618
6651
|
type: 'SequenceExpression',
|
|
6619
|
-
expressions,
|
|
6652
|
+
expressions: expressions,
|
|
6620
6653
|
}, tokenAfterParenthesesStart);
|
|
6621
6654
|
}
|
|
6622
6655
|
consume(parser, context, 16);
|
|
@@ -6624,6 +6657,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6624
6657
|
if (previousFirstAwaitLocation) {
|
|
6625
6658
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6626
6659
|
}
|
|
6660
|
+
if (previousFirstYieldLocation) {
|
|
6661
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6662
|
+
}
|
|
6627
6663
|
return parser.options.preserveParens
|
|
6628
6664
|
? parser.finishNode({
|
|
6629
6665
|
type: 'ParenthesizedExpression',
|
|
@@ -6649,7 +6685,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6649
6685
|
parser.assignable = 2;
|
|
6650
6686
|
expr = parser.finishNode({
|
|
6651
6687
|
type: 'SequenceExpression',
|
|
6652
|
-
expressions,
|
|
6688
|
+
expressions: expressions,
|
|
6653
6689
|
}, tokenAfterParenthesesStart);
|
|
6654
6690
|
}
|
|
6655
6691
|
consume(parser, context, 16);
|
|
@@ -6668,6 +6704,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6668
6704
|
parser.report(31);
|
|
6669
6705
|
}
|
|
6670
6706
|
if (context & (1 | 1024) && destructible & 256) {
|
|
6707
|
+
const loc = parser.firstYieldLocation;
|
|
6708
|
+
if (loc)
|
|
6709
|
+
throw new ParseError(loc.start, loc.end, 32);
|
|
6671
6710
|
parser.report(32);
|
|
6672
6711
|
}
|
|
6673
6712
|
if (isNonSimpleParameterList)
|
|
@@ -6678,6 +6717,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6678
6717
|
if (previousFirstAwaitLocation) {
|
|
6679
6718
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6680
6719
|
}
|
|
6720
|
+
if (previousFirstYieldLocation) {
|
|
6721
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6722
|
+
}
|
|
6681
6723
|
return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start, origin);
|
|
6682
6724
|
}
|
|
6683
6725
|
if (destructible & 64) {
|
|
@@ -6691,6 +6733,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6691
6733
|
if (previousFirstAwaitLocation) {
|
|
6692
6734
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6693
6735
|
}
|
|
6736
|
+
if (previousFirstYieldLocation) {
|
|
6737
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6738
|
+
}
|
|
6694
6739
|
return parser.options.preserveParens
|
|
6695
6740
|
? parser.finishNode({
|
|
6696
6741
|
type: 'ParenthesizedExpression',
|
|
@@ -6698,7 +6743,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6698
6743
|
}, parenthesesStart)
|
|
6699
6744
|
: expr;
|
|
6700
6745
|
}
|
|
6701
|
-
function parseIdentifierOrArrow(parser, context, privateScope) {
|
|
6746
|
+
function parseIdentifierOrArrow(parser, context, privateScope, allowRegExp = 0) {
|
|
6702
6747
|
const { tokenValue, tokenStart, currentLocation } = parser;
|
|
6703
6748
|
let isNonSimpleParameterList = 0;
|
|
6704
6749
|
let hasStrictReserved = 0;
|
|
@@ -6708,7 +6753,7 @@ function parseIdentifierOrArrow(parser, context, privateScope) {
|
|
|
6708
6753
|
else if ((parser.getToken() & 36864) === 36864) {
|
|
6709
6754
|
hasStrictReserved = 1;
|
|
6710
6755
|
}
|
|
6711
|
-
const expr = parseIdentifier(parser, context);
|
|
6756
|
+
const expr = parseIdentifier(parser, context, allowRegExp);
|
|
6712
6757
|
parser.assignable = 1;
|
|
6713
6758
|
if (parser.getToken() === 10) {
|
|
6714
6759
|
const scope = parser.options.lexical
|
|
@@ -6800,6 +6845,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, privateScope,
|
|
|
6800
6845
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
6801
6846
|
parser.strictReservedRange = null;
|
|
6802
6847
|
parser.firstAwaitLocation = null;
|
|
6848
|
+
parser.firstYieldLocation = null;
|
|
6803
6849
|
const params = [];
|
|
6804
6850
|
if (consumeOpt(parser, context, 16))
|
|
6805
6851
|
return params;
|
|
@@ -6942,7 +6988,7 @@ function parseMetaProperty(parser, context, meta, start) {
|
|
|
6942
6988
|
}, start);
|
|
6943
6989
|
}
|
|
6944
6990
|
function parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {
|
|
6945
|
-
if (parser.getToken() === 209006)
|
|
6991
|
+
if ((parser.getToken() & 255) === (209006 & 255))
|
|
6946
6992
|
parser.report(31);
|
|
6947
6993
|
if (context & (1 | 1024) && parser.getToken() === 241771) {
|
|
6948
6994
|
parser.report(32);
|
|
@@ -6958,6 +7004,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
6958
7004
|
const scope = parser.createScopeIfLexical()?.createChildScope(512);
|
|
6959
7005
|
const previousFirstAwaitLocation = parser.firstAwaitLocation;
|
|
6960
7006
|
parser.firstAwaitLocation = null;
|
|
7007
|
+
const previousFirstYieldLocation = parser.firstYieldLocation;
|
|
7008
|
+
parser.firstYieldLocation = null;
|
|
6961
7009
|
context = (context | 131072) ^ 131072;
|
|
6962
7010
|
if (consumeOpt(parser, context, 16)) {
|
|
6963
7011
|
if (parser.getToken() === 10) {
|
|
@@ -6973,6 +7021,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
6973
7021
|
}
|
|
6974
7022
|
if (previousFirstAwaitLocation)
|
|
6975
7023
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7024
|
+
if (previousFirstYieldLocation)
|
|
7025
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6976
7026
|
return parser.finishNode({
|
|
6977
7027
|
type: 'CallExpression',
|
|
6978
7028
|
callee,
|
|
@@ -7019,10 +7069,9 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7019
7069
|
}
|
|
7020
7070
|
}
|
|
7021
7071
|
else if (token & 2097152) {
|
|
7022
|
-
expr =
|
|
7023
|
-
|
|
7024
|
-
|
|
7025
|
-
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind);
|
|
7072
|
+
expr = (token === 2162700
|
|
7073
|
+
? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
|
|
7074
|
+
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind));
|
|
7026
7075
|
destructible |= parser.destructible;
|
|
7027
7076
|
isNonSimpleParameterList = 1;
|
|
7028
7077
|
if (parser.getToken() !== 16 && parser.getToken() !== 18) {
|
|
@@ -7062,6 +7111,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7062
7111
|
}
|
|
7063
7112
|
if (previousFirstAwaitLocation)
|
|
7064
7113
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7114
|
+
if (previousFirstYieldLocation)
|
|
7115
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
7065
7116
|
return parser.finishNode({
|
|
7066
7117
|
type: 'CallExpression',
|
|
7067
7118
|
callee,
|
|
@@ -7088,8 +7139,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7088
7139
|
throw new ParseError(loc.start, loc.end, 31);
|
|
7089
7140
|
parser.report(31);
|
|
7090
7141
|
}
|
|
7091
|
-
if (context & (1 | 1024) && destructible & 256)
|
|
7142
|
+
if (context & (1 | 1024) && destructible & 256) {
|
|
7143
|
+
const loc = parser.firstYieldLocation;
|
|
7144
|
+
if (loc)
|
|
7145
|
+
throw new ParseError(loc.start, loc.end, 32);
|
|
7092
7146
|
parser.report(32);
|
|
7147
|
+
}
|
|
7093
7148
|
if (isNonSimpleParameterList)
|
|
7094
7149
|
parser.flags |= 128;
|
|
7095
7150
|
return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);
|
|
@@ -7108,6 +7163,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7108
7163
|
}
|
|
7109
7164
|
if (previousFirstAwaitLocation)
|
|
7110
7165
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7166
|
+
if (previousFirstYieldLocation)
|
|
7167
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
7111
7168
|
return parser.finishNode({
|
|
7112
7169
|
type: 'CallExpression',
|
|
7113
7170
|
callee,
|
|
@@ -7487,6 +7544,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
7487
7544
|
parser.report(121);
|
|
7488
7545
|
const modifierFlags = 1024 |
|
|
7489
7546
|
2048 |
|
|
7547
|
+
8 |
|
|
7490
7548
|
8192 |
|
|
7491
7549
|
((state & 64) === 0 ? 512 | 16384 : 0);
|
|
7492
7550
|
context =
|