meriyah 7.3.3 → 7.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,20 @@
1
+ # [7.4.0](https://github.com/meriyah/meriyah/compare/v7.3.3...v7.4.0) (2026-10-05)
2
+
3
+ ### Bug Fixes
4
+
5
+ * **jsx:** compare namespaced tag names by text, and type the common.ts helpers ([#655](https://github.com/meriyah/meriyah/issues/655)) ([b60eb49](https://github.com/meriyah/meriyah/commit/b60eb49d2fc16ba363ffb9f05b190d92f51cc746))
6
+ * **lexer:** treat LS/PS after a backslash in templates as a line continuation ([#665](https://github.com/meriyah/meriyah/issues/665)) ([205f6f0](https://github.com/meriyah/meriyah/commit/205f6f0250f924368ca73488d00b2ac74092b2fb))
7
+ * **parser:** allow await identifiers in ordinary parameter defaults ([#666](https://github.com/meriyah/meriyah/issues/666)) ([02c894b](https://github.com/meriyah/meriyah/commit/02c894bb5d0637f681347a7731862881015a8a58))
8
+ * **parser:** parse `/` after an `await` identifier as division ([#659](https://github.com/meriyah/meriyah/issues/659)) ([7424452](https://github.com/meriyah/meriyah/commit/7424452d09317a01d6766944873bd36bd7eb8125))
9
+ * **parser:** reject `await` in class field initializers ([#651](https://github.com/meriyah/meriyah/issues/651)) ([51dfdcb](https://github.com/meriyah/meriyah/commit/51dfdcb7c3d7c60b7e68581919629fd9250b9549))
10
+ * **parser:** reject escaped `await` in async arrow parameters ([#647](https://github.com/meriyah/meriyah/issues/647)) ([e45a36c](https://github.com/meriyah/meriyah/commit/e45a36c89821e6725701f761699b13cdf17575b1))
11
+ * **parser:** report yield-in-parameter errors at the yield token ([#656](https://github.com/meriyah/meriyah/issues/656)) ([754a550](https://github.com/meriyah/meriyah/commit/754a550c5896b6d1a8dbead95208ae206a15466d))
12
+ * **parser:** restrict continue targets to iteration statement labels ([#646](https://github.com/meriyah/meriyah/issues/646)) ([3df8ade](https://github.com/meriyah/meriyah/commit/3df8adea6fb57e01d81478e4b2453a3b29248fe3))
13
+
14
+ ### Features
15
+
16
+ * support Unicode 18 ([#660](https://github.com/meriyah/meriyah/issues/660)) ([d666dca](https://github.com/meriyah/meriyah/commit/d666dca10294abbfadd2c0b0a31a3e1501ab946f))
17
+
1
18
  ## [7.3.3](https://github.com/meriyah/meriyah/compare/v7.3.2...v7.3.3) (2026-09-05)
2
19
 
3
20
  ### Bug Fixes
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.0";
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
  }
@@ -2908,6 +2909,7 @@ class Parser {
2908
2909
  destructible = 0;
2909
2910
  strictReservedRange = null;
2910
2911
  firstAwaitLocation = null;
2912
+ firstYieldLocation = null;
2911
2913
  leadingDecorators = { decorators: [] };
2912
2914
  constructor(source, rawOptions = {}) {
2913
2915
  this.source = source;
@@ -3289,7 +3291,7 @@ function parseBlock(parser, context, scope, privateScope, labels, start = parser
3289
3291
  const body = [];
3290
3292
  consume(parser, context | 32, 2162700);
3291
3293
  while (parser.getToken() !== 1074790415) {
3292
- body.push(parseStatementListItem(parser, context, scope, privateScope, { $: labels }));
3294
+ body.push(parseStatementListItem(parser, context, scope, privateScope, { parent: labels }));
3293
3295
  }
3294
3296
  consume(parser, context | 32, 1074790415);
3295
3297
  return parser.finishNode({
@@ -3442,7 +3444,7 @@ function parseConsequentOrAlternative(parser, context, scope, privateScope, labe
3442
3444
  return context & 1 ||
3443
3445
  !parser.options.webcompat ||
3444
3446
  parser.getToken() !== 86104
3445
- ? parseStatement(parser, context, scope, privateScope, { $: labels }, 0)
3447
+ ? parseStatement(parser, context, scope, privateScope, { parent: labels }, 0)
3446
3448
  : parseFunctionDeclaration(parser, context, scope?.createChildScope(), privateScope, 0, 0, 0, tokenStart);
3447
3449
  }
3448
3450
  function parseSwitchStatement(parser, context, scope, privateScope, labels) {
@@ -3473,7 +3475,7 @@ function parseSwitchStatement(parser, context, scope, privateScope, labels) {
3473
3475
  parser.getToken() !== 1074790415 &&
3474
3476
  parser.getToken() !== 20561) {
3475
3477
  const statement = parseStatementListItem(parser, context | 4, scope, privateScope, {
3476
- $: labels,
3478
+ parent: labels,
3477
3479
  });
3478
3480
  if (statement.type === 'VariableDeclaration' &&
3479
3481
  (statement.kind === 'using' || statement.kind === 'await using')) {
@@ -3508,7 +3510,7 @@ function parseWhileStatement(parser, context, scope, privateScope, labels) {
3508
3510
  }, start);
3509
3511
  }
3510
3512
  function parseIterationStatementBody(parser, context, scope, privateScope, labels) {
3511
- return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, $: labels }, 0);
3513
+ return parseStatement(parser, ((context | 131072) ^ 131072) | 128, scope, privateScope, { loop: 1, parent: labels }, 0);
3512
3514
  }
3513
3515
  function parseContinueStatement(parser, context, labels) {
3514
3516
  if ((context & 128) === 0)
@@ -3518,9 +3520,9 @@ function parseContinueStatement(parser, context, labels) {
3518
3520
  let label = null;
3519
3521
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3520
3522
  const { tokenValue } = parser;
3521
- label = parseIdentifier(parser, context | 32);
3522
3523
  if (!isValidLabel(parser, labels, tokenValue, 1))
3523
3524
  parser.report(140, tokenValue);
3525
+ label = parseIdentifier(parser, context | 32);
3524
3526
  }
3525
3527
  matchOrInsertSemicolon(parser, context | 32);
3526
3528
  return parser.finishNode({
@@ -3534,9 +3536,9 @@ function parseBreakStatement(parser, context, labels) {
3534
3536
  let label = null;
3535
3537
  if ((parser.flags & 1) === 0 && parser.getToken() & 143360) {
3536
3538
  const { tokenValue } = parser;
3537
- label = parseIdentifier(parser, context | 32);
3538
3539
  if (!isValidLabel(parser, labels, tokenValue, 0))
3539
3540
  parser.report(140, tokenValue);
3541
+ label = parseIdentifier(parser, context | 32);
3540
3542
  }
3541
3543
  else if ((context & (4 | 128)) === 0) {
3542
3544
  parser.report(69);
@@ -3574,7 +3576,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
3574
3576
  const start = parser.tokenStart;
3575
3577
  nextToken(parser, context | 32);
3576
3578
  const firstScope = scope?.createChildScope(16);
3577
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
3579
+ const block = parseBlock(parser, context, firstScope, privateScope, { parent: labels });
3578
3580
  const { tokenStart } = parser;
3579
3581
  const handler = consumeOpt(parser, context | 32, 20557)
3580
3582
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -3583,7 +3585,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
3583
3585
  if (parser.getToken() === 20566) {
3584
3586
  nextToken(parser, context | 32);
3585
3587
  const finalizerScope = scope?.createChildScope(4);
3586
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
3588
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { parent: labels });
3587
3589
  finalizer = block;
3588
3590
  }
3589
3591
  if (!handler && !finalizer) {
@@ -3612,7 +3614,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
3612
3614
  consume(parser, context | 32, 16);
3613
3615
  }
3614
3616
  const additionalScope = scope?.createChildScope(32);
3615
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
3617
+ const body = parseBlock(parser, context, additionalScope, privateScope, { parent: labels });
3616
3618
  return parser.finishNode({
3617
3619
  type: 'CatchClause',
3618
3620
  param,
@@ -4684,12 +4686,16 @@ function parseAsyncExpression(parser, context, privateScope, inGroup, isLHS, can
4684
4686
  return expr;
4685
4687
  }
4686
4688
  function parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start) {
4687
- if (inGroup)
4689
+ if (inGroup) {
4690
+ if ((parser.destructible & 256) === 0) {
4691
+ parser.firstYieldLocation ??= { start, end: parser.currentLocation };
4692
+ }
4688
4693
  parser.destructible |= 256;
4694
+ }
4689
4695
  if (context & 1024) {
4690
4696
  nextToken(parser, context | 32);
4691
4697
  if (context & 8192)
4692
- parser.report(32);
4698
+ throw new ParseError(start, parser.startPosition, 32);
4693
4699
  if (!canAssign)
4694
4700
  parser.report(26);
4695
4701
  if (parser.getToken() === 22)
@@ -4725,8 +4731,11 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
4725
4731
  }
4726
4732
  if (context & 524288)
4727
4733
  parser.report(179);
4728
- const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope);
4729
- const isIdentifier = possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4734
+ const isEscaped = (parser.getToken() & -2147483648) !== 0;
4735
+ const allowRegExp = !isEscaped && context & (2048 | 2) ? 1 : 0;
4736
+ const possibleIdentifierOrArrowFunc = parseIdentifierOrArrow(parser, context, privateScope, allowRegExp);
4737
+ const isIdentifier = isEscaped ||
4738
+ possibleIdentifierOrArrowFunc.type === 'ArrowFunctionExpression' ||
4730
4739
  (parser.getToken() & 65536) === 0;
4731
4740
  if (isIdentifier) {
4732
4741
  if (context & 2048)
@@ -4737,7 +4746,8 @@ function parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew,
4737
4746
  throw new ParseError(start, parser.startPosition, 112);
4738
4747
  return possibleIdentifierOrArrowFunc;
4739
4748
  }
4740
- if (context & 8192) {
4749
+ if (context & 8192 &&
4750
+ (context & (2048 | 2) || parser.getToken() & 143360)) {
4741
4751
  throw new ParseError(start, parser.startPosition, 31);
4742
4752
  }
4743
4753
  if (context & 2048 || (context & 2 && context & 8)) {
@@ -5058,6 +5068,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
5058
5068
  if ((parser.getToken() & 143360) === 143360) {
5059
5069
  switch (parser.getToken()) {
5060
5070
  case 209006:
5071
+ case 209006 | -2147483648:
5061
5072
  return parseAwaitExpressionOrIdentifier(parser, context, privateScope, inNew, inGroup, start);
5062
5073
  case 241771:
5063
5074
  return parseYieldExpressionOrIdentifier(parser, context, privateScope, inGroup, canAssign, start);
@@ -5404,10 +5415,9 @@ function parseArguments(parser, context, privateScope, inGroup) {
5404
5415
  consume(parser, context | 64, 16);
5405
5416
  return args;
5406
5417
  }
5407
- function parseIdentifier(parser, context) {
5418
+ function parseIdentifier(parser, context, allowRegExp = 0) {
5408
5419
  const { tokenValue, tokenStart } = parser;
5409
- const allowRegex = tokenValue === 'await' && (parser.getToken() & -2147483648) === 0;
5410
- nextToken(parser, context | (allowRegex ? 32 : 0));
5420
+ nextToken(parser, context | (allowRegExp ? 32 : 0));
5411
5421
  return parser.finishNode({
5412
5422
  type: 'Identifier',
5413
5423
  name: tokenValue,
@@ -5767,10 +5777,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
5767
5777
  parser.report(41);
5768
5778
  }
5769
5779
  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);
5780
+ argument = (parser.getToken() === 2162700
5781
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin)
5782
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 1, inGroup, isPattern, kind, origin));
5774
5783
  token = parser.getToken();
5775
5784
  if (token !== 1077936155 && token !== closingToken && token !== 18) {
5776
5785
  if (parser.destructible & 8)
@@ -5951,7 +5960,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
5951
5960
  }
5952
5961
  else {
5953
5962
  destructible |=
5954
- (token === 209006 ? 128 : 0) |
5963
+ ((token & 255) === (209006 & 255) ? 128 : 0) |
5955
5964
  (token === -2147483527 ? 16 : 0);
5956
5965
  value = parser.cloneIdentifier(key);
5957
5966
  }
@@ -6440,6 +6449,7 @@ function parseMethodFormals(parser, context, scope, privateScope, kind, type, in
6440
6449
  parser.flags = (parser.flags | 128) ^ 128;
6441
6450
  parser.strictReservedRange = null;
6442
6451
  parser.firstAwaitLocation = null;
6452
+ parser.firstYieldLocation = null;
6443
6453
  if (parser.getToken() === 16) {
6444
6454
  if (kind & 512) {
6445
6455
  parser.report(37, 'Setter', 'one', '');
@@ -6532,6 +6542,8 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6532
6542
  parser.destructible &= -385;
6533
6543
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6534
6544
  parser.firstAwaitLocation = null;
6545
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6546
+ parser.firstYieldLocation = null;
6535
6547
  let expr;
6536
6548
  let expressions = [];
6537
6549
  let isSequence = 0;
@@ -6618,7 +6630,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6618
6630
  parser.assignable = 2;
6619
6631
  expr = parser.finishNode({
6620
6632
  type: 'SequenceExpression',
6621
- expressions,
6633
+ expressions: expressions,
6622
6634
  }, tokenAfterParenthesesStart);
6623
6635
  }
6624
6636
  consume(parser, context, 16);
@@ -6626,6 +6638,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6626
6638
  if (previousFirstAwaitLocation) {
6627
6639
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6628
6640
  }
6641
+ if (previousFirstYieldLocation) {
6642
+ parser.firstYieldLocation = previousFirstYieldLocation;
6643
+ }
6629
6644
  return parser.options.preserveParens
6630
6645
  ? parser.finishNode({
6631
6646
  type: 'ParenthesizedExpression',
@@ -6651,7 +6666,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6651
6666
  parser.assignable = 2;
6652
6667
  expr = parser.finishNode({
6653
6668
  type: 'SequenceExpression',
6654
- expressions,
6669
+ expressions: expressions,
6655
6670
  }, tokenAfterParenthesesStart);
6656
6671
  }
6657
6672
  consume(parser, context, 16);
@@ -6670,6 +6685,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6670
6685
  parser.report(31);
6671
6686
  }
6672
6687
  if (context & (1 | 1024) && destructible & 256) {
6688
+ const loc = parser.firstYieldLocation;
6689
+ if (loc)
6690
+ throw new ParseError(loc.start, loc.end, 32);
6673
6691
  parser.report(32);
6674
6692
  }
6675
6693
  if (isNonSimpleParameterList)
@@ -6680,6 +6698,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6680
6698
  if (previousFirstAwaitLocation) {
6681
6699
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6682
6700
  }
6701
+ if (previousFirstYieldLocation) {
6702
+ parser.firstYieldLocation = previousFirstYieldLocation;
6703
+ }
6683
6704
  return parseParenthesizedArrow(parser, context, scope, privateScope, isSequence ? expressions : [expr], canAssign, 0, start, origin);
6684
6705
  }
6685
6706
  if (destructible & 64) {
@@ -6693,6 +6714,9 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6693
6714
  if (previousFirstAwaitLocation) {
6694
6715
  parser.firstAwaitLocation = previousFirstAwaitLocation;
6695
6716
  }
6717
+ if (previousFirstYieldLocation) {
6718
+ parser.firstYieldLocation = previousFirstYieldLocation;
6719
+ }
6696
6720
  return parser.options.preserveParens
6697
6721
  ? parser.finishNode({
6698
6722
  type: 'ParenthesizedExpression',
@@ -6700,7 +6724,7 @@ function parseParenthesizedExpression(parser, context, privateScope, canAssign,
6700
6724
  }, parenthesesStart)
6701
6725
  : expr;
6702
6726
  }
6703
- function parseIdentifierOrArrow(parser, context, privateScope) {
6727
+ function parseIdentifierOrArrow(parser, context, privateScope, allowRegExp = 0) {
6704
6728
  const { tokenValue, tokenStart, currentLocation } = parser;
6705
6729
  let isNonSimpleParameterList = 0;
6706
6730
  let hasStrictReserved = 0;
@@ -6710,7 +6734,7 @@ function parseIdentifierOrArrow(parser, context, privateScope) {
6710
6734
  else if ((parser.getToken() & 36864) === 36864) {
6711
6735
  hasStrictReserved = 1;
6712
6736
  }
6713
- const expr = parseIdentifier(parser, context);
6737
+ const expr = parseIdentifier(parser, context, allowRegExp);
6714
6738
  parser.assignable = 1;
6715
6739
  if (parser.getToken() === 10) {
6716
6740
  const scope = parser.options.lexical
@@ -6802,6 +6826,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, privateScope,
6802
6826
  parser.flags = (parser.flags | 128) ^ 128;
6803
6827
  parser.strictReservedRange = null;
6804
6828
  parser.firstAwaitLocation = null;
6829
+ parser.firstYieldLocation = null;
6805
6830
  const params = [];
6806
6831
  if (consumeOpt(parser, context, 16))
6807
6832
  return params;
@@ -6944,7 +6969,7 @@ function parseMetaProperty(parser, context, meta, start) {
6944
6969
  }, start);
6945
6970
  }
6946
6971
  function parseAsyncArrowAfterIdent(parser, context, privateScope, canAssign, start) {
6947
- if (parser.getToken() === 209006)
6972
+ if ((parser.getToken() & 255) === (209006 & 255))
6948
6973
  parser.report(31);
6949
6974
  if (context & (1 | 1024) && parser.getToken() === 241771) {
6950
6975
  parser.report(32);
@@ -6960,6 +6985,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
6960
6985
  const scope = parser.createScopeIfLexical()?.createChildScope(512);
6961
6986
  const previousFirstAwaitLocation = parser.firstAwaitLocation;
6962
6987
  parser.firstAwaitLocation = null;
6988
+ const previousFirstYieldLocation = parser.firstYieldLocation;
6989
+ parser.firstYieldLocation = null;
6963
6990
  context = (context | 131072) ^ 131072;
6964
6991
  if (consumeOpt(parser, context, 16)) {
6965
6992
  if (parser.getToken() === 10) {
@@ -6975,6 +7002,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
6975
7002
  }
6976
7003
  if (previousFirstAwaitLocation)
6977
7004
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7005
+ if (previousFirstYieldLocation)
7006
+ parser.firstYieldLocation = previousFirstYieldLocation;
6978
7007
  return parser.finishNode({
6979
7008
  type: 'CallExpression',
6980
7009
  callee,
@@ -7021,10 +7050,9 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7021
7050
  }
7022
7051
  }
7023
7052
  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);
7053
+ expr = (token === 2162700
7054
+ ? parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind)
7055
+ : parseArrayExpressionOrPattern(parser, context, scope, privateScope, 0, 1, 0, kind));
7028
7056
  destructible |= parser.destructible;
7029
7057
  isNonSimpleParameterList = 1;
7030
7058
  if (parser.getToken() !== 16 && parser.getToken() !== 18) {
@@ -7064,6 +7092,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7064
7092
  }
7065
7093
  if (previousFirstAwaitLocation)
7066
7094
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7095
+ if (previousFirstYieldLocation)
7096
+ parser.firstYieldLocation = previousFirstYieldLocation;
7067
7097
  return parser.finishNode({
7068
7098
  type: 'CallExpression',
7069
7099
  callee,
@@ -7090,8 +7120,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7090
7120
  throw new ParseError(loc.start, loc.end, 31);
7091
7121
  parser.report(31);
7092
7122
  }
7093
- if (context & (1 | 1024) && destructible & 256)
7123
+ if (context & (1 | 1024) && destructible & 256) {
7124
+ const loc = parser.firstYieldLocation;
7125
+ if (loc)
7126
+ throw new ParseError(loc.start, loc.end, 32);
7094
7127
  parser.report(32);
7128
+ }
7095
7129
  if (isNonSimpleParameterList)
7096
7130
  parser.flags |= 128;
7097
7131
  return parseParenthesizedArrow(parser, context | 2048, scope, privateScope, params, canAssign, 1, start);
@@ -7110,6 +7144,8 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
7110
7144
  }
7111
7145
  if (previousFirstAwaitLocation)
7112
7146
  parser.firstAwaitLocation = previousFirstAwaitLocation;
7147
+ if (previousFirstYieldLocation)
7148
+ parser.firstYieldLocation = previousFirstYieldLocation;
7113
7149
  return parser.finishNode({
7114
7150
  type: 'CallExpression',
7115
7151
  callee,
@@ -7489,6 +7525,7 @@ function parsePropertyDefinition(parser, context, privateScope, key, state, deco
7489
7525
  parser.report(121);
7490
7526
  const modifierFlags = 1024 |
7491
7527
  2048 |
7528
+ 8 |
7492
7529
  8192 |
7493
7530
  ((state & 64) === 0 ? 512 | 16384 : 0);
7494
7531
  context =