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.cjs CHANGED
@@ -1,6 +1,6 @@
1
1
  'use strict';
2
2
 
3
- var version$1 = "7.3.3";
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 < 2597) {
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]: 'continue statement must be nested within an iteration statement',
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
- node.type = 'ArrayPattern';
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
- node.type = 'ObjectPattern';
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
- node.type = 'AssignmentPattern';
2191
+ rewritten.type = 'AssignmentPattern';
2191
2192
  if (node.operator !== '=')
2192
2193
  parser.report(71);
2193
- delete node.operator;
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
- node.type = 'RestElement';
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 !expr.property ? false : expr.property.type === 'PrivateIdentifier';
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['$' + name]) {
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
- if (isIterationStatement && labels.loop)
2277
- isIterationStatement = 0;
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['$' + name])
2286
+ if (set.names?.has(name))
2286
2287
  parser.report(138, name);
2287
- set = set['$'];
2288
+ set = set.parent;
2288
2289
  }
2289
- labels['$' + name] = 1;
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, { $: labels }));
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, { $: labels }, 0)
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
- $: labels,
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, $: labels }, 0);
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, { $: labels });
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, { $: labels });
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, { $: labels });
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
- if (parser.getToken() === 86104) {
4364
- declaration = parseFunctionDeclaration(parser, context, scope, undefined, 1, 1, 1, tokenStart, 4);
4365
- }
4366
- else {
4367
- if (parser.getToken() === 67174411) {
4368
- declaration = parseAsyncArrowOrCallExpression(parser, context, undefined, declaration, 1, 1, flags, tokenStart);
4369
- declaration = parseMemberOrUpdateExpression(parser, context, undefined, declaration, 0, 0, tokenStart);
4370
- declaration = parseAssignmentExpression(parser, context, undefined, 0, 0, tokenStart, declaration);
4371
- }
4372
- else if (parser.getToken() & 143360) {
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.report(32);
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 possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);
4729
- const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
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
- const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;
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.getToken() === 2162700
5772
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
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
- token === 2162700
7026
- ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
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 =