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/dist/meriyah.mjs CHANGED
@@ -1,4 +1,4 @@
1
- var version$1 = "7.3.3";
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 < 2597) {
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]: 'continue statement must be nested within an iteration statement',
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
- node.type = 'ArrayPattern';
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
- node.type = 'ObjectPattern';
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
- node.type = 'AssignmentPattern';
2189
+ rewritten.type = 'AssignmentPattern';
2189
2190
  if (node.operator !== '=')
2190
2191
  parser.report(71);
2191
- delete node.operator;
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
- node.type = 'RestElement';
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 !expr.property ? false : expr.property.type === 'PrivateIdentifier';
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['$' + name]) {
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
- if (isIterationStatement && labels.loop)
2275
- isIterationStatement = 0;
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['$' + name])
2284
+ if (set.names?.has(name))
2284
2285
  parser.report(138, name);
2285
- set = set['$'];
2286
+ set = set.parent;
2286
2287
  }
2287
- labels['$' + name] = 1;
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, { $: labels }));
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, { $: labels }, 0)
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
- $: labels,
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, $: labels }, 0);
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, { $: labels });
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, { $: labels });
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, { $: labels });
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
- if (parser.getToken() === 86104) {
4362
- declaration = parseFunctionDeclaration(parser, context, scope, undefined, 1, 1, 1, tokenStart, 4);
4363
- }
4364
- else {
4365
- if (parser.getToken() === 67174411) {
4366
- declaration = parseAsyncArrowOrCallExpression(parser, context, undefined, declaration, 1, 1, flags, tokenStart);
4367
- declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
4368
- declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
4369
- }
4370
- else if (parser.getToken() & 143360) {
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.report(32);
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 possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);
4727
- const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
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
- const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;
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.getToken() === 2162700
5770
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
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
- token === 2162700
7024
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
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 =