meriyah 4.3.1 → 4.3.3

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.
@@ -16,7 +16,7 @@
16
16
  [8]: 'Octal literals are not allowed in strict mode',
17
17
  [7]: 'Decimal integer literals with a leading zero are forbidden in strict mode',
18
18
  [9]: 'Expected number in radix %0',
19
- [145]: 'Invalid left-hand side assignment to a destructible right-hand side',
19
+ [146]: 'Invalid left-hand side assignment to a destructible right-hand side',
20
20
  [10]: 'Non-number found after exponent indicator',
21
21
  [11]: 'Invalid BigIntLiteral',
22
22
  [12]: 'No identifiers allowed directly after numeric literal',
@@ -37,9 +37,9 @@
37
37
  [27]: 'Member access on super must be in a method',
38
38
  [29]: 'Await expression not allowed in formal parameter',
39
39
  [30]: 'Yield expression not allowed in formal parameter',
40
- [92]: "Unexpected token: 'escaped keyword'",
40
+ [93]: "Unexpected token: 'escaped keyword'",
41
41
  [31]: 'Unary expressions as the left operand of an exponentiation expression must be disambiguated with parentheses',
42
- [119]: 'Async functions can only be declared at the top level or inside a block',
42
+ [120]: 'Async functions can only be declared at the top level or inside a block',
43
43
  [32]: 'Unterminated regular expression',
44
44
  [33]: 'Unexpected regular expression flag',
45
45
  [34]: "Duplicate regular expression flag '%0'",
@@ -49,125 +49,126 @@
49
49
  [38]: 'Function name may not contain any reserved words or be eval or arguments in strict mode',
50
50
  [39]: 'The rest operator is missing an argument',
51
51
  [40]: 'A getter cannot be a generator',
52
- [41]: 'A computed property name must be followed by a colon or paren',
53
- [130]: 'Object literal keys that are strings or numbers must be a method or have a colon',
54
- [43]: 'Found `* async x(){}` but this should be `async * x(){}`',
55
- [42]: 'Getters and setters can not be generators',
56
- [44]: "'%0' can not be generator method",
57
- [45]: "No line break is allowed after '=>'",
58
- [46]: 'The left-hand side of the arrow can only be destructed through assignment',
59
- [47]: 'The binding declaration is not destructible',
60
- [48]: 'Async arrow can not be followed by new expression',
61
- [49]: "Classes may not have a static property named 'prototype'",
62
- [50]: 'Class constructor may not be a %0',
63
- [51]: 'Duplicate constructor method in class',
64
- [52]: 'Invalid increment/decrement operand',
65
- [53]: 'Invalid use of `new` keyword on an increment/decrement expression',
66
- [54]: '`=>` is an invalid assignment target',
67
- [55]: 'Rest element may not have a trailing comma',
68
- [56]: 'Missing initializer in %0 declaration',
69
- [57]: "'for-%0' loop head declarations can not have an initializer",
70
- [58]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',
71
- [59]: 'Invalid shorthand property initializer',
72
- [60]: 'Property name __proto__ appears more than once in object literal',
73
- [61]: 'Let is disallowed as a lexically bound name',
74
- [62]: "Invalid use of '%0' inside new expression",
75
- [63]: "Illegal 'use strict' directive in function with non-simple parameter list",
76
- [64]: 'Identifier "let" disallowed as left-hand side expression in strict mode',
77
- [65]: 'Illegal continue statement',
78
- [66]: 'Illegal break statement',
79
- [67]: 'Cannot have `let[...]` as a var name in strict mode',
80
- [68]: 'Invalid destructuring assignment target',
81
- [69]: 'Rest parameter may not have a default initializer',
82
- [70]: 'The rest argument must the be last parameter',
83
- [71]: 'Invalid rest argument',
84
- [73]: 'In strict mode code, functions can only be declared at top level or inside a block',
85
- [74]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',
86
- [75]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',
87
- [76]: "Class declaration can't appear in single-statement context",
88
- [77]: 'Invalid left-hand side in for-%0',
89
- [78]: 'Invalid assignment in for-%0',
90
- [79]: 'for await (... of ...) is only valid in async functions and async generators',
91
- [80]: 'The first token after the template expression should be a continuation of the template',
92
- [82]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',
93
- [81]: '`let \n [` is a restricted production at the start of a statement',
94
- [83]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',
95
- [84]: 'Catch clause parameter does not support default values',
96
- [85]: 'Missing catch or finally after try',
97
- [86]: 'More than one default clause in switch statement',
98
- [87]: 'Illegal newline after throw',
99
- [88]: 'Strict mode code may not include a with statement',
100
- [89]: 'Illegal return statement',
101
- [90]: 'The left hand side of the for-header binding declaration is not destructible',
102
- [91]: 'new.target only allowed within functions',
103
- [93]: "'#' not followed by identifier",
104
- [99]: 'Invalid keyword',
105
- [98]: "Can not use 'let' as a class name",
106
- [97]: "'A lexical declaration can't define a 'let' binding",
107
- [96]: 'Can not use `let` as variable name in strict mode',
108
- [94]: "'%0' may not be used as an identifier in this context",
109
- [95]: 'Await is only valid in async functions',
110
- [100]: 'The %0 keyword can only be used with the module goal',
111
- [101]: 'Unicode codepoint must not be greater than 0x10FFFF',
112
- [102]: '%0 source must be string',
113
- [103]: 'Only a identifier can be used to indicate alias',
114
- [104]: "Only '*' or '{...}' can be imported after default",
115
- [105]: 'Trailing decorator may be followed by method',
116
- [106]: "Decorators can't be used with a constructor",
117
- [108]: 'HTML comments are only allowed with web compatibility (Annex B)',
118
- [109]: "The identifier 'let' must not be in expression position in strict mode",
119
- [110]: 'Cannot assign to `eval` and `arguments` in strict mode',
120
- [111]: "The left-hand side of a for-of loop may not start with 'let'",
121
- [112]: 'Block body arrows can not be immediately invoked without a group',
122
- [113]: 'Block body arrows can not be immediately accessed without a group',
123
- [114]: 'Unexpected strict mode reserved word',
124
- [115]: 'Unexpected eval or arguments in strict mode',
125
- [116]: 'Decorators must not be followed by a semicolon',
126
- [117]: 'Calling delete on expression not allowed in strict mode',
127
- [118]: 'Pattern can not have a tail',
128
- [120]: 'Can not have a `yield` expression on the left side of a ternary',
129
- [121]: 'An arrow function can not have a postfix update operator',
130
- [122]: 'Invalid object literal key character after generator star',
131
- [123]: 'Private fields can not be deleted',
132
- [125]: 'Classes may not have a field called constructor',
133
- [124]: 'Classes may not have a private element named constructor',
134
- [126]: 'A class field initializer may not contain arguments',
135
- [127]: 'Generators can only be declared at the top level or inside a block',
136
- [128]: 'Async methods are a restricted production and cannot have a newline following it',
137
- [129]: 'Unexpected character after object literal property name',
138
- [131]: 'Invalid key token',
139
- [132]: "Label '%0' has already been declared",
140
- [133]: 'continue statement must be nested within an iteration statement',
141
- [134]: "Undefined label '%0'",
142
- [135]: 'Trailing comma is disallowed inside import(...) arguments',
143
- [136]: 'import() requires exactly one argument',
144
- [137]: 'Cannot use new with import(...)',
145
- [138]: '... is not allowed in import()',
146
- [139]: "Expected '=>'",
147
- [140]: "Duplicate binding '%0'",
148
- [141]: "Cannot export a duplicate name '%0'",
149
- [144]: 'Duplicate %0 for-binding',
150
- [142]: "Exported binding '%0' needs to refer to a top-level declared variable",
151
- [143]: 'Unexpected private field',
152
- [147]: 'Numeric separators are not allowed at the end of numeric literals',
153
- [146]: 'Only one underscore is allowed as numeric separator',
154
- [148]: 'JSX value should be either an expression or a quoted JSX text',
155
- [149]: 'Expected corresponding JSX closing tag for %0',
156
- [150]: 'Adjacent JSX elements must be wrapped in an enclosing tag',
157
- [151]: "JSX attributes must only be assigned a non-empty 'expression'",
158
- [152]: "'%0' has already been declared",
159
- [153]: "'%0' shadowed a catch clause binding",
160
- [154]: 'Dot property must be an identifier',
161
- [155]: 'Encountered invalid input after spread/rest argument',
162
- [156]: 'Catch without try',
163
- [157]: 'Finally without try',
164
- [158]: 'Expected corresponding closing tag for JSX fragment',
165
- [159]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',
166
- [160]: 'Invalid tagged template on optional chain',
167
- [161]: 'Invalid optional chain from super property',
168
- [162]: 'Invalid optional chain from new expression',
169
- [163]: 'Cannot use "import.meta" outside a module',
170
- [164]: 'Leading decorators must be attached to a class declaration'
52
+ [41]: 'A setter cannot be a generator',
53
+ [42]: 'A computed property name must be followed by a colon or paren',
54
+ [131]: 'Object literal keys that are strings or numbers must be a method or have a colon',
55
+ [44]: 'Found `* async x(){}` but this should be `async * x(){}`',
56
+ [43]: 'Getters and setters can not be generators',
57
+ [45]: "'%0' can not be generator method",
58
+ [46]: "No line break is allowed after '=>'",
59
+ [47]: 'The left-hand side of the arrow can only be destructed through assignment',
60
+ [48]: 'The binding declaration is not destructible',
61
+ [49]: 'Async arrow can not be followed by new expression',
62
+ [50]: "Classes may not have a static property named 'prototype'",
63
+ [51]: 'Class constructor may not be a %0',
64
+ [52]: 'Duplicate constructor method in class',
65
+ [53]: 'Invalid increment/decrement operand',
66
+ [54]: 'Invalid use of `new` keyword on an increment/decrement expression',
67
+ [55]: '`=>` is an invalid assignment target',
68
+ [56]: 'Rest element may not have a trailing comma',
69
+ [57]: 'Missing initializer in %0 declaration',
70
+ [58]: "'for-%0' loop head declarations can not have an initializer",
71
+ [59]: 'Invalid left-hand side in for-%0 loop: Must have a single binding',
72
+ [60]: 'Invalid shorthand property initializer',
73
+ [61]: 'Property name __proto__ appears more than once in object literal',
74
+ [62]: 'Let is disallowed as a lexically bound name',
75
+ [63]: "Invalid use of '%0' inside new expression",
76
+ [64]: "Illegal 'use strict' directive in function with non-simple parameter list",
77
+ [65]: 'Identifier "let" disallowed as left-hand side expression in strict mode',
78
+ [66]: 'Illegal continue statement',
79
+ [67]: 'Illegal break statement',
80
+ [68]: 'Cannot have `let[...]` as a var name in strict mode',
81
+ [69]: 'Invalid destructuring assignment target',
82
+ [70]: 'Rest parameter may not have a default initializer',
83
+ [71]: 'The rest argument must the be last parameter',
84
+ [72]: 'Invalid rest argument',
85
+ [74]: 'In strict mode code, functions can only be declared at top level or inside a block',
86
+ [75]: 'In non-strict mode code, functions can only be declared at top level, inside a block, or as the body of an if statement',
87
+ [76]: 'Without web compatibility enabled functions can not be declared at top level, inside a block, or as the body of an if statement',
88
+ [77]: "Class declaration can't appear in single-statement context",
89
+ [78]: 'Invalid left-hand side in for-%0',
90
+ [79]: 'Invalid assignment in for-%0',
91
+ [80]: 'for await (... of ...) is only valid in async functions and async generators',
92
+ [81]: 'The first token after the template expression should be a continuation of the template',
93
+ [83]: '`let` declaration not allowed here and `let` cannot be a regular var name in strict mode',
94
+ [82]: '`let \n [` is a restricted production at the start of a statement',
95
+ [84]: 'Catch clause requires exactly one parameter, not more (and no trailing comma)',
96
+ [85]: 'Catch clause parameter does not support default values',
97
+ [86]: 'Missing catch or finally after try',
98
+ [87]: 'More than one default clause in switch statement',
99
+ [88]: 'Illegal newline after throw',
100
+ [89]: 'Strict mode code may not include a with statement',
101
+ [90]: 'Illegal return statement',
102
+ [91]: 'The left hand side of the for-header binding declaration is not destructible',
103
+ [92]: 'new.target only allowed within functions',
104
+ [94]: "'#' not followed by identifier",
105
+ [100]: 'Invalid keyword',
106
+ [99]: "Can not use 'let' as a class name",
107
+ [98]: "'A lexical declaration can't define a 'let' binding",
108
+ [97]: 'Can not use `let` as variable name in strict mode',
109
+ [95]: "'%0' may not be used as an identifier in this context",
110
+ [96]: 'Await is only valid in async functions',
111
+ [101]: 'The %0 keyword can only be used with the module goal',
112
+ [102]: 'Unicode codepoint must not be greater than 0x10FFFF',
113
+ [103]: '%0 source must be string',
114
+ [104]: 'Only a identifier can be used to indicate alias',
115
+ [105]: "Only '*' or '{...}' can be imported after default",
116
+ [106]: 'Trailing decorator may be followed by method',
117
+ [107]: "Decorators can't be used with a constructor",
118
+ [109]: 'HTML comments are only allowed with web compatibility (Annex B)',
119
+ [110]: "The identifier 'let' must not be in expression position in strict mode",
120
+ [111]: 'Cannot assign to `eval` and `arguments` in strict mode',
121
+ [112]: "The left-hand side of a for-of loop may not start with 'let'",
122
+ [113]: 'Block body arrows can not be immediately invoked without a group',
123
+ [114]: 'Block body arrows can not be immediately accessed without a group',
124
+ [115]: 'Unexpected strict mode reserved word',
125
+ [116]: 'Unexpected eval or arguments in strict mode',
126
+ [117]: 'Decorators must not be followed by a semicolon',
127
+ [118]: 'Calling delete on expression not allowed in strict mode',
128
+ [119]: 'Pattern can not have a tail',
129
+ [121]: 'Can not have a `yield` expression on the left side of a ternary',
130
+ [122]: 'An arrow function can not have a postfix update operator',
131
+ [123]: 'Invalid object literal key character after generator star',
132
+ [124]: 'Private fields can not be deleted',
133
+ [126]: 'Classes may not have a field called constructor',
134
+ [125]: 'Classes may not have a private element named constructor',
135
+ [127]: 'A class field initializer may not contain arguments',
136
+ [128]: 'Generators can only be declared at the top level or inside a block',
137
+ [129]: 'Async methods are a restricted production and cannot have a newline following it',
138
+ [130]: 'Unexpected character after object literal property name',
139
+ [132]: 'Invalid key token',
140
+ [133]: "Label '%0' has already been declared",
141
+ [134]: 'continue statement must be nested within an iteration statement',
142
+ [135]: "Undefined label '%0'",
143
+ [136]: 'Trailing comma is disallowed inside import(...) arguments',
144
+ [137]: 'import() requires exactly one argument',
145
+ [138]: 'Cannot use new with import(...)',
146
+ [139]: '... is not allowed in import()',
147
+ [140]: "Expected '=>'",
148
+ [141]: "Duplicate binding '%0'",
149
+ [142]: "Cannot export a duplicate name '%0'",
150
+ [145]: 'Duplicate %0 for-binding',
151
+ [143]: "Exported binding '%0' needs to refer to a top-level declared variable",
152
+ [144]: 'Unexpected private field',
153
+ [148]: 'Numeric separators are not allowed at the end of numeric literals',
154
+ [147]: 'Only one underscore is allowed as numeric separator',
155
+ [149]: 'JSX value should be either an expression or a quoted JSX text',
156
+ [150]: 'Expected corresponding JSX closing tag for %0',
157
+ [151]: 'Adjacent JSX elements must be wrapped in an enclosing tag',
158
+ [152]: "JSX attributes must only be assigned a non-empty 'expression'",
159
+ [153]: "'%0' has already been declared",
160
+ [154]: "'%0' shadowed a catch clause binding",
161
+ [155]: 'Dot property must be an identifier',
162
+ [156]: 'Encountered invalid input after spread/rest argument',
163
+ [157]: 'Catch without try',
164
+ [158]: 'Finally without try',
165
+ [159]: 'Expected corresponding closing tag for JSX fragment',
166
+ [160]: 'Coalescing and logical operators used together in the same expression must be disambiguated with parentheses',
167
+ [161]: 'Invalid tagged template on optional chain',
168
+ [162]: 'Invalid optional chain from super property',
169
+ [163]: 'Invalid optional chain from new expression',
170
+ [164]: 'Cannot use "import.meta" outside a module',
171
+ [165]: 'Leading decorators must be attached to a class declaration'
171
172
  };
172
173
  class ParseError extends SyntaxError {
173
174
  constructor(startindex, line, column, type, ...params) {
@@ -1099,7 +1100,7 @@
1099
1100
  case -4:
1100
1101
  report(state, 6);
1101
1102
  case -5:
1102
- report(state, 101);
1103
+ report(state, 102);
1103
1104
  }
1104
1105
  }
1105
1106
 
@@ -1212,7 +1213,7 @@
1212
1213
  while (CharTypes[char] & (64 | 4096)) {
1213
1214
  if (char === 95) {
1214
1215
  if (!allowSeparator)
1215
- report(parser, 146);
1216
+ report(parser, 147);
1216
1217
  allowSeparator = 0;
1217
1218
  char = advanceChar(parser);
1218
1219
  continue;
@@ -1223,7 +1224,7 @@
1223
1224
  char = advanceChar(parser);
1224
1225
  }
1225
1226
  if (digits === 0 || !allowSeparator) {
1226
- report(parser, digits === 0 ? 19 : 147);
1227
+ report(parser, digits === 0 ? 19 : 148);
1227
1228
  }
1228
1229
  }
1229
1230
  else if ((char | 32) === 111) {
@@ -1232,7 +1233,7 @@
1232
1233
  while (CharTypes[char] & (32 | 4096)) {
1233
1234
  if (char === 95) {
1234
1235
  if (!allowSeparator) {
1235
- report(parser, 146);
1236
+ report(parser, 147);
1236
1237
  }
1237
1238
  allowSeparator = 0;
1238
1239
  char = advanceChar(parser);
@@ -1244,7 +1245,7 @@
1244
1245
  char = advanceChar(parser);
1245
1246
  }
1246
1247
  if (digits === 0 || !allowSeparator) {
1247
- report(parser, digits === 0 ? 0 : 147);
1248
+ report(parser, digits === 0 ? 0 : 148);
1248
1249
  }
1249
1250
  }
1250
1251
  else if ((char | 32) === 98) {
@@ -1253,7 +1254,7 @@
1253
1254
  while (CharTypes[char] & (128 | 4096)) {
1254
1255
  if (char === 95) {
1255
1256
  if (!allowSeparator) {
1256
- report(parser, 146);
1257
+ report(parser, 147);
1257
1258
  }
1258
1259
  allowSeparator = 0;
1259
1260
  char = advanceChar(parser);
@@ -1265,7 +1266,7 @@
1265
1266
  char = advanceChar(parser);
1266
1267
  }
1267
1268
  if (digits === 0 || !allowSeparator) {
1268
- report(parser, digits === 0 ? 0 : 147);
1269
+ report(parser, digits === 0 ? 0 : 148);
1269
1270
  }
1270
1271
  }
1271
1272
  else if (CharTypes[char] & 32) {
@@ -1298,7 +1299,7 @@
1298
1299
  if (char === 95) {
1299
1300
  char = advanceChar(parser);
1300
1301
  if (char === 95 || kind & 32) {
1301
- reportScannerError(parser.index, parser.line, parser.index + 1, 146);
1302
+ reportScannerError(parser.index, parser.line, parser.index + 1, 147);
1302
1303
  }
1303
1304
  allowSeparator = 1;
1304
1305
  continue;
@@ -1309,7 +1310,7 @@
1309
1310
  --digit;
1310
1311
  }
1311
1312
  if (allowSeparator) {
1312
- reportScannerError(parser.index, parser.line, parser.index + 1, 147);
1313
+ reportScannerError(parser.index, parser.line, parser.index + 1, 148);
1313
1314
  }
1314
1315
  if (digit >= 0 && !isIdentifierStart(char) && char !== 46) {
1315
1316
  parser.tokenValue = value;
@@ -1374,7 +1375,7 @@
1374
1375
  const { index } = parser;
1375
1376
  char = advanceChar(parser);
1376
1377
  if (char === 95) {
1377
- reportScannerError(parser.index, parser.line, parser.index + 1, 146);
1378
+ reportScannerError(parser.index, parser.line, parser.index + 1, 147);
1378
1379
  }
1379
1380
  allowSeparator = 1;
1380
1381
  ret += parser.source.substring(start, index);
@@ -1385,7 +1386,7 @@
1385
1386
  char = advanceChar(parser);
1386
1387
  }
1387
1388
  if (allowSeparator) {
1388
- reportScannerError(parser.index, parser.line, parser.index + 1, 147);
1389
+ reportScannerError(parser.index, parser.line, parser.index + 1, 148);
1389
1390
  }
1390
1391
  return ret + parser.source.substring(start, parser.index);
1391
1392
  }
@@ -1474,7 +1475,7 @@
1474
1475
  function scanIdentifier(parser, context, isValidAsKeyword) {
1475
1476
  while (isIdPart[advanceChar(parser)]) { }
1476
1477
  parser.tokenValue = parser.source.slice(parser.tokenPos, parser.index);
1477
- return parser.currentChar !== 92 && parser.currentChar < 0x7e
1478
+ return parser.currentChar !== 92 && parser.currentChar <= 0x7e
1478
1479
  ? descKeywordTable[parser.tokenValue] || 208897
1479
1480
  : scanIdentifierSlowCase(parser, context, 0, isValidAsKeyword);
1480
1481
  }
@@ -1561,7 +1562,7 @@
1561
1562
  }
1562
1563
  function scanPrivateIdentifier(parser) {
1563
1564
  if (!isIdentifierStart(advanceChar(parser)))
1564
- report(parser, 93);
1565
+ report(parser, 94);
1565
1566
  return 131;
1566
1567
  }
1567
1568
  function scanIdentifierUnicodeEscape(parser) {
@@ -1579,7 +1580,7 @@
1579
1580
  while (CharTypes[advanceChar(parser)] & 64) {
1580
1581
  codePoint = (codePoint << 4) | toHex(parser.currentChar);
1581
1582
  if (codePoint > 1114111)
1582
- reportScannerError(begin, parser.line, parser.index + 1, 101);
1583
+ reportScannerError(begin, parser.line, parser.index + 1, 102);
1583
1584
  }
1584
1585
  if (parser.currentChar !== 125) {
1585
1586
  reportScannerError(begin, parser.line, parser.index - 1, 6);
@@ -1920,7 +1921,7 @@
1920
1921
  advanceChar(parser);
1921
1922
  if ((state & 1 || isStartOfLine) && parser.currentChar === 62) {
1922
1923
  if ((context & 256) === 0)
1923
- report(parser, 108);
1924
+ report(parser, 109);
1924
1925
  advanceChar(parser);
1925
1926
  state = skipSingleHTMLComment(parser, source, state, context, 3, startPos, startLine, startColumn);
1926
1927
  startPos = parser.tokenPos;
@@ -4416,7 +4417,7 @@
4416
4417
  case 'AssignmentExpression':
4417
4418
  node.type = 'AssignmentPattern';
4418
4419
  if (node.operator !== '=')
4419
- report(state, 68);
4420
+ report(state, 69);
4420
4421
  delete node.operator;
4421
4422
  reinterpretToPattern(state, node.left);
4422
4423
  return;
@@ -4431,58 +4432,58 @@
4431
4432
  function validateBindingIdentifier(parser, context, kind, t, skipEvalArgCheck) {
4432
4433
  if (context & 1024) {
4433
4434
  if ((t & 36864) === 36864) {
4434
- report(parser, 114);
4435
+ report(parser, 115);
4435
4436
  }
4436
4437
  if (!skipEvalArgCheck && (t & 537079808) === 537079808) {
4437
- report(parser, 115);
4438
+ report(parser, 116);
4438
4439
  }
4439
4440
  }
4440
4441
  if ((t & 20480) === 20480) {
4441
- report(parser, 99);
4442
+ report(parser, 100);
4442
4443
  }
4443
4444
  if (kind & (8 | 16) && t === 241739) {
4444
- report(parser, 97);
4445
+ report(parser, 98);
4445
4446
  }
4446
4447
  if (context & (4194304 | 2048) && t === 209008) {
4447
- report(parser, 95);
4448
+ report(parser, 96);
4448
4449
  }
4449
4450
  if (context & (2097152 | 1024) && t === 241773) {
4450
- report(parser, 94, 'yield');
4451
+ report(parser, 95, 'yield');
4451
4452
  }
4452
4453
  }
4453
4454
  function validateFunctionName(parser, context, t) {
4454
4455
  if (context & 1024) {
4455
4456
  if ((t & 36864) === 36864) {
4456
- report(parser, 114);
4457
+ report(parser, 115);
4457
4458
  }
4458
4459
  if ((t & 537079808) === 537079808) {
4459
- report(parser, 115);
4460
+ report(parser, 116);
4460
4461
  }
4461
4462
  if (t === 122) {
4462
- report(parser, 92);
4463
+ report(parser, 93);
4463
4464
  }
4464
4465
  if (t === 121) {
4465
- report(parser, 92);
4466
+ report(parser, 93);
4466
4467
  }
4467
4468
  }
4468
4469
  if ((t & 20480) === 20480) {
4469
- report(parser, 99);
4470
+ report(parser, 100);
4470
4471
  }
4471
4472
  if (context & (4194304 | 2048) && t === 209008) {
4472
- report(parser, 95);
4473
+ report(parser, 96);
4473
4474
  }
4474
4475
  if (context & (2097152 | 1024) && t === 241773) {
4475
- report(parser, 94, 'yield');
4476
+ report(parser, 95, 'yield');
4476
4477
  }
4477
4478
  }
4478
4479
  function isStrictReservedWord(parser, context, t) {
4479
4480
  if (t === 209008) {
4480
4481
  if (context & (4194304 | 2048))
4481
- report(parser, 95);
4482
+ report(parser, 96);
4482
4483
  parser.destructible |= 128;
4483
4484
  }
4484
4485
  if (t === 241773 && context & 2097152)
4485
- report(parser, 94, 'yield');
4486
+ report(parser, 95, 'yield');
4486
4487
  return ((t & 20480) === 20480 ||
4487
4488
  (t & 36864) === 36864 ||
4488
4489
  t == 122);
@@ -4494,7 +4495,7 @@
4494
4495
  while (labels) {
4495
4496
  if (labels['$' + name]) {
4496
4497
  if (isIterationStatement)
4497
- report(parser, 133);
4498
+ report(parser, 134);
4498
4499
  return 1;
4499
4500
  }
4500
4501
  if (isIterationStatement && labels.loop)
@@ -4507,7 +4508,7 @@
4507
4508
  let set = labels;
4508
4509
  while (set) {
4509
4510
  if (set['$' + name])
4510
- report(parser, 132, name);
4511
+ report(parser, 133, name);
4511
4512
  set = set['$'];
4512
4513
  }
4513
4514
  labels['$' + name] = 1;
@@ -4588,27 +4589,27 @@
4588
4589
  const value = scope['#' + name];
4589
4590
  if (value && (value & 2) === 0) {
4590
4591
  if (kind & 1) {
4591
- scope.scopeError = recordScopeError(parser, 140, name);
4592
+ scope.scopeError = recordScopeError(parser, 141, name);
4592
4593
  }
4593
4594
  else if (context & 256 &&
4594
4595
  value & 64 &&
4595
4596
  origin & 2) ;
4596
4597
  else {
4597
- report(parser, 140, name);
4598
+ report(parser, 141, name);
4598
4599
  }
4599
4600
  }
4600
4601
  if (scope.type & 128 &&
4601
4602
  (scope.parent['#' + name] && (scope.parent['#' + name] & 2) === 0)) {
4602
- report(parser, 140, name);
4603
+ report(parser, 141, name);
4603
4604
  }
4604
4605
  if (scope.type & 1024 && value && (value & 2) === 0) {
4605
4606
  if (kind & 1) {
4606
- scope.scopeError = recordScopeError(parser, 140, name);
4607
+ scope.scopeError = recordScopeError(parser, 141, name);
4607
4608
  }
4608
4609
  }
4609
4610
  if (scope.type & 64) {
4610
4611
  if (scope.parent['#' + name] & 768)
4611
- report(parser, 153, name);
4612
+ report(parser, 154, name);
4612
4613
  }
4613
4614
  scope['#' + name] = kind;
4614
4615
  }
@@ -4622,19 +4623,19 @@
4622
4623
  ((kind & 128 && value & 68) ||
4623
4624
  (value & 128 && kind & 68))) ;
4624
4625
  else {
4625
- report(parser, 140, name);
4626
+ report(parser, 141, name);
4626
4627
  }
4627
4628
  }
4628
4629
  if (currentScope === scope) {
4629
4630
  if (value & 1 && kind & 1) {
4630
- currentScope.scopeError = recordScopeError(parser, 140, name);
4631
+ currentScope.scopeError = recordScopeError(parser, 141, name);
4631
4632
  }
4632
4633
  }
4633
4634
  if (value & (512 | 256)) {
4634
4635
  if ((value & 512) === 0 ||
4635
4636
  (context & 256) === 0 ||
4636
4637
  context & 1024) {
4637
- report(parser, 140, name);
4638
+ report(parser, 141, name);
4638
4639
  }
4639
4640
  }
4640
4641
  currentScope['#' + name] = kind;
@@ -4644,7 +4645,7 @@
4644
4645
  function declareUnboundVariable(parser, name) {
4645
4646
  if (parser.exportedNames !== void 0 && name !== '') {
4646
4647
  if (parser.exportedNames['#' + name]) {
4647
- report(parser, 141, name);
4648
+ report(parser, 142, name);
4648
4649
  }
4649
4650
  parser.exportedNames['#' + name] = 1;
4650
4651
  }
@@ -4702,7 +4703,7 @@
4702
4703
  function classifyIdentifier(parser, context, t, isArrow) {
4703
4704
  if ((t & 537079808) === 537079808) {
4704
4705
  if (context & 1024)
4705
- report(parser, 115);
4706
+ report(parser, 116);
4706
4707
  if (isArrow)
4707
4708
  parser.flags |= 512;
4708
4709
  }
@@ -4795,7 +4796,7 @@
4795
4796
  if (scope) {
4796
4797
  for (const key in parser.exportedBindings) {
4797
4798
  if (key[0] === '#' && !scope[key])
4798
- report(parser, 142, key.slice(1));
4799
+ report(parser, 143, key.slice(1));
4799
4800
  }
4800
4801
  }
4801
4802
  }
@@ -4865,7 +4866,7 @@
4865
4866
  moduleItem = parseStatementListItem(parser, context, scope, 4, {});
4866
4867
  }
4867
4868
  if (parser.leadingDecorators.length) {
4868
- report(parser, 164);
4869
+ report(parser, 165);
4869
4870
  }
4870
4871
  return moduleItem;
4871
4872
  }
@@ -4884,7 +4885,7 @@
4884
4885
  case 241739:
4885
4886
  return parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column);
4886
4887
  case 20566:
4887
- report(parser, 100, 'export');
4888
+ report(parser, 101, 'export');
4888
4889
  case 86108:
4889
4890
  nextToken(parser, context);
4890
4891
  switch (parser.token) {
@@ -4893,7 +4894,7 @@
4893
4894
  case 67108877:
4894
4895
  return parseImportMetaDeclaration(parser, context, start, line, column);
4895
4896
  default:
4896
- report(parser, 100, 'import');
4897
+ report(parser, 101, 'import');
4897
4898
  }
4898
4899
  case 209007:
4899
4900
  return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 1, start, line, column);
@@ -4936,17 +4937,17 @@
4936
4937
  case 209007:
4937
4938
  return parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, 0, start, line, column);
4938
4939
  case 20559:
4939
- report(parser, 156);
4940
- case 20568:
4941
4940
  report(parser, 157);
4941
+ case 20568:
4942
+ report(parser, 158);
4942
4943
  case 86106:
4943
4944
  report(parser, context & 1024
4944
- ? 73
4945
+ ? 74
4945
4946
  : (context & 256) === 0
4946
- ? 75
4947
- : 74);
4947
+ ? 76
4948
+ : 75);
4948
4949
  case 86096:
4949
- report(parser, 76);
4950
+ report(parser, 77);
4950
4951
  default:
4951
4952
  return parseExpressionOrLabelledStatement(parser, context, scope, origin, labels, allowFuncDecl, start, line, column);
4952
4953
  }
@@ -4958,9 +4959,9 @@
4958
4959
  case 241739:
4959
4960
  expr = parseIdentifier(parser, context, 0);
4960
4961
  if (context & 1024)
4961
- report(parser, 82);
4962
+ report(parser, 83);
4962
4963
  if (parser.token === 69271571)
4963
- report(parser, 81);
4964
+ report(parser, 82);
4964
4965
  break;
4965
4966
  default:
4966
4967
  expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
@@ -4989,7 +4990,7 @@
4989
4990
  }
4990
4991
  function parseReturnStatement(parser, context, start, line, column) {
4991
4992
  if ((context & 32) === 0 && context & 8192)
4992
- report(parser, 89);
4993
+ report(parser, 90);
4993
4994
  nextToken(parser, context | 32768);
4994
4995
  const argument = parser.flags & 1 || parser.token & 1048576
4995
4996
  ? null
@@ -5033,7 +5034,7 @@
5033
5034
  if (!asyncNewLine) {
5034
5035
  if (parser.token === 86106) {
5035
5036
  if (!allowFuncDecl)
5036
- report(parser, 119);
5037
+ report(parser, 120);
5037
5038
  return parseFunctionDeclaration(parser, context, scope, origin, 1, 0, 1, start, line, column);
5038
5039
  }
5039
5040
  if ((parser.token & 143360) === 143360) {
@@ -5092,7 +5093,7 @@
5092
5093
  function parseThrowStatement(parser, context, start, line, column) {
5093
5094
  nextToken(parser, context | 32768);
5094
5095
  if (parser.flags & 1)
5095
- report(parser, 87);
5096
+ report(parser, 88);
5096
5097
  const argument = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
5097
5098
  matchOrInsertSemicolon(parser, context | 32768);
5098
5099
  return finishNode(parser, context, start, line, column, {
@@ -5146,7 +5147,7 @@
5146
5147
  else {
5147
5148
  consume(parser, context | 32768, 20563);
5148
5149
  if (seenDefault)
5149
- report(parser, 86);
5150
+ report(parser, 87);
5150
5151
  seenDefault = 1;
5151
5152
  }
5152
5153
  consume(parser, context | 32768, 21);
@@ -5187,14 +5188,14 @@
5187
5188
  }
5188
5189
  function parseContinueStatement(parser, context, labels, start, line, column) {
5189
5190
  if ((context & 131072) === 0)
5190
- report(parser, 65);
5191
+ report(parser, 66);
5191
5192
  nextToken(parser, context);
5192
5193
  let label = null;
5193
5194
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5194
5195
  const { tokenValue } = parser;
5195
5196
  label = parseIdentifier(parser, context | 32768, 0);
5196
5197
  if (!isValidLabel(parser, labels, tokenValue, 1))
5197
- report(parser, 134, tokenValue);
5198
+ report(parser, 135, tokenValue);
5198
5199
  }
5199
5200
  matchOrInsertSemicolon(parser, context | 32768);
5200
5201
  return finishNode(parser, context, start, line, column, {
@@ -5209,10 +5210,10 @@
5209
5210
  const { tokenValue } = parser;
5210
5211
  label = parseIdentifier(parser, context | 32768, 0);
5211
5212
  if (!isValidLabel(parser, labels, tokenValue, 0))
5212
- report(parser, 134, tokenValue);
5213
+ report(parser, 135, tokenValue);
5213
5214
  }
5214
5215
  else if ((context & (4096 | 131072)) === 0) {
5215
- report(parser, 66);
5216
+ report(parser, 67);
5216
5217
  }
5217
5218
  matchOrInsertSemicolon(parser, context | 32768);
5218
5219
  return finishNode(parser, context, start, line, column, {
@@ -5223,7 +5224,7 @@
5223
5224
  function parseWithStatement(parser, context, scope, labels, start, line, column) {
5224
5225
  nextToken(parser, context);
5225
5226
  if (context & 1024)
5226
- report(parser, 88);
5227
+ report(parser, 89);
5227
5228
  consume(parser, context | 32768, 67174411);
5228
5229
  const object = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
5229
5230
  consume(parser, context | 32768, 16);
@@ -5256,7 +5257,7 @@
5256
5257
  finalizer = parseBlock(parser, context, finalizerScope, { $: labels }, parser.tokenPos, parser.linePos, parser.colPos);
5257
5258
  }
5258
5259
  if (!handler && !finalizer) {
5259
- report(parser, 85);
5260
+ report(parser, 86);
5260
5261
  }
5261
5262
  return finishNode(parser, context, start, line, column, {
5262
5263
  type: 'TryStatement',
@@ -5275,10 +5276,10 @@
5275
5276
  ? 256
5276
5277
  : 512, 0, parser.tokenPos, parser.linePos, parser.colPos);
5277
5278
  if (parser.token === 18) {
5278
- report(parser, 83);
5279
+ report(parser, 84);
5279
5280
  }
5280
5281
  else if (parser.token === 1077936157) {
5281
- report(parser, 84);
5282
+ report(parser, 85);
5282
5283
  }
5283
5284
  consume(parser, context | 32768, 16);
5284
5285
  if (scope)
@@ -5330,7 +5331,7 @@
5330
5331
  }
5331
5332
  parser.assignable = 1;
5332
5333
  if (context & 1024)
5333
- report(parser, 82);
5334
+ report(parser, 83);
5334
5335
  if (parser.token === 21) {
5335
5336
  return parseLabelledStatement(parser, context, scope, origin, {}, tokenValue, expr, token, 0, start, line, column);
5336
5337
  }
@@ -5378,7 +5379,7 @@
5378
5379
  list.push(parseVariableDeclaration(parser, context, scope, kind, origin));
5379
5380
  }
5380
5381
  if (bindingCount > 1 && origin & 32 && parser.token & 262144) {
5381
- report(parser, 58, KeywordDescTable[parser.token & 255]);
5382
+ report(parser, 59, KeywordDescTable[parser.token & 255]);
5382
5383
  }
5383
5384
  return list;
5384
5385
  }
@@ -5393,13 +5394,13 @@
5393
5394
  if (parser.token === 274549 ||
5394
5395
  (parser.token === 8738868 &&
5395
5396
  (token & 2097152 || (kind & 4) === 0 || context & 1024))) {
5396
- reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');
5397
+ reportMessageAt(tokenPos, parser.line, parser.index - 3, 58, parser.token === 274549 ? 'of' : 'in');
5397
5398
  }
5398
5399
  }
5399
5400
  }
5400
5401
  else if ((kind & 16 || (token & 2097152) > 0) &&
5401
5402
  (parser.token & 262144) !== 262144) {
5402
- report(parser, 56, kind & 16 ? 'const' : 'destructuring');
5403
+ report(parser, 57, kind & 16 ? 'const' : 'destructuring');
5403
5404
  }
5404
5405
  return finishNode(parser, context, tokenPos, linePos, colPos, {
5405
5406
  type: 'VariableDeclarator',
@@ -5427,7 +5428,7 @@
5427
5428
  if (parser.token & (143360 | 2097152)) {
5428
5429
  if (parser.token === 8738868) {
5429
5430
  if (context & 1024)
5430
- report(parser, 64);
5431
+ report(parser, 65);
5431
5432
  }
5432
5433
  else {
5433
5434
  init = finishNode(parser, context, tokenPos, linePos, colPos, {
@@ -5439,14 +5440,14 @@
5439
5440
  parser.assignable = 1;
5440
5441
  }
5441
5442
  else if (context & 1024) {
5442
- report(parser, 64);
5443
+ report(parser, 65);
5443
5444
  }
5444
5445
  else {
5445
5446
  isVarDecl = false;
5446
5447
  parser.assignable = 1;
5447
5448
  init = parseMemberOrUpdateExpression(parser, context, init, 0, 0, tokenPos, linePos, colPos);
5448
5449
  if (parser.token === 274549)
5449
- report(parser, 111);
5450
+ report(parser, 112);
5450
5451
  }
5451
5452
  }
5452
5453
  else {
@@ -5467,7 +5468,7 @@
5467
5468
  }
5468
5469
  else if (token === 1074790417) {
5469
5470
  if (forAwait)
5470
- report(parser, 79);
5471
+ report(parser, 80);
5471
5472
  }
5472
5473
  else if ((token & 2097152) === 2097152) {
5473
5474
  init =
@@ -5476,7 +5477,7 @@
5476
5477
  : parseArrayExpressionOrPattern(parser, context, void 0, 1, 0, 0, 2, 32, tokenPos, linePos, colPos);
5477
5478
  destructible = parser.destructible;
5478
5479
  if (context & 256 && destructible & 64) {
5479
- report(parser, 60);
5480
+ report(parser, 61);
5480
5481
  }
5481
5482
  parser.assignable =
5482
5483
  destructible & 16 ? 2 : 1;
@@ -5488,7 +5489,7 @@
5488
5489
  if ((parser.token & 262144) === 262144) {
5489
5490
  if (parser.token === 274549) {
5490
5491
  if (parser.assignable & 2)
5491
- report(parser, 77, forAwait ? 'await' : 'of');
5492
+ report(parser, 78, forAwait ? 'await' : 'of');
5492
5493
  reinterpretToPattern(parser, init);
5493
5494
  nextToken(parser, context | 32768);
5494
5495
  right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
@@ -5503,11 +5504,11 @@
5503
5504
  });
5504
5505
  }
5505
5506
  if (parser.assignable & 2)
5506
- report(parser, 77, 'in');
5507
+ report(parser, 78, 'in');
5507
5508
  reinterpretToPattern(parser, init);
5508
5509
  nextToken(parser, context | 32768);
5509
5510
  if (forAwait)
5510
- report(parser, 79);
5511
+ report(parser, 80);
5511
5512
  right = parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
5512
5513
  consume(parser, context | 32768, 16);
5513
5514
  const body = parseIterationStatementBody(parser, context, scope, labels);
@@ -5519,10 +5520,10 @@
5519
5520
  });
5520
5521
  }
5521
5522
  if (forAwait)
5522
- report(parser, 79);
5523
+ report(parser, 80);
5523
5524
  if (!isVarDecl) {
5524
5525
  if (destructible & 8 && parser.token !== 1077936157) {
5525
- report(parser, 77, 'loop');
5526
+ report(parser, 78, 'loop');
5526
5527
  }
5527
5528
  init = parseAssignmentExpression(parser, context | 134217728, 0, 0, tokenPos, linePos, colPos, init);
5528
5529
  }
@@ -5546,9 +5547,9 @@
5546
5547
  }
5547
5548
  function parseRestrictedIdentifier(parser, context, scope) {
5548
5549
  if (!isValidIdentifier(context, parser.token))
5549
- report(parser, 114);
5550
- if ((parser.token & 537079808) === 537079808)
5551
5550
  report(parser, 115);
5551
+ if ((parser.token & 537079808) === 537079808)
5552
+ report(parser, 116);
5552
5553
  if (scope)
5553
5554
  addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
5554
5555
  return parseIdentifier(parser, context, 0);
@@ -5582,7 +5583,7 @@
5582
5583
  parseImportSpecifierOrNamedImports(parser, context, scope, specifiers);
5583
5584
  break;
5584
5585
  default:
5585
- report(parser, 104);
5586
+ report(parser, 105);
5586
5587
  }
5587
5588
  }
5588
5589
  }
@@ -5626,7 +5627,7 @@
5626
5627
  function parseModuleSpecifier(parser, context) {
5627
5628
  consumeOpt(parser, context, 12404);
5628
5629
  if (parser.token !== 134283267)
5629
- report(parser, 102, 'Import');
5630
+ report(parser, 103, 'Import');
5630
5631
  return parseLiteral(parser, context);
5631
5632
  }
5632
5633
  function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers) {
@@ -5637,7 +5638,7 @@
5637
5638
  let local;
5638
5639
  if (consumeOpt(parser, context, 77934)) {
5639
5640
  if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
5640
- report(parser, 103);
5641
+ report(parser, 104);
5641
5642
  }
5642
5643
  else {
5643
5644
  validateBindingIdentifier(parser, context, 16, parser.token, 0);
@@ -5741,7 +5742,7 @@
5741
5742
  }
5742
5743
  consume(parser, context, 12404);
5743
5744
  if (parser.token !== 134283267)
5744
- report(parser, 102, 'Export');
5745
+ report(parser, 103, 'Export');
5745
5746
  source = parseLiteral(parser, context);
5746
5747
  matchOrInsertSemicolon(parser, context | 32768);
5747
5748
  return finishNode(parser, context, start, line, column, {
@@ -5761,7 +5762,7 @@
5761
5762
  if (parser.token === 77934) {
5762
5763
  nextToken(parser, context);
5763
5764
  if ((parser.token & 134217728) === 134217728) {
5764
- report(parser, 103);
5765
+ report(parser, 104);
5765
5766
  }
5766
5767
  if (scope) {
5767
5768
  tmpExportedNames.push(parser.tokenValue);
@@ -5787,7 +5788,7 @@
5787
5788
  consume(parser, context, 1074790415);
5788
5789
  if (consumeOpt(parser, context, 12404)) {
5789
5790
  if (parser.token !== 134283267)
5790
- report(parser, 102, 'Export');
5791
+ report(parser, 103, 'Export');
5791
5792
  source = parseLiteral(parser, context);
5792
5793
  }
5793
5794
  else if (scope) {
@@ -5936,7 +5937,7 @@
5936
5937
  t = parser.token;
5937
5938
  prec = t & 3840;
5938
5939
  if ((t & 524288 && operator & 268435456) || (operator & 524288 && t & 268435456)) {
5939
- report(parser, 159);
5940
+ report(parser, 160);
5940
5941
  }
5941
5942
  if (prec + ((t === 8457273) << 8) - ((bit === t) << 12) <= minPrec)
5942
5943
  break;
@@ -5962,10 +5963,10 @@
5962
5963
  report(parser, 31);
5963
5964
  if (context & 1024 && unaryOperator === 16863278) {
5964
5965
  if (arg.type === 'Identifier') {
5965
- report(parser, 117);
5966
+ report(parser, 118);
5966
5967
  }
5967
5968
  else if (isPropertyWithPrivateFieldKey(arg)) {
5968
- report(parser, 123);
5969
+ report(parser, 124);
5969
5970
  }
5970
5971
  }
5971
5972
  parser.assignable = 2;
@@ -5996,7 +5997,7 @@
5996
5997
  if (parser.token === 10) {
5997
5998
  classifyIdentifier(parser, context, token, 1);
5998
5999
  if (inNew)
5999
- report(parser, 48);
6000
+ report(parser, 49);
6000
6001
  return parseArrowFromIdentifier(parser, context, parser.tokenValue, expr, inNew, canAssign, 0, start, line, column);
6001
6002
  }
6002
6003
  return expr;
@@ -6011,7 +6012,7 @@
6011
6012
  if (!canAssign)
6012
6013
  report(parser, 24);
6013
6014
  if (parser.token === 22)
6014
- report(parser, 120);
6015
+ report(parser, 121);
6015
6016
  let argument = null;
6016
6017
  let delegate = false;
6017
6018
  if ((parser.flags & 1) === 0) {
@@ -6028,7 +6029,7 @@
6028
6029
  });
6029
6030
  }
6030
6031
  if (context & 1024)
6031
- report(parser, 94, 'yield');
6032
+ report(parser, 95, 'yield');
6032
6033
  return parseIdentifierOrArrow(parser, context, start, line, column);
6033
6034
  }
6034
6035
  function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) {
@@ -6051,7 +6052,7 @@
6051
6052
  });
6052
6053
  }
6053
6054
  if (context & 2048)
6054
- report(parser, 95);
6055
+ report(parser, 96);
6055
6056
  return parseIdentifierOrArrow(parser, context, start, line, column);
6056
6057
  }
6057
6058
  function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) {
@@ -6066,7 +6067,7 @@
6066
6067
  if (isValidStrictMode(parser, index, tokenPos, tokenValue)) {
6067
6068
  context |= 1024;
6068
6069
  if (parser.flags & 128) {
6069
- reportMessageAt(parser.index, parser.line, parser.tokenPos, 63);
6070
+ reportMessageAt(parser.index, parser.line, parser.tokenPos, 64);
6070
6071
  }
6071
6072
  if (parser.flags & 64) {
6072
6073
  reportMessageAt(parser.index, parser.line, parser.tokenPos, 8);
@@ -6077,16 +6078,16 @@
6077
6078
  if (context & 1024) {
6078
6079
  if (firstRestricted) {
6079
6080
  if ((firstRestricted & 537079808) === 537079808) {
6080
- report(parser, 115);
6081
+ report(parser, 116);
6081
6082
  }
6082
6083
  if ((firstRestricted & 36864) === 36864) {
6083
6084
  report(parser, 38);
6084
6085
  }
6085
6086
  }
6086
6087
  if (parser.flags & 512)
6087
- report(parser, 115);
6088
+ report(parser, 116);
6088
6089
  if (parser.flags & 256)
6089
- report(parser, 114);
6090
+ report(parser, 115);
6090
6091
  }
6091
6092
  if (context & 64 &&
6092
6093
  scope &&
@@ -6116,7 +6117,7 @@
6116
6117
  nextToken(parser, context);
6117
6118
  switch (parser.token) {
6118
6119
  case 67108991:
6119
- report(parser, 161);
6120
+ report(parser, 162);
6120
6121
  case 67174411: {
6121
6122
  if ((context & 524288) === 0)
6122
6123
  report(parser, 26);
@@ -6145,7 +6146,7 @@
6145
6146
  }
6146
6147
  function parseUpdateExpression(parser, context, expr, start, line, column) {
6147
6148
  if (parser.assignable & 2)
6148
- report(parser, 52);
6149
+ report(parser, 53);
6149
6150
  const { token } = parser;
6150
6151
  nextToken(parser, context);
6151
6152
  parser.assignable = 2;
@@ -6228,7 +6229,7 @@
6228
6229
  }
6229
6230
  default:
6230
6231
  if ((parser.flags & 2048) === 2048) {
6231
- report(parser, 160);
6232
+ report(parser, 161);
6232
6233
  }
6233
6234
  parser.assignable = 2;
6234
6235
  expr = finishNode(parser, context, start, line, column, {
@@ -6285,7 +6286,7 @@
6285
6286
  }
6286
6287
  else {
6287
6288
  if ((parser.token & (143360 | 4096)) === 0)
6288
- report(parser, 154);
6289
+ report(parser, 155);
6289
6290
  const property = parseIdentifier(parser, context, 0);
6290
6291
  parser.assignable = 2;
6291
6292
  node = finishNode(parser, context, start, line, column, {
@@ -6303,7 +6304,7 @@
6303
6304
  }
6304
6305
  function parsePropertyOrPrivatePropertyName(parser, context) {
6305
6306
  if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {
6306
- report(parser, 154);
6307
+ report(parser, 155);
6307
6308
  }
6308
6309
  return context & 1 && parser.token === 131
6309
6310
  ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
@@ -6311,14 +6312,14 @@
6311
6312
  }
6312
6313
  function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
6313
6314
  if (inNew)
6314
- report(parser, 53);
6315
+ report(parser, 54);
6315
6316
  if (!isLHS)
6316
6317
  report(parser, 0);
6317
6318
  const { token } = parser;
6318
6319
  nextToken(parser, context | 32768);
6319
6320
  const arg = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
6320
6321
  if (parser.assignable & 2) {
6321
- report(parser, 52);
6322
+ report(parser, 53);
6322
6323
  }
6323
6324
  parser.assignable = 2;
6324
6325
  return finishNode(parser, context, start, line, column, {
@@ -6347,12 +6348,12 @@
6347
6348
  return parseArrowFromIdentifier(parser, context, tokenValue, expr, inNew, canAssign, 0, start, line, column);
6348
6349
  }
6349
6350
  if (context & 16384 && token === 537079928)
6350
- report(parser, 126);
6351
+ report(parser, 127);
6351
6352
  if (token === 241739) {
6352
6353
  if (context & 1024)
6353
- report(parser, 109);
6354
+ report(parser, 110);
6354
6355
  if (kind & (8 | 16))
6355
- report(parser, 97);
6356
+ report(parser, 98);
6356
6357
  }
6357
6358
  parser.assignable =
6358
6359
  context & 1024 && (token & 537079808) === 537079808
@@ -6423,14 +6424,14 @@
6423
6424
  return parseImportMetaExpression(parser, context, expr, start, line, column);
6424
6425
  }
6425
6426
  if (inNew)
6426
- report(parser, 137);
6427
+ report(parser, 138);
6427
6428
  expr = parseImportExpression(parser, context, inGroup, start, line, column);
6428
6429
  parser.assignable = 2;
6429
6430
  return parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
6430
6431
  }
6431
6432
  function parseImportMetaExpression(parser, context, meta, start, line, column) {
6432
6433
  if ((context & 2048) === 0)
6433
- report(parser, 163);
6434
+ report(parser, 164);
6434
6435
  nextToken(parser, context);
6435
6436
  if (parser.token !== 143495 && parser.tokenValue !== 'meta')
6436
6437
  report(parser, 28, KeywordDescTable[parser.token & 255]);
@@ -6444,7 +6445,7 @@
6444
6445
  function parseImportExpression(parser, context, inGroup, start, line, column) {
6445
6446
  consume(parser, context | 32768, 67174411);
6446
6447
  if (parser.token === 14)
6447
- report(parser, 138);
6448
+ report(parser, 139);
6448
6449
  const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6449
6450
  consume(parser, context, 16);
6450
6451
  return finishNode(parser, context, start, line, column, {
@@ -6489,14 +6490,14 @@
6489
6490
  ];
6490
6491
  const expressions = [parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos)];
6491
6492
  if (parser.token !== 1074790415)
6492
- report(parser, 80);
6493
+ report(parser, 81);
6493
6494
  while ((parser.token = scanTemplateTail(parser, context)) !== 67174409) {
6494
6495
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
6495
6496
  consume(parser, context | 32768, 67174408);
6496
6497
  quasis.push(parseTemplateElement(parser, context, tokenValue, tokenRaw, tokenPos, linePos, colPos, false));
6497
6498
  expressions.push(parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));
6498
6499
  if (parser.token !== 1074790415)
6499
- report(parser, 80);
6500
+ report(parser, 81);
6500
6501
  }
6501
6502
  {
6502
6503
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
@@ -6712,10 +6713,10 @@
6712
6713
  function parseArrayLiteral(parser, context, skipInitializer, inGroup, start, line, column) {
6713
6714
  const expr = parseArrayExpressionOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);
6714
6715
  if (context & 256 && parser.destructible & 64) {
6715
- report(parser, 60);
6716
+ report(parser, 61);
6716
6717
  }
6717
6718
  if (parser.destructible & 8) {
6718
- report(parser, 59);
6719
+ report(parser, 60);
6719
6720
  }
6720
6721
  return expr;
6721
6722
  }
@@ -6810,7 +6811,7 @@
6810
6811
  }
6811
6812
  }
6812
6813
  else if (parser.destructible & 8) {
6813
- report(parser, 68);
6814
+ report(parser, 69);
6814
6815
  }
6815
6816
  else {
6816
6817
  left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);
@@ -6909,7 +6910,7 @@
6909
6910
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6910
6911
  if (parser.token !== 18 && parser.token !== closingToken) {
6911
6912
  if (parser.assignable & 2 && parser.token === 1077936157)
6912
- report(parser, 68);
6913
+ report(parser, 69);
6913
6914
  destructible |= 16;
6914
6915
  argument = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, argument);
6915
6916
  }
@@ -6936,7 +6937,7 @@
6936
6937
  token = parser.token;
6937
6938
  if (token !== 1077936157 && token !== closingToken && token !== 18) {
6938
6939
  if (parser.destructible & 8)
6939
- report(parser, 68);
6940
+ report(parser, 69);
6940
6941
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6941
6942
  destructible |= parser.assignable & 2 ? 16 : 0;
6942
6943
  if ((parser.token & 4194304) === 4194304) {
@@ -6986,7 +6987,7 @@
6986
6987
  }
6987
6988
  parser.destructible = destructible;
6988
6989
  if (parser.token !== closingToken && parser.token !== 18)
6989
- report(parser, 155);
6990
+ report(parser, 156);
6990
6991
  return finishNode(parser, context, start, line, column, {
6991
6992
  type: isPattern ? 'RestElement' : 'SpreadElement',
6992
6993
  argument: argument
@@ -7047,10 +7048,10 @@
7047
7048
  function parseObjectLiteral(parser, context, skipInitializer, inGroup, start, line, column) {
7048
7049
  const expr = parseObjectLiteralOrPattern(parser, context, void 0, skipInitializer, inGroup, 0, 2, 0, start, line, column);
7049
7050
  if (context & 256 && parser.destructible & 64) {
7050
- report(parser, 60);
7051
+ report(parser, 61);
7051
7052
  }
7052
7053
  if (parser.destructible & 8) {
7053
- report(parser, 59);
7054
+ report(parser, 60);
7054
7055
  }
7055
7056
  return expr;
7056
7057
  }
@@ -7167,7 +7168,7 @@
7167
7168
  destructible |= 16;
7168
7169
  }
7169
7170
  else if (parser.destructible & 8) {
7170
- report(parser, 68);
7171
+ report(parser, 69);
7171
7172
  }
7172
7173
  else {
7173
7174
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
@@ -7227,10 +7228,10 @@
7227
7228
  else if (parser.token & (143360 | 4096)) {
7228
7229
  destructible |= 16;
7229
7230
  if (token === 121)
7230
- report(parser, 92);
7231
+ report(parser, 93);
7231
7232
  if (token === 209007) {
7232
7233
  if (parser.flags & 1)
7233
- report(parser, 128);
7234
+ report(parser, 129);
7234
7235
  state |= 16;
7235
7236
  }
7236
7237
  key = parseIdentifier(parser, context, 0);
@@ -7249,11 +7250,14 @@
7249
7250
  }
7250
7251
  else if (parser.token === 8457014) {
7251
7252
  destructible |= 16;
7252
- if (token === 12402 || token === 12403) {
7253
+ if (token === 12402) {
7253
7254
  report(parser, 40);
7254
7255
  }
7256
+ else if (token === 12403) {
7257
+ report(parser, 41);
7258
+ }
7255
7259
  else if (token === 143483) {
7256
- report(parser, 92);
7260
+ report(parser, 93);
7257
7261
  }
7258
7262
  nextToken(parser, context);
7259
7263
  state |=
@@ -7288,7 +7292,7 @@
7288
7292
  value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7289
7293
  }
7290
7294
  else {
7291
- report(parser, 129);
7295
+ report(parser, 130);
7292
7296
  }
7293
7297
  }
7294
7298
  else if ((parser.token & 134217728) === 134217728) {
@@ -7389,7 +7393,7 @@
7389
7393
  destructible = parser.assignable | 16;
7390
7394
  }
7391
7395
  else {
7392
- report(parser, 130);
7396
+ report(parser, 131);
7393
7397
  }
7394
7398
  }
7395
7399
  else if (parser.token === 69271571) {
@@ -7446,7 +7450,7 @@
7446
7450
  destructible |= 16;
7447
7451
  }
7448
7452
  else if (destructible & 8) {
7449
- report(parser, 59);
7453
+ report(parser, 60);
7450
7454
  }
7451
7455
  else {
7452
7456
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
@@ -7498,7 +7502,7 @@
7498
7502
  destructible = 16;
7499
7503
  }
7500
7504
  else {
7501
- report(parser, 41);
7505
+ report(parser, 42);
7502
7506
  }
7503
7507
  }
7504
7508
  else if (token === 8457014) {
@@ -7514,10 +7518,10 @@
7514
7518
  }
7515
7519
  else {
7516
7520
  reportMessageAt(index, line, index, token === 209007
7517
- ? 43
7521
+ ? 44
7518
7522
  : token === 12402 || parser.token === 12403
7519
- ? 42
7520
- : 44, KeywordDescTable[token & 255]);
7523
+ ? 43
7524
+ : 45, KeywordDescTable[token & 255]);
7521
7525
  }
7522
7526
  }
7523
7527
  else if ((parser.token & 134217728) === 134217728) {
@@ -7533,7 +7537,7 @@
7533
7537
  value = parseMethodDefinition(parser, context, state, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7534
7538
  }
7535
7539
  else {
7536
- report(parser, 122);
7540
+ report(parser, 123);
7537
7541
  }
7538
7542
  }
7539
7543
  else {
@@ -7615,7 +7619,7 @@
7615
7619
  }
7616
7620
  isSimpleParameterList = 1;
7617
7621
  if (parser.destructible & (32 | 16))
7618
- report(parser, 47);
7622
+ report(parser, 48);
7619
7623
  }
7620
7624
  if (parser.token === 1077936157) {
7621
7625
  nextToken(parser, context | 32768);
@@ -7707,7 +7711,7 @@
7707
7711
  parser.assignable = 2;
7708
7712
  if (parser.token !== 16 && parser.token !== 18) {
7709
7713
  if (destructible & 8)
7710
- report(parser, 118);
7714
+ report(parser, 119);
7711
7715
  expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);
7712
7716
  destructible |= 16;
7713
7717
  if (parser.token !== 16 && parser.token !== 18) {
@@ -7718,7 +7722,7 @@
7718
7722
  else if (token === 14) {
7719
7723
  expr = parseSpreadOrRestElement(parser, context, scope, 16, kind, origin, 0, 1, 0, tokenPos, linePos, colPos);
7720
7724
  if (parser.destructible & 16)
7721
- report(parser, 71);
7725
+ report(parser, 72);
7722
7726
  isSimpleParameterList = 1;
7723
7727
  if (isSequence && (parser.token === 16 || parser.token === 18)) {
7724
7728
  expressions.push(expr);
@@ -7775,7 +7779,7 @@
7775
7779
  }
7776
7780
  consume(parser, context, 16);
7777
7781
  if (destructible & 16 && destructible & 8)
7778
- report(parser, 145);
7782
+ report(parser, 146);
7779
7783
  destructible |=
7780
7784
  parser.destructible & 256
7781
7785
  ? 256
@@ -7784,7 +7788,7 @@
7784
7788
  : 0;
7785
7789
  if (parser.token === 10) {
7786
7790
  if (destructible & (32 | 16))
7787
- report(parser, 46);
7791
+ report(parser, 47);
7788
7792
  if (context & (4194304 | 2048) && destructible & 128)
7789
7793
  report(parser, 29);
7790
7794
  if (context & (1024 | 2097152) && destructible & 256) {
@@ -7795,7 +7799,7 @@
7795
7799
  return parseParenthesizedArrow(parser, context, scope, isSequence ? expressions : [expr], canAssign, 0, start, line, column);
7796
7800
  }
7797
7801
  else if (destructible & 8) {
7798
- report(parser, 139);
7802
+ report(parser, 140);
7799
7803
  }
7800
7804
  parser.destructible = ((parser.destructible | 256) ^ 256) | destructible;
7801
7805
  return context & 128
@@ -7820,23 +7824,23 @@
7820
7824
  }
7821
7825
  function parseArrowFromIdentifier(parser, context, value, expr, inNew, canAssign, isAsync, start, line, column) {
7822
7826
  if (!canAssign)
7823
- report(parser, 54);
7827
+ report(parser, 55);
7824
7828
  if (inNew)
7825
- report(parser, 48);
7829
+ report(parser, 49);
7826
7830
  parser.flags &= ~128;
7827
7831
  const scope = context & 64 ? createArrowHeadParsingScope(parser, context, value) : void 0;
7828
7832
  return parseArrowFunctionExpression(parser, context, scope, [expr], isAsync, start, line, column);
7829
7833
  }
7830
7834
  function parseParenthesizedArrow(parser, context, scope, params, canAssign, isAsync, start, line, column) {
7831
7835
  if (!canAssign)
7832
- report(parser, 54);
7836
+ report(parser, 55);
7833
7837
  for (let i = 0; i < params.length; ++i)
7834
7838
  reinterpretToPattern(parser, params[i]);
7835
7839
  return parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column);
7836
7840
  }
7837
7841
  function parseArrowFunctionExpression(parser, context, scope, params, isAsync, start, line, column) {
7838
7842
  if (parser.flags & 1)
7839
- report(parser, 45);
7843
+ report(parser, 46);
7840
7844
  consume(parser, context | 32768, 10);
7841
7845
  context = ((context | 15728640) ^ 15728640) | (isAsync << 22);
7842
7846
  const expression = parser.token !== 2162700;
@@ -7855,16 +7859,16 @@
7855
7859
  switch (parser.token) {
7856
7860
  case 69271571:
7857
7861
  if ((parser.flags & 1) === 0) {
7858
- report(parser, 112);
7862
+ report(parser, 113);
7859
7863
  }
7860
7864
  break;
7861
7865
  case 67108877:
7862
7866
  case 67174409:
7863
7867
  case 22:
7864
- report(parser, 113);
7868
+ report(parser, 114);
7865
7869
  case 67174411:
7866
7870
  if ((parser.flags & 1) === 0) {
7867
- report(parser, 112);
7871
+ report(parser, 113);
7868
7872
  }
7869
7873
  parser.flags |= 1024;
7870
7874
  break;
@@ -7872,7 +7876,7 @@
7872
7876
  if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)
7873
7877
  report(parser, 28, KeywordDescTable[parser.token & 255]);
7874
7878
  if ((parser.token & 33619968) === 33619968)
7875
- report(parser, 121);
7879
+ report(parser, 122);
7876
7880
  }
7877
7881
  parser.assignable = 2;
7878
7882
  return finishNode(parser, context, start, line, column, {
@@ -7920,7 +7924,7 @@
7920
7924
  }
7921
7925
  isSimpleParameterList = 1;
7922
7926
  if (parser.destructible & (32 | 16)) {
7923
- report(parser, 47);
7927
+ report(parser, 48);
7924
7928
  }
7925
7929
  }
7926
7930
  if (parser.token === 1077936157) {
@@ -7996,16 +8000,16 @@
7996
8000
  parser.assignable = 2;
7997
8001
  return parseMetaProperty(parser, context, id, start, line, column);
7998
8002
  }
7999
- report(parser, 91);
8003
+ report(parser, 92);
8000
8004
  }
8001
8005
  parser.assignable = 2;
8002
8006
  if ((parser.token & 16842752) === 16842752) {
8003
- report(parser, 62, KeywordDescTable[parser.token & 255]);
8007
+ report(parser, 63, KeywordDescTable[parser.token & 255]);
8004
8008
  }
8005
8009
  const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);
8006
8010
  context = (context | 134217728) ^ 134217728;
8007
8011
  if (parser.token === 67108991)
8008
- report(parser, 162);
8012
+ report(parser, 163);
8009
8013
  const callee = parseMembeExpressionNoCall(parser, context, expr, inGroup, tokenPos, linePos, colPos);
8010
8014
  parser.assignable = 2;
8011
8015
  return finishNode(parser, context, start, line, column, {
@@ -8040,7 +8044,7 @@
8040
8044
  if (consumeOpt(parser, context, 16)) {
8041
8045
  if (parser.token === 10) {
8042
8046
  if (flags & 1)
8043
- report(parser, 45);
8047
+ report(parser, 46);
8044
8048
  return parseParenthesizedArrow(parser, context, scope, [], canAssign, 1, start, line, column);
8045
8049
  }
8046
8050
  return finishNode(parser, context, start, line, column, {
@@ -8096,7 +8100,7 @@
8096
8100
  isSimpleParameterList = 1;
8097
8101
  if (parser.token !== 16 && parser.token !== 18) {
8098
8102
  if (destructible & 8)
8099
- report(parser, 118);
8103
+ report(parser, 119);
8100
8104
  expr = parseMemberOrUpdateExpression(parser, context, expr, 0, 0, tokenPos, linePos, colPos);
8101
8105
  destructible |= 16;
8102
8106
  if ((parser.token & 8454144) === 8454144) {
@@ -8144,7 +8148,7 @@
8144
8148
  if (destructible & (32 | 16))
8145
8149
  report(parser, 25);
8146
8150
  if (parser.flags & 1 || flags & 1)
8147
- report(parser, 45);
8151
+ report(parser, 46);
8148
8152
  if (destructible & 128)
8149
8153
  report(parser, 29);
8150
8154
  if (context & (1024 | 2097152) && destructible & 256)
@@ -8154,7 +8158,7 @@
8154
8158
  return parseParenthesizedArrow(parser, context, scope, params, canAssign, 1, start, line, column);
8155
8159
  }
8156
8160
  else if (destructible & 8) {
8157
- report(parser, 59);
8161
+ report(parser, 60);
8158
8162
  }
8159
8163
  parser.assignable = 2;
8160
8164
  return finishNode(parser, context, start, line, column, {
@@ -8199,10 +8203,10 @@
8199
8203
  const { tokenValue } = parser;
8200
8204
  if (parser.token & 4096 && parser.token !== 20567) {
8201
8205
  if (isStrictReservedWord(parser, context, parser.token)) {
8202
- report(parser, 114);
8206
+ report(parser, 115);
8203
8207
  }
8204
8208
  if ((parser.token & 537079808) === 537079808) {
8205
- report(parser, 115);
8209
+ report(parser, 116);
8206
8210
  }
8207
8211
  if (scope) {
8208
8212
  addBlockName(parser, context, scope, tokenValue, 32, 0);
@@ -8255,9 +8259,9 @@
8255
8259
  nextToken(parser, context);
8256
8260
  if (parser.token & 4096 && parser.token !== 20567) {
8257
8261
  if (isStrictReservedWord(parser, context, parser.token))
8258
- report(parser, 114);
8259
- if ((parser.token & 537079808) === 537079808) {
8260
8262
  report(parser, 115);
8263
+ if ((parser.token & 537079808) === 537079808) {
8264
+ report(parser, 116);
8261
8265
  }
8262
8266
  id = parseIdentifier(parser, context, 0);
8263
8267
  }
@@ -8316,13 +8320,13 @@
8316
8320
  decorators = parseDecorators(parser, context);
8317
8321
  length = decorators.length;
8318
8322
  if (length > 0 && parser.tokenValue === 'constructor') {
8319
- report(parser, 106);
8323
+ report(parser, 107);
8320
8324
  }
8321
8325
  if (parser.token === 1074790415)
8322
- report(parser, 105);
8326
+ report(parser, 106);
8323
8327
  if (consumeOpt(parser, context, 1074790417)) {
8324
8328
  if (length > 0)
8325
- report(parser, 116);
8329
+ report(parser, 117);
8326
8330
  continue;
8327
8331
  }
8328
8332
  body.push(parseClassElementList(parser, context, scope, inheritedContext, kind, decorators, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
@@ -8419,20 +8423,20 @@
8419
8423
  key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);
8420
8424
  }
8421
8425
  else
8422
- report(parser, 131);
8426
+ report(parser, 132);
8423
8427
  }
8424
8428
  if ((kind & 2) === 0) {
8425
8429
  if (parser.tokenValue === 'constructor') {
8426
8430
  if ((parser.token & 1073741824) === 1073741824) {
8427
- report(parser, 125);
8431
+ report(parser, 126);
8428
8432
  }
8429
8433
  else if ((kind & 32) === 0 && parser.token === 67174411) {
8430
8434
  if (kind & (768 | 16 | 128 | 8)) {
8431
- report(parser, 50, 'accessor');
8435
+ report(parser, 51, 'accessor');
8432
8436
  }
8433
8437
  else if ((context & 524288) === 0) {
8434
8438
  if (parser.flags & 32)
8435
- report(parser, 51);
8439
+ report(parser, 52);
8436
8440
  else
8437
8441
  parser.flags |= 32;
8438
8442
  }
@@ -8442,7 +8446,7 @@
8442
8446
  else if ((kind & 4096) === 0 &&
8443
8447
  kind & (32 | 768 | 8 | 16) &&
8444
8448
  parser.tokenValue === 'prototype') {
8445
- report(parser, 49);
8449
+ report(parser, 50);
8446
8450
  }
8447
8451
  }
8448
8452
  if (context & 1 && parser.token !== 67174411) {
@@ -8484,7 +8488,7 @@
8484
8488
  nextToken(parser, context);
8485
8489
  const { tokenValue } = parser;
8486
8490
  if (tokenValue === 'constructor')
8487
- report(parser, 124);
8491
+ report(parser, 125);
8488
8492
  nextToken(parser, context);
8489
8493
  return finishNode(parser, context, start, line, column, {
8490
8494
  type: 'PrivateIdentifier',
@@ -8499,7 +8503,7 @@
8499
8503
  nextToken(parser, context | 32768);
8500
8504
  const { tokenPos, linePos, colPos } = parser;
8501
8505
  if (parser.token === 537079928)
8502
- report(parser, 115);
8506
+ report(parser, 116);
8503
8507
  value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);
8504
8508
  if ((parser.token & 1073741824) !== 1073741824) {
8505
8509
  value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
@@ -8527,33 +8531,33 @@
8527
8531
  ? parseArrayExpressionOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column)
8528
8532
  : parseObjectLiteralOrPattern(parser, context, scope, 1, 0, 1, type, origin, start, line, column);
8529
8533
  if (parser.destructible & 16)
8530
- report(parser, 47);
8534
+ report(parser, 48);
8531
8535
  if (parser.destructible & 32)
8532
- report(parser, 47);
8536
+ report(parser, 48);
8533
8537
  return left;
8534
8538
  }
8535
8539
  function parseAndClassifyIdentifier(parser, context, scope, kind, origin, start, line, column) {
8536
8540
  const { tokenValue, token } = parser;
8537
8541
  if (context & 1024) {
8538
8542
  if ((token & 537079808) === 537079808) {
8539
- report(parser, 115);
8543
+ report(parser, 116);
8540
8544
  }
8541
8545
  else if ((token & 36864) === 36864) {
8542
- report(parser, 114);
8546
+ report(parser, 115);
8543
8547
  }
8544
8548
  }
8545
8549
  if ((token & 20480) === 20480) {
8546
- report(parser, 99);
8550
+ report(parser, 100);
8547
8551
  }
8548
8552
  if (context & (2048 | 2097152) && token === 241773) {
8549
8553
  report(parser, 30);
8550
8554
  }
8551
8555
  if (token === 241739) {
8552
8556
  if (kind & (8 | 16))
8553
- report(parser, 97);
8557
+ report(parser, 98);
8554
8558
  }
8555
8559
  if (context & (4194304 | 2048) && token === 209008) {
8556
- report(parser, 95);
8560
+ report(parser, 96);
8557
8561
  }
8558
8562
  nextToken(parser, context);
8559
8563
  if (scope)
@@ -8581,7 +8585,7 @@
8581
8585
  closingElement = parseJSXClosingElement(parser, context, inJSXChild, parser.tokenPos, parser.linePos, parser.colPos);
8582
8586
  const close = isEqualTagName(closingElement.name);
8583
8587
  if (isEqualTagName(openingElement.name) !== close)
8584
- report(parser, 149, close);
8588
+ report(parser, 150, close);
8585
8589
  }
8586
8590
  return finishNode(parser, context, start, line, column, {
8587
8591
  type: 'JSXElement',
@@ -8737,7 +8741,7 @@
8737
8741
  value = parseJSXExpressionContainer(parser, context, 1, 1, tokenPos, linePos, colPos);
8738
8742
  break;
8739
8743
  default:
8740
- report(parser, 148);
8744
+ report(parser, 149);
8741
8745
  }
8742
8746
  }
8743
8747
  return finishNode(parser, context, start, line, column, {
@@ -8763,7 +8767,7 @@
8763
8767
  let expression = null;
8764
8768
  if (parser.token === 1074790415) {
8765
8769
  if (isAttr)
8766
- report(parser, 151);
8770
+ report(parser, 152);
8767
8771
  expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
8768
8772
  }
8769
8773
  else {
@@ -8810,7 +8814,7 @@
8810
8814
  __proto__: null
8811
8815
  });
8812
8816
 
8813
- var version$1 = "4.3.1";
8817
+ var version$1 = "4.3.3";
8814
8818
 
8815
8819
  const version = version$1;
8816
8820
  function parseScript(source, options) {