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.cjs
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
'use strict';
|
|
2
2
|
|
|
3
|
-
var version$1 = "7.
|
|
3
|
+
var version$1 = "7.4.1";
|
|
4
4
|
var packageJson = {
|
|
5
5
|
version: version$1};
|
|
6
6
|
|
|
@@ -8,7 +8,7 @@ const unicodeLookup = ((compressed, lookup) => {
|
|
|
8
8
|
const result = new Uint32Array(69632);
|
|
9
9
|
let index = 0;
|
|
10
10
|
let subIndex = 0;
|
|
11
|
-
while (index <
|
|
11
|
+
while (index < 2661) {
|
|
12
12
|
const inst = compressed[index++];
|
|
13
13
|
if (inst < 0) {
|
|
14
14
|
subIndex -= inst;
|
|
@@ -26,7 +26,7 @@ const unicodeLookup = ((compressed, lookup) => {
|
|
|
26
26
|
}
|
|
27
27
|
}
|
|
28
28
|
return result;
|
|
29
|
-
})([-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]);
|
|
29
|
+
})([-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]);
|
|
30
30
|
const isIDContinue = (code) => (unicodeLookup[(code >>> 5) + 0] >>> code & 31 & 1) !== 0;
|
|
31
31
|
const isIDStart = (code) => (unicodeLookup[(code >>> 5) + 34816] >>> code & 31 & 1) !== 0;
|
|
32
32
|
|
|
@@ -750,7 +750,7 @@ const errorMessages = {
|
|
|
750
750
|
[135]: 'Unexpected character after object literal property name',
|
|
751
751
|
[137]: 'Invalid key token',
|
|
752
752
|
[138]: "Label '%0' has already been declared",
|
|
753
|
-
[139]: '
|
|
753
|
+
[139]: "Label '%0' does not denote an iteration statement",
|
|
754
754
|
[140]: "Undefined label '%0'",
|
|
755
755
|
[141]: 'Trailing comma is disallowed inside import(...) arguments',
|
|
756
756
|
[142]: 'Invalid binding in JSON import',
|
|
@@ -1600,7 +1600,7 @@ function scanTemplate(parser, context) {
|
|
|
1600
1600
|
char = advanceChar(parser);
|
|
1601
1601
|
if (char === 13)
|
|
1602
1602
|
hasCarriageReturn = true;
|
|
1603
|
-
if (char > 0x7e) {
|
|
1603
|
+
if (char > 0x7e && char !== 8232 && char !== 8233) {
|
|
1604
1604
|
ret += String.fromCodePoint(char);
|
|
1605
1605
|
}
|
|
1606
1606
|
else {
|
|
@@ -2167,9 +2167,10 @@ function consume(parser, context, t) {
|
|
|
2167
2167
|
nextToken(parser, context);
|
|
2168
2168
|
}
|
|
2169
2169
|
function reinterpretToPattern(parser, node) {
|
|
2170
|
+
const rewritten = node;
|
|
2170
2171
|
switch (node.type) {
|
|
2171
2172
|
case 'ArrayExpression': {
|
|
2172
|
-
|
|
2173
|
+
rewritten.type = 'ArrayPattern';
|
|
2173
2174
|
const { elements } = node;
|
|
2174
2175
|
for (let i = 0, n = elements.length; i < n; ++i) {
|
|
2175
2176
|
const element = elements[i];
|
|
@@ -2179,7 +2180,7 @@ function reinterpretToPattern(parser, node) {
|
|
|
2179
2180
|
return;
|
|
2180
2181
|
}
|
|
2181
2182
|
case 'ObjectExpression': {
|
|
2182
|
-
|
|
2183
|
+
rewritten.type = 'ObjectPattern';
|
|
2183
2184
|
const { properties } = node;
|
|
2184
2185
|
for (let i = 0, n = properties.length; i < n; ++i) {
|
|
2185
2186
|
reinterpretToPattern(parser, properties[i]);
|
|
@@ -2187,17 +2188,17 @@ function reinterpretToPattern(parser, node) {
|
|
|
2187
2188
|
return;
|
|
2188
2189
|
}
|
|
2189
2190
|
case 'AssignmentExpression':
|
|
2190
|
-
|
|
2191
|
+
rewritten.type = 'AssignmentPattern';
|
|
2191
2192
|
if (node.operator !== '=')
|
|
2192
2193
|
parser.report(71);
|
|
2193
|
-
delete
|
|
2194
|
+
delete rewritten.operator;
|
|
2194
2195
|
reinterpretToPattern(parser, node.left);
|
|
2195
2196
|
return;
|
|
2196
2197
|
case 'Property':
|
|
2197
2198
|
reinterpretToPattern(parser, node.value);
|
|
2198
2199
|
return;
|
|
2199
2200
|
case 'SpreadElement':
|
|
2200
|
-
|
|
2201
|
+
rewritten.type = 'RestElement';
|
|
2201
2202
|
reinterpretToPattern(parser, node.argument);
|
|
2202
2203
|
}
|
|
2203
2204
|
}
|
|
@@ -2249,7 +2250,7 @@ function validateFunctionName(parser, context, t) {
|
|
|
2249
2250
|
}
|
|
2250
2251
|
}
|
|
2251
2252
|
function isStrictReservedWord(parser, context, t) {
|
|
2252
|
-
if (t === 209006) {
|
|
2253
|
+
if ((t & 255) === (209006 & 255)) {
|
|
2253
2254
|
if (context & (2048 | 2))
|
|
2254
2255
|
parser.report(112);
|
|
2255
2256
|
if ((parser.destructible & 128) === 0) {
|
|
@@ -2264,36 +2265,36 @@ function isStrictReservedWord(parser, context, t) {
|
|
|
2264
2265
|
t == -2147483526);
|
|
2265
2266
|
}
|
|
2266
2267
|
function isPropertyWithPrivateFieldKey(expr) {
|
|
2267
|
-
return
|
|
2268
|
+
return expr.type === 'MemberExpression' && expr.property.type === 'PrivateIdentifier';
|
|
2268
2269
|
}
|
|
2269
2270
|
function isValidLabel(parser, labels, name, isIterationStatement) {
|
|
2271
|
+
let isIterationLabelSet = 0;
|
|
2270
2272
|
while (labels) {
|
|
2271
|
-
if (labels
|
|
2272
|
-
if (isIterationStatement)
|
|
2273
|
-
parser.report(139);
|
|
2273
|
+
if (labels.names?.has(name)) {
|
|
2274
|
+
if (isIterationStatement && !isIterationLabelSet)
|
|
2275
|
+
parser.report(139, name);
|
|
2274
2276
|
return 1;
|
|
2275
2277
|
}
|
|
2276
|
-
|
|
2277
|
-
|
|
2278
|
-
labels = labels['$'];
|
|
2278
|
+
isIterationLabelSet = labels.loop ? 1 : 0;
|
|
2279
|
+
labels = labels.parent;
|
|
2279
2280
|
}
|
|
2280
2281
|
return 0;
|
|
2281
2282
|
}
|
|
2282
2283
|
function validateAndDeclareLabel(parser, labels, name) {
|
|
2283
2284
|
let set = labels;
|
|
2284
2285
|
while (set) {
|
|
2285
|
-
if (set
|
|
2286
|
+
if (set.names?.has(name))
|
|
2286
2287
|
parser.report(138, name);
|
|
2287
|
-
set = set
|
|
2288
|
+
set = set.parent;
|
|
2288
2289
|
}
|
|
2289
|
-
labels
|
|
2290
|
+
(labels.names ??= new Set()).add(name);
|
|
2290
2291
|
}
|
|
2291
2292
|
function isEqualTagName(elementName) {
|
|
2292
2293
|
switch (elementName.type) {
|
|
2293
2294
|
case 'JSXIdentifier':
|
|
2294
2295
|
return elementName.name;
|
|
2295
2296
|
case 'JSXNamespacedName':
|
|
2296
|
-
return elementName.namespace + ':' + elementName.name;
|
|
2297
|
+
return isEqualTagName(elementName.namespace) + ':' + elementName.name.name;
|
|
2297
2298
|
case 'JSXMemberExpression':
|
|
2298
2299
|
return isEqualTagName(elementName.object) + '.' + isEqualTagName(elementName.property);
|
|
2299
2300
|
}
|
|
@@ -2314,6 +2315,9 @@ function classifyIdentifier(parser, context, t) {
|
|
|
2314
2315
|
parser.report(121);
|
|
2315
2316
|
parser.flags |= 512;
|
|
2316
2317
|
}
|
|
2318
|
+
if (context & 1 && (t & 255) === (241737 & 255)) {
|
|
2319
|
+
parser.report(99);
|
|
2320
|
+
}
|
|
2317
2321
|
if (!isValidIdentifier(context, t))
|
|
2318
2322
|
parser.report(0);
|
|
2319
2323
|
}
|
|
@@ -2908,6 +2912,7 @@ class Parser {
|
|
|
2908
2912
|
destructible = 0;
|
|
2909
2913
|
strictReservedRange = null;
|
|
2910
2914
|
firstAwaitLocation = null;
|
|
2915
|
+
firstYieldLocation = null;
|
|
2911
2916
|
leadingDecorators = { decorators: [] };
|
|
2912
2917
|
constructor(source, rawOptions = {}) {
|
|
2913
2918
|
this.source = source;
|
|
@@ -3289,7 +3294,7 @@ function parseBlock(parser, context, scope, privateScope, labels, start = parser
|
|
|
3289
3294
|
const body = [];
|
|
3290
3295
|
consume(parser, context | 32, 2162700);
|
|
3291
3296
|
while (parser.getToken() !== 1074790415) {
|
|
3292
|
-
body.push(parseStatementListItem(parser, context, scope, privateScope, {
|
|
3297
|
+
body.push(parseStatementListItem(parser, context, scope, privateScope, { parent: labels }));
|
|
3293
3298
|
}
|
|
3294
3299
|
consume(parser, context | 32, 1074790415);
|
|
3295
3300
|
return parser.finishNode({
|
|
@@ -3442,7 +3447,7 @@ function parseConsequentOrAlternative(parser, context, scope, privateScope, labe
|
|
|
3442
3447
|
return context & 1 ||
|
|
3443
3448
|
!parser.options.webcompat ||
|
|
3444
3449
|
parser.getToken() !== 86104
|
|
3445
|
-
? parseStatement(parser, context, scope, privateScope, {
|
|
3450
|
+
? parseStatement(parser, context, scope, privateScope, { parent: labels }, 0)
|
|
3446
3451
|
: parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, tokenStart);
|
|
3447
3452
|
}
|
|
3448
3453
|
function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
@@ -3473,7 +3478,7 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
|
|
|
3473
3478
|
parser.getToken() !== 1074790415 &&
|
|
3474
3479
|
parser.getToken() !== 20561) {
|
|
3475
3480
|
const statement = parseStatementListItem(parser, context | 4, scope, privateScope, {
|
|
3476
|
-
|
|
3481
|
+
parent: labels,
|
|
3477
3482
|
});
|
|
3478
3483
|
if (statement.type === 'VariableDeclaration' &&
|
|
3479
3484
|
(statement.kind === 'using' || statement.kind === 'await using')) {
|
|
@@ -3508,7 +3513,7 @@ function parseWhileStatement(parser, context, scope, privateScope, labels) {
|
|
|
3508
3513
|
}, start);
|
|
3509
3514
|
}
|
|
3510
3515
|
function parseIterationStatementBody(parser, context, scope, privateScope, labels) {
|
|
3511
|
-
return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1,
|
|
3516
|
+
return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, parent: labels }, 0);
|
|
3512
3517
|
}
|
|
3513
3518
|
function parseContinueStatement(parser, context, labels) {
|
|
3514
3519
|
if ((context & 128) === 0)
|
|
@@ -3518,9 +3523,9 @@ function parseContinueStatement(parser, context, labels) {
|
|
|
3518
3523
|
let label = null;
|
|
3519
3524
|
if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
|
|
3520
3525
|
const { tokenValue } = parser;
|
|
3521
|
-
label = parseIdentifier(parser, context | 32);
|
|
3522
3526
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
3523
3527
|
parser.report(140, tokenValue);
|
|
3528
|
+
label = parseIdentifier(parser, context | 32);
|
|
3524
3529
|
}
|
|
3525
3530
|
matchOrInsertSemicolon(parser, context | 32);
|
|
3526
3531
|
return parser.finishNode({
|
|
@@ -3534,9 +3539,9 @@ function parseBreakStatement(parser, context, labels) {
|
|
|
3534
3539
|
let label = null;
|
|
3535
3540
|
if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
|
|
3536
3541
|
const { tokenValue } = parser;
|
|
3537
|
-
label = parseIdentifier(parser, context | 32);
|
|
3538
3542
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
3539
3543
|
parser.report(140, tokenValue);
|
|
3544
|
+
label = parseIdentifier(parser, context | 32);
|
|
3540
3545
|
}
|
|
3541
3546
|
else if ((context & (4 | 128)) === 0) {
|
|
3542
3547
|
parser.report(69);
|
|
@@ -3574,7 +3579,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
3574
3579
|
const start = parser.tokenStart;
|
|
3575
3580
|
nextToken(parser, context | 32);
|
|
3576
3581
|
const firstScope = scope?.createChildScope(16);
|
|
3577
|
-
const block = parseBlock(parser, context, firstScope, privateScope, {
|
|
3582
|
+
const block = parseBlock(parser, context, firstScope, privateScope, { parent: labels });
|
|
3578
3583
|
const { tokenStart } = parser;
|
|
3579
3584
|
const handler = consumeOpt(parser, context | 32, 20557)
|
|
3580
3585
|
? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
|
|
@@ -3583,7 +3588,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
3583
3588
|
if (parser.getToken() === 20566) {
|
|
3584
3589
|
nextToken(parser, context | 32);
|
|
3585
3590
|
const finalizerScope = scope?.createChildScope(4);
|
|
3586
|
-
const block = parseBlock(parser, context, finalizerScope, privateScope, {
|
|
3591
|
+
const block = parseBlock(parser, context, finalizerScope, privateScope, { parent: labels });
|
|
3587
3592
|
finalizer = block;
|
|
3588
3593
|
}
|
|
3589
3594
|
if (!handler && !finalizer) {
|
|
@@ -3612,7 +3617,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
|
3612
3617
|
consume(parser, context | 32, 16);
|
|
3613
3618
|
}
|
|
3614
3619
|
const additionalScope = scope?.createChildScope(32);
|
|
3615
|
-
const body = parseBlock(parser, context, additionalScope, privateScope, {
|
|
3620
|
+
const body = parseBlock(parser, context, additionalScope, privateScope, { parent: labels });
|
|
3616
3621
|
return parser.finishNode({
|
|
3617
3622
|
type: 'CatchClause',
|
|
3618
3623
|
param,
|
|
@@ -4359,24 +4364,29 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
4359
4364
|
const { tokenStart } = parser;
|
|
4360
4365
|
declaration = parseIdentifier(parser, context);
|
|
4361
4366
|
const { flags } = parser;
|
|
4362
|
-
if ((flags & 1) === 0) {
|
|
4363
|
-
|
|
4364
|
-
|
|
4365
|
-
|
|
4366
|
-
|
|
4367
|
-
|
|
4368
|
-
|
|
4369
|
-
|
|
4370
|
-
|
|
4371
|
-
|
|
4372
|
-
|
|
4373
|
-
if (scope)
|
|
4374
|
-
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue, parser.tokenStart, parser.currentLocation);
|
|
4375
|
-
declaration = parseIdentifier(parser, context);
|
|
4376
|
-
declaration = parseArrowFunctionExpression(parser, context, scope, undefined, [declaration], 1, tokenStart);
|
|
4377
|
-
}
|
|
4378
|
-
}
|
|
4367
|
+
if ((flags & 1) === 0 && parser.getToken() === 86104) {
|
|
4368
|
+
declaration = parseFunctionDeclaration(parser, context, scope, undefined, 1, 1, 1, tokenStart, 4);
|
|
4369
|
+
break;
|
|
4370
|
+
}
|
|
4371
|
+
if (parser.getToken() === 10) {
|
|
4372
|
+
declaration = parseArrowFromIdentifier(parser, context & -9, undefined, 'async', declaration, 0, 1, 0, tokenStart);
|
|
4373
|
+
}
|
|
4374
|
+
else if ((flags & 1) === 0 && parser.getToken() === 67174411) {
|
|
4375
|
+
declaration = parseAsyncArrowOrCallExpression(parser, context, undefined, declaration, 1, 1, flags, tokenStart);
|
|
4376
|
+
declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
|
|
4377
|
+
declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
|
|
4379
4378
|
}
|
|
4379
|
+
else if ((flags & 1) === 0 && parser.getToken() & 143360) {
|
|
4380
|
+
if (scope)
|
|
4381
|
+
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue, parser.tokenStart, parser.currentLocation);
|
|
4382
|
+
declaration = parseIdentifier(parser, context);
|
|
4383
|
+
declaration = parseArrowFunctionExpression(parser, context, scope, undefined, [declaration], 1, tokenStart);
|
|
4384
|
+
}
|
|
4385
|
+
else {
|
|
4386
|
+
declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
|
|
4387
|
+
declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
|
|
4388
|
+
}
|
|
4389
|
+
matchOrInsertSemicolon(parser, context | 32);
|
|
4380
4390
|
break;
|
|
4381
4391
|
}
|
|
4382
4392
|
default:
|
|
@@ -4602,6 +4612,10 @@ function parseConditionalExpression(parser, context, privateScope, test, start)
|
|
|
4602
4612
|
}, start);
|
|
4603
4613
|
}
|
|
4604
4614
|
function parseBinaryExpression(parser, context, privateScope, inGroup, start, minPrecedence, operator, left) {
|
|
4615
|
+
if ((parser.flags & 16384) === 16384) {
|
|
4616
|
+
parser.flags = (parser.flags | 16384) ^ 16384;
|
|
4617
|
+
return left;
|
|
4618
|
+
}
|
|
4605
4619
|
const bit = -((context & 131072) > 0) & 8673330;
|
|
4606
4620
|
let t;
|
|
4607
4621
|
let precedence;
|
|
@@ -4684,12 +4698,16 @@ function parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, can
|
|
|
4684
4698
|
return expr;
|
|
4685
4699
|
}
|
|
4686
4700
|
function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {
|
|
4687
|
-
if (inGroup)
|
|
4701
|
+
if (inGroup) {
|
|
4702
|
+
if ((parser.destructible & 256) === 0) {
|
|
4703
|
+
parser.firstYieldLocation ??= { start, end: parser.currentLocation };
|
|
4704
|
+
}
|
|
4688
4705
|
parser.destructible |= 256;
|
|
4706
|
+
}
|
|
4689
4707
|
if (context & 1024) {
|
|
4690
4708
|
nextToken(parser, context | 32);
|
|
4691
4709
|
if (context & 8192)
|
|
4692
|
-
parser.
|
|
4710
|
+
throw new ParseError(start, parser.startPosition, 32);
|
|
4693
4711
|
if (!canAssign)
|
|
4694
4712
|
parser.report(26);
|
|
4695
4713
|
if (parser.getToken() === 22)
|
|
@@ -4705,6 +4723,12 @@ function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup
|
|
|
4705
4723
|
else if (parser.getToken() === 8391476) {
|
|
4706
4724
|
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
4707
4725
|
}
|
|
4726
|
+
if (parser.getToken() & (67108864 | 8388608)) {
|
|
4727
|
+
if (argument === null && (parser.flags & 1) === 0) {
|
|
4728
|
+
parser.report(30, KeywordDescTable[parser.getToken() & 255]);
|
|
4729
|
+
}
|
|
4730
|
+
parser.flags |= 16384;
|
|
4731
|
+
}
|
|
4708
4732
|
parser.assignable = 2;
|
|
4709
4733
|
return parser.finishNode({
|
|
4710
4734
|
type: 'YieldExpression',
|
|
@@ -4725,8 +4749,11 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
|
|
|
4725
4749
|
}
|
|
4726
4750
|
if (context & 524288)
|
|
4727
4751
|
parser.report(179);
|
|
4728
|
-
const
|
|
4729
|
-
const
|
|
4752
|
+
const isEscaped = (parser.getToken() & -2147483648) !== 0;
|
|
4753
|
+
const allowRegExp = !isEscaped && context & (2048 | 2) ? 1 : 0;
|
|
4754
|
+
const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope, allowRegExp);
|
|
4755
|
+
const isIdentifier = isEscaped ||
|
|
4756
|
+
possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
|
|
4730
4757
|
(parser.getToken() & 65536) === 0;
|
|
4731
4758
|
if (isIdentifier) {
|
|
4732
4759
|
if (context & 2048)
|
|
@@ -4737,7 +4764,8 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
|
|
|
4737
4764
|
throw new ParseError(start, parser.startPosition, 112);
|
|
4738
4765
|
return possibleIdentifierOrArrowFunc;
|
|
4739
4766
|
}
|
|
4740
|
-
if (context & 8192
|
|
4767
|
+
if (context & 8192 &&
|
|
4768
|
+
(context & (2048 | 2) || parser.getToken() & 143360)) {
|
|
4741
4769
|
throw new ParseError(start, parser.startPosition, 31);
|
|
4742
4770
|
}
|
|
4743
4771
|
if (context & 2048 || (context & 2 && context & 8)) {
|
|
@@ -4863,6 +4891,10 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
4863
4891
|
expr = parseUpdateExpression(parser, context, expr, start);
|
|
4864
4892
|
}
|
|
4865
4893
|
else if ((parser.getToken() & 67108864) === 67108864) {
|
|
4894
|
+
if ((parser.flags & 16384) === 16384) {
|
|
4895
|
+
parser.flags = (parser.flags | 16384) ^ 16384;
|
|
4896
|
+
return expr;
|
|
4897
|
+
}
|
|
4866
4898
|
context = (context | 131072) ^ 131072;
|
|
4867
4899
|
switch (parser.getToken()) {
|
|
4868
4900
|
case 67108877: {
|
|
@@ -5058,6 +5090,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
5058
5090
|
if ((parser.getToken() & 143360) === 143360) {
|
|
5059
5091
|
switch (parser.getToken()) {
|
|
5060
5092
|
case 209006:
|
|
5093
|
+
case 209006 | -2147483648:
|
|
5061
5094
|
return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);
|
|
5062
5095
|
case 241771:
|
|
5063
5096
|
return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);
|
|
@@ -5404,10 +5437,9 @@ function parseArguments(parser, context, privateScope, inGroup) {
|
|
|
5404
5437
|
consume(parser, context | 64, 16);
|
|
5405
5438
|
return args;
|
|
5406
5439
|
}
|
|
5407
|
-
function parseIdentifier(parser, context) {
|
|
5440
|
+
function parseIdentifier(parser, context, allowRegExp = 0) {
|
|
5408
5441
|
const { tokenValue, tokenStart } = parser;
|
|
5409
|
-
|
|
5410
|
-
nextToken(parser, context | (allowRegex ? 32 : 0));
|
|
5442
|
+
nextToken(parser, context | (allowRegExp ? 32 : 0));
|
|
5411
5443
|
return parser.finishNode({
|
|
5412
5444
|
type: 'Identifier',
|
|
5413
5445
|
name: tokenValue,
|
|
@@ -5767,10 +5799,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
5767
5799
|
parser.report(41);
|
|
5768
5800
|
}
|
|
5769
5801
|
else if (token & 2097152) {
|
|
5770
|
-
argument =
|
|
5771
|
-
parser
|
|
5772
|
-
|
|
5773
|
-
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin);
|
|
5802
|
+
argument = (parser.getToken() === 2162700
|
|
5803
|
+
? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
|
|
5804
|
+
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin));
|
|
5774
5805
|
token = parser.getToken();
|
|
5775
5806
|
if (token !== 1077936155 && token !== closingToken && token !== 18) {
|
|
5776
5807
|
if (parser.destructible & 8)
|
|
@@ -5805,7 +5836,6 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
5805
5836
|
else {
|
|
5806
5837
|
destructible |= 32;
|
|
5807
5838
|
argument = parseLeftHandSideExpression(parser, context, privateScope, 1, inGroup, 1);
|
|
5808
|
-
const { tokenStart } = parser;
|
|
5809
5839
|
const token = parser.getToken();
|
|
5810
5840
|
if (token === 1077936155) {
|
|
5811
5841
|
if (parser.assignable & 2)
|
|
@@ -5951,7 +5981,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
5951
5981
|
}
|
|
5952
5982
|
else {
|
|
5953
5983
|
destructible |=
|
|
5954
|
-
(token === 209006 ? 128 : 0) |
|
|
5984
|
+
((token & 255) === (209006 & 255) ? 128 : 0) |
|
|
5955
5985
|
(token === -2147483527 ? 16 : 0);
|
|
5956
5986
|
value = parser.cloneIdentifier(key);
|
|
5957
5987
|
}
|
|
@@ -6440,6 +6470,7 @@ function parseMethodFormals(parser, context, scope, privateScope, kind, type, in
|
|
|
6440
6470
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
6441
6471
|
parser.strictReservedRange = null;
|
|
6442
6472
|
parser.firstAwaitLocation = null;
|
|
6473
|
+
parser.firstYieldLocation = null;
|
|
6443
6474
|
if (parser.getToken() === 16) {
|
|
6444
6475
|
if (kind & 512) {
|
|
6445
6476
|
parser.report(37, 'Setter', 'one', '');
|
|
@@ -6532,6 +6563,8 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6532
6563
|
parser.destructible &= -385;
|
|
6533
6564
|
const previousFirstAwaitLocation = parser.firstAwaitLocation;
|
|
6534
6565
|
parser.firstAwaitLocation = null;
|
|
6566
|
+
const previousFirstYieldLocation = parser.firstYieldLocation;
|
|
6567
|
+
parser.firstYieldLocation = null;
|
|
6535
6568
|
let expr;
|
|
6536
6569
|
let expressions = [];
|
|
6537
6570
|
let isSequence = 0;
|
|
@@ -6618,7 +6651,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6618
6651
|
parser.assignable = 2;
|
|
6619
6652
|
expr = parser.finishNode({
|
|
6620
6653
|
type: 'SequenceExpression',
|
|
6621
|
-
expressions,
|
|
6654
|
+
expressions: expressions,
|
|
6622
6655
|
}, tokenAfterParenthesesStart);
|
|
6623
6656
|
}
|
|
6624
6657
|
consume(parser, context, 16);
|
|
@@ -6626,6 +6659,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6626
6659
|
if (previousFirstAwaitLocation) {
|
|
6627
6660
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6628
6661
|
}
|
|
6662
|
+
if (previousFirstYieldLocation) {
|
|
6663
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6664
|
+
}
|
|
6629
6665
|
return parser.options.preserveParens
|
|
6630
6666
|
? parser.finishNode({
|
|
6631
6667
|
type: 'ParenthesizedExpression',
|
|
@@ -6651,7 +6687,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6651
6687
|
parser.assignable = 2;
|
|
6652
6688
|
expr = parser.finishNode({
|
|
6653
6689
|
type: 'SequenceExpression',
|
|
6654
|
-
expressions,
|
|
6690
|
+
expressions: expressions,
|
|
6655
6691
|
}, tokenAfterParenthesesStart);
|
|
6656
6692
|
}
|
|
6657
6693
|
consume(parser, context, 16);
|
|
@@ -6670,6 +6706,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6670
6706
|
parser.report(31);
|
|
6671
6707
|
}
|
|
6672
6708
|
if (context & (1 | 1024) && destructible & 256) {
|
|
6709
|
+
const loc = parser.firstYieldLocation;
|
|
6710
|
+
if (loc)
|
|
6711
|
+
throw new ParseError(loc.start, loc.end, 32);
|
|
6673
6712
|
parser.report(32);
|
|
6674
6713
|
}
|
|
6675
6714
|
if (isNonSimpleParameterList)
|
|
@@ -6680,6 +6719,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6680
6719
|
if (previousFirstAwaitLocation) {
|
|
6681
6720
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6682
6721
|
}
|
|
6722
|
+
if (previousFirstYieldLocation) {
|
|
6723
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6724
|
+
}
|
|
6683
6725
|
return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start, origin);
|
|
6684
6726
|
}
|
|
6685
6727
|
if (destructible & 64) {
|
|
@@ -6693,6 +6735,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6693
6735
|
if (previousFirstAwaitLocation) {
|
|
6694
6736
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
6695
6737
|
}
|
|
6738
|
+
if (previousFirstYieldLocation) {
|
|
6739
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6740
|
+
}
|
|
6696
6741
|
return parser.options.preserveParens
|
|
6697
6742
|
? parser.finishNode({
|
|
6698
6743
|
type: 'ParenthesizedExpression',
|
|
@@ -6700,7 +6745,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
|
|
|
6700
6745
|
}, parenthesesStart)
|
|
6701
6746
|
: expr;
|
|
6702
6747
|
}
|
|
6703
|
-
function parseIdentifierOrArrow(parser, context, privateScope) {
|
|
6748
|
+
function parseIdentifierOrArrow(parser, context, privateScope, allowRegExp = 0) {
|
|
6704
6749
|
const { tokenValue, tokenStart, currentLocation } = parser;
|
|
6705
6750
|
let isNonSimpleParameterList = 0;
|
|
6706
6751
|
let hasStrictReserved = 0;
|
|
@@ -6710,7 +6755,7 @@ function parseIdentifierOrArrow(parser, context, privateScope) {
|
|
|
6710
6755
|
else if ((parser.getToken() & 36864) === 36864) {
|
|
6711
6756
|
hasStrictReserved = 1;
|
|
6712
6757
|
}
|
|
6713
|
-
const expr = parseIdentifier(parser, context);
|
|
6758
|
+
const expr = parseIdentifier(parser, context, allowRegExp);
|
|
6714
6759
|
parser.assignable = 1;
|
|
6715
6760
|
if (parser.getToken() === 10) {
|
|
6716
6761
|
const scope = parser.options.lexical
|
|
@@ -6802,6 +6847,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, privateScope,
|
|
|
6802
6847
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
6803
6848
|
parser.strictReservedRange = null;
|
|
6804
6849
|
parser.firstAwaitLocation = null;
|
|
6850
|
+
parser.firstYieldLocation = null;
|
|
6805
6851
|
const params = [];
|
|
6806
6852
|
if (consumeOpt(parser, context, 16))
|
|
6807
6853
|
return params;
|
|
@@ -6944,7 +6990,7 @@ function parseMetaProperty(parser, context, meta, start) {
|
|
|
6944
6990
|
}, start);
|
|
6945
6991
|
}
|
|
6946
6992
|
function parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {
|
|
6947
|
-
if (parser.getToken() === 209006)
|
|
6993
|
+
if ((parser.getToken() & 255) === (209006 & 255))
|
|
6948
6994
|
parser.report(31);
|
|
6949
6995
|
if (context & (1 | 1024) && parser.getToken() === 241771) {
|
|
6950
6996
|
parser.report(32);
|
|
@@ -6960,6 +7006,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
6960
7006
|
const scope = parser.createScopeIfLexical()?.createChildScope(512);
|
|
6961
7007
|
const previousFirstAwaitLocation = parser.firstAwaitLocation;
|
|
6962
7008
|
parser.firstAwaitLocation = null;
|
|
7009
|
+
const previousFirstYieldLocation = parser.firstYieldLocation;
|
|
7010
|
+
parser.firstYieldLocation = null;
|
|
6963
7011
|
context = (context | 131072) ^ 131072;
|
|
6964
7012
|
if (consumeOpt(parser, context, 16)) {
|
|
6965
7013
|
if (parser.getToken() === 10) {
|
|
@@ -6975,6 +7023,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
6975
7023
|
}
|
|
6976
7024
|
if (previousFirstAwaitLocation)
|
|
6977
7025
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7026
|
+
if (previousFirstYieldLocation)
|
|
7027
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
6978
7028
|
return parser.finishNode({
|
|
6979
7029
|
type: 'CallExpression',
|
|
6980
7030
|
callee,
|
|
@@ -7021,10 +7071,9 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7021
7071
|
}
|
|
7022
7072
|
}
|
|
7023
7073
|
else if (token & 2097152) {
|
|
7024
|
-
expr =
|
|
7025
|
-
|
|
7026
|
-
|
|
7027
|
-
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind);
|
|
7074
|
+
expr = (token === 2162700
|
|
7075
|
+
? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
|
|
7076
|
+
: parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind));
|
|
7028
7077
|
destructible |= parser.destructible;
|
|
7029
7078
|
isNonSimpleParameterList = 1;
|
|
7030
7079
|
if (parser.getToken() !== 16 && parser.getToken() !== 18) {
|
|
@@ -7064,6 +7113,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7064
7113
|
}
|
|
7065
7114
|
if (previousFirstAwaitLocation)
|
|
7066
7115
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7116
|
+
if (previousFirstYieldLocation)
|
|
7117
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
7067
7118
|
return parser.finishNode({
|
|
7068
7119
|
type: 'CallExpression',
|
|
7069
7120
|
callee,
|
|
@@ -7090,8 +7141,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7090
7141
|
throw new ParseError(loc.start, loc.end, 31);
|
|
7091
7142
|
parser.report(31);
|
|
7092
7143
|
}
|
|
7093
|
-
if (context & (1 | 1024) && destructible & 256)
|
|
7144
|
+
if (context & (1 | 1024) && destructible & 256) {
|
|
7145
|
+
const loc = parser.firstYieldLocation;
|
|
7146
|
+
if (loc)
|
|
7147
|
+
throw new ParseError(loc.start, loc.end, 32);
|
|
7094
7148
|
parser.report(32);
|
|
7149
|
+
}
|
|
7095
7150
|
if (isNonSimpleParameterList)
|
|
7096
7151
|
parser.flags |= 128;
|
|
7097
7152
|
return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);
|
|
@@ -7110,6 +7165,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
7110
7165
|
}
|
|
7111
7166
|
if (previousFirstAwaitLocation)
|
|
7112
7167
|
parser.firstAwaitLocation = previousFirstAwaitLocation;
|
|
7168
|
+
if (previousFirstYieldLocation)
|
|
7169
|
+
parser.firstYieldLocation = previousFirstYieldLocation;
|
|
7113
7170
|
return parser.finishNode({
|
|
7114
7171
|
type: 'CallExpression',
|
|
7115
7172
|
callee,
|
|
@@ -7489,6 +7546,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
|
|
|
7489
7546
|
parser.report(121);
|
|
7490
7547
|
const modifierFlags = 1024 |
|
|
7491
7548
|
2048 |
|
|
7549
|
+
8 |
|
|
7492
7550
|
8192 |
|
|
7493
7551
|
((state & 64) === 0 ? 512 | 16384 : 0);
|
|
7494
7552
|
context =
|