meriyah 4.4.3 → 4.4.4

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.
@@ -1524,7 +1524,7 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
1524
1524
  return 122;
1525
1525
  }
1526
1526
  if ((token & 20480) === 20480) {
1527
- if (context & 1073741824 && (context & 8192) === 0) {
1527
+ if (context & 268435456 && (context & 8192) === 0) {
1528
1528
  return token;
1529
1529
  }
1530
1530
  else {
@@ -1533,12 +1533,12 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
1533
1533
  }
1534
1534
  return 143483;
1535
1535
  }
1536
- if (context & 1073741824 &&
1536
+ if (context & 268435456 &&
1537
1537
  (context & 8192) === 0 &&
1538
1538
  (token & 20480) === 20480)
1539
1539
  return token;
1540
1540
  if (token === 241773) {
1541
- return context & 1073741824
1541
+ return context & 268435456
1542
1542
  ? 143483
1543
1543
  : context & 2097152
1544
1544
  ? 121
@@ -4357,10 +4357,9 @@ function scanJSXIdentifier(parser) {
4357
4357
  return parser.token;
4358
4358
  }
4359
4359
 
4360
- function matchOrInsertSemicolon(parser, context, specDeviation) {
4360
+ function matchOrInsertSemicolon(parser, context) {
4361
4361
  if ((parser.flags & 1) === 0 &&
4362
- (parser.token & 1048576) !== 1048576 &&
4363
- !specDeviation) {
4362
+ (parser.token & 1048576) !== 1048576) {
4364
4363
  report(parser, 28, KeywordDescTable[parser.token & 255]);
4365
4364
  }
4366
4365
  if (!consumeOpt(parser, context, 1074790417)) {
@@ -4752,7 +4751,7 @@ function parseSource(source, options, context) {
4752
4751
  if (options.ranges)
4753
4752
  context |= 2;
4754
4753
  if (options.uniqueKeyInPattern)
4755
- context |= -2147483648;
4754
+ context |= 536870912;
4756
4755
  if (options.lexical)
4757
4756
  context |= 64;
4758
4757
  if (options.webcompat)
@@ -4769,10 +4768,6 @@ function parseSource(source, options, context) {
4769
4768
  context |= 1024;
4770
4769
  if (options.jsx)
4771
4770
  context |= 16;
4772
- if (options.identifierPattern)
4773
- context |= 268435456;
4774
- if (options.specDeviation)
4775
- context |= 536870912;
4776
4771
  if (options.source)
4777
4772
  sourceFile = options.source;
4778
4773
  if (options.onComment != null) {
@@ -4824,7 +4819,7 @@ function parseSource(source, options, context) {
4824
4819
  return node;
4825
4820
  }
4826
4821
  function parseStatementList(parser, context, scope) {
4827
- nextToken(parser, context | 32768 | 1073741824);
4822
+ nextToken(parser, context | 32768 | 268435456);
4828
4823
  const statements = [];
4829
4824
  while (parser.token === 134283267) {
4830
4825
  const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
@@ -4957,14 +4952,14 @@ function parseExpressionOrLabelledStatement(parser, context, scope, origin, labe
4957
4952
  let expr;
4958
4953
  switch (token) {
4959
4954
  case 241739:
4960
- expr = parseIdentifier(parser, context, 0);
4955
+ expr = parseIdentifier(parser, context);
4961
4956
  if (context & 1024)
4962
4957
  report(parser, 83);
4963
4958
  if (parser.token === 69271571)
4964
4959
  report(parser, 82);
4965
4960
  break;
4966
4961
  default:
4967
- expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4962
+ expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4968
4963
  }
4969
4964
  if (token & 143360 && parser.token === 21) {
4970
4965
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
@@ -5026,7 +5021,7 @@ function parseLabelledStatement(parser, context, scope, origin, labels, value, e
5026
5021
  }
5027
5022
  function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
5028
5023
  const { token, tokenValue } = parser;
5029
- let expr = parseIdentifier(parser, context, 0);
5024
+ let expr = parseIdentifier(parser, context);
5030
5025
  if (parser.token === 21) {
5031
5026
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
5032
5027
  }
@@ -5194,7 +5189,7 @@ function parseContinueStatement(parser, context, labels, start, line, column) {
5194
5189
  let label = null;
5195
5190
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5196
5191
  const { tokenValue } = parser;
5197
- label = parseIdentifier(parser, context | 32768, 0);
5192
+ label = parseIdentifier(parser, context | 32768);
5198
5193
  if (!isValidLabel(parser, labels, tokenValue, 1))
5199
5194
  report(parser, 135, tokenValue);
5200
5195
  }
@@ -5209,7 +5204,7 @@ function parseBreakStatement(parser, context, labels, start, line, column) {
5209
5204
  let label = null;
5210
5205
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5211
5206
  const { tokenValue } = parser;
5212
- label = parseIdentifier(parser, context | 32768, 0);
5207
+ label = parseIdentifier(parser, context | 32768);
5213
5208
  if (!isValidLabel(parser, labels, tokenValue, 0))
5214
5209
  report(parser, 135, tokenValue);
5215
5210
  }
@@ -5320,7 +5315,7 @@ function parseDoWhileStatement(parser, context, scope, labels, start, line, colu
5320
5315
  }
5321
5316
  function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
5322
5317
  const { token, tokenValue } = parser;
5323
- let expr = parseIdentifier(parser, context, 0);
5318
+ let expr = parseIdentifier(parser, context);
5324
5319
  if (parser.token & (143360 | 2097152)) {
5325
5320
  const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
5326
5321
  matchOrInsertSemicolon(parser, context | 32768);
@@ -5390,7 +5385,7 @@ function parseVariableDeclaration(parser, context, scope, kind, origin) {
5390
5385
  const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
5391
5386
  if (parser.token === 1077936157) {
5392
5387
  nextToken(parser, context | 32768);
5393
- init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5388
+ init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5394
5389
  if (origin & 32 || (token & 2097152) === 0) {
5395
5390
  if (parser.token === 274549 ||
5396
5391
  (parser.token === 8738868 &&
@@ -5425,7 +5420,7 @@ function parseForStatement(parser, context, scope, labels, start, line, column)
5425
5420
  const { token, tokenPos, linePos, colPos } = parser;
5426
5421
  if (isVarDecl) {
5427
5422
  if (token === 241739) {
5428
- init = parseIdentifier(parser, context, 0);
5423
+ init = parseIdentifier(parser, context);
5429
5424
  if (parser.token & (143360 | 2097152)) {
5430
5425
  if (parser.token === 8738868) {
5431
5426
  if (context & 1024)
@@ -5493,7 +5488,7 @@ function parseForStatement(parser, context, scope, labels, start, line, column)
5493
5488
  report(parser, 78, forAwait ? 'await' : 'of');
5494
5489
  reinterpretToPattern(parser, init);
5495
5490
  nextToken(parser, context | 32768);
5496
- right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5491
+ right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5497
5492
  consume(parser, context | 32768, 16);
5498
5493
  const body = parseIterationStatementBody(parser, context, scope, labels);
5499
5494
  return finishNode(parser, context, start, line, column, {
@@ -5553,7 +5548,7 @@ function parseRestrictedIdentifier(parser, context, scope) {
5553
5548
  report(parser, 116);
5554
5549
  if (scope)
5555
5550
  addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
5556
- return parseIdentifier(parser, context, 0);
5551
+ return parseIdentifier(parser, context);
5557
5552
  }
5558
5553
  function parseImportDeclaration(parser, context, scope) {
5559
5554
  const start = parser.tokenPos;
@@ -5626,7 +5621,9 @@ function parseImportNamespaceSpecifier(parser, context, scope) {
5626
5621
  });
5627
5622
  }
5628
5623
  function parseModuleSpecifier(parser, context) {
5629
- consumeOpt(parser, context, 12404);
5624
+ if (!consumeOpt(parser, context, 12404)) {
5625
+ report(parser, 28, KeywordDescTable[parser.token & 255]);
5626
+ }
5630
5627
  if (parser.token !== 134283267)
5631
5628
  report(parser, 103, 'Import');
5632
5629
  return parseLiteral(parser, context);
@@ -5635,7 +5632,7 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
5635
5632
  nextToken(parser, context);
5636
5633
  while (parser.token & 143360) {
5637
5634
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
5638
- const imported = parseIdentifier(parser, context, 0);
5635
+ const imported = parseIdentifier(parser, context);
5639
5636
  let local;
5640
5637
  if (consumeOpt(parser, context, 77934)) {
5641
5638
  if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
@@ -5645,7 +5642,7 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
5645
5642
  validateBindingIdentifier(parser, context, 16, parser.token, 0);
5646
5643
  }
5647
5644
  tokenValue = parser.tokenValue;
5648
- local = parseIdentifier(parser, context, 0);
5645
+ local = parseIdentifier(parser, context);
5649
5646
  }
5650
5647
  else {
5651
5648
  validateBindingIdentifier(parser, context, 16, token, 0);
@@ -5705,7 +5702,7 @@ function parseExportDeclaration(parser, context, scope) {
5705
5702
  break;
5706
5703
  case 209007:
5707
5704
  const { tokenPos, linePos, colPos } = parser;
5708
- declaration = parseIdentifier(parser, context, 0);
5705
+ declaration = parseIdentifier(parser, context);
5709
5706
  const { flags } = parser;
5710
5707
  if ((flags & 1) === 0) {
5711
5708
  if (parser.token === 86106) {
@@ -5720,14 +5717,14 @@ function parseExportDeclaration(parser, context, scope) {
5720
5717
  else if (parser.token & 143360) {
5721
5718
  if (scope)
5722
5719
  scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
5723
- declaration = parseIdentifier(parser, context, 0);
5720
+ declaration = parseIdentifier(parser, context);
5724
5721
  declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
5725
5722
  }
5726
5723
  }
5727
5724
  }
5728
5725
  break;
5729
5726
  default:
5730
- declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5727
+ declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5731
5728
  matchOrInsertSemicolon(parser, context | 32768);
5732
5729
  }
5733
5730
  if (scope)
@@ -5745,7 +5742,7 @@ function parseExportDeclaration(parser, context, scope) {
5745
5742
  if (isNamedDeclaration) {
5746
5743
  if (scope)
5747
5744
  declareUnboundVariable(parser, parser.tokenValue);
5748
- exported = parseIdentifier(parser, context, 0);
5745
+ exported = parseIdentifier(parser, context);
5749
5746
  }
5750
5747
  consume(parser, context, 12404);
5751
5748
  if (parser.token !== 134283267)
@@ -5764,7 +5761,7 @@ function parseExportDeclaration(parser, context, scope) {
5764
5761
  const tmpExportedBindings = [];
5765
5762
  while (parser.token & 143360) {
5766
5763
  const { tokenPos, tokenValue, linePos, colPos } = parser;
5767
- const local = parseIdentifier(parser, context, 0);
5764
+ const local = parseIdentifier(parser, context);
5768
5765
  let exported;
5769
5766
  if (parser.token === 77934) {
5770
5767
  nextToken(parser, context);
@@ -5775,7 +5772,7 @@ function parseExportDeclaration(parser, context, scope) {
5775
5772
  tmpExportedNames.push(parser.tokenValue);
5776
5773
  tmpExportedBindings.push(tokenValue);
5777
5774
  }
5778
- exported = parseIdentifier(parser, context, 0);
5775
+ exported = parseIdentifier(parser, context);
5779
5776
  }
5780
5777
  else {
5781
5778
  if (scope) {
@@ -5849,15 +5846,15 @@ function parseExportDeclaration(parser, context, scope) {
5849
5846
  source
5850
5847
  });
5851
5848
  }
5852
- function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) {
5853
- let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column);
5849
+ function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
5850
+ let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
5854
5851
  expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
5855
5852
  return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
5856
5853
  }
5857
5854
  function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
5858
5855
  const expressions = [expr];
5859
5856
  while (consumeOpt(parser, context | 32768, 18)) {
5860
- expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5857
+ expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5861
5858
  }
5862
5859
  return finishNode(parser, context, start, line, column, {
5863
5860
  type: 'SequenceExpression',
@@ -5865,7 +5862,7 @@ function parseSequenceExpression(parser, context, inGroup, start, line, column,
5865
5862
  });
5866
5863
  }
5867
5864
  function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
5868
- const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column);
5865
+ const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
5869
5866
  return parser.token === 18
5870
5867
  ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
5871
5868
  : expr;
@@ -5880,7 +5877,7 @@ function parseAssignmentExpression(parser, context, inGroup, isPattern, start, l
5880
5877
  reinterpretToPattern(parser, left);
5881
5878
  }
5882
5879
  nextToken(parser, context | 32768);
5883
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5880
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5884
5881
  parser.assignable = 2;
5885
5882
  return finishNode(parser, context, start, line, column, isPattern
5886
5883
  ? {
@@ -5906,7 +5903,7 @@ function parseAssignmentExpression(parser, context, inGroup, isPattern, start, l
5906
5903
  function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
5907
5904
  const { token } = parser;
5908
5905
  nextToken(parser, context | 32768);
5909
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5906
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5910
5907
  left = finishNode(parser, context, start, line, column, isPattern
5911
5908
  ? {
5912
5909
  type: 'AssignmentPattern',
@@ -5923,10 +5920,10 @@ function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern,
5923
5920
  return left;
5924
5921
  }
5925
5922
  function parseConditionalExpression(parser, context, test, start, line, column) {
5926
- const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5923
+ const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5927
5924
  consume(parser, context | 32768, 21);
5928
5925
  parser.assignable = 1;
5929
- const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5926
+ const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5930
5927
  parser.assignable = 2;
5931
5928
  return finishNode(parser, context, start, line, column, {
5932
5929
  type: 'ConditionalExpression',
@@ -5984,9 +5981,9 @@ function parseUnaryExpression(parser, context, isLHS, start, line, column, inGro
5984
5981
  prefix: true
5985
5982
  });
5986
5983
  }
5987
- function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) {
5984
+ function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
5988
5985
  const { token } = parser;
5989
- const expr = parseIdentifier(parser, context, isPattern);
5986
+ const expr = parseIdentifier(parser, context);
5990
5987
  const { flags } = parser;
5991
5988
  if ((flags & 1) === 0) {
5992
5989
  if (parser.token === 86106) {
@@ -6026,7 +6023,7 @@ function parseYieldExpression(parser, context, inGroup, canAssign, start, line,
6026
6023
  if ((parser.flags & 1) === 0) {
6027
6024
  delegate = consumeOpt(parser, context | 32768, 8457014);
6028
6025
  if (parser.token & (12288 | 65536) || delegate) {
6029
- argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6026
+ argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6030
6027
  }
6031
6028
  }
6032
6029
  parser.assignable = 2;
@@ -6151,7 +6148,7 @@ function parseSuperExpression(parser, context, start, line, column) {
6151
6148
  return finishNode(parser, context, start, line, column, { type: 'Super' });
6152
6149
  }
6153
6150
  function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
6154
- const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column);
6151
+ const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
6155
6152
  return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
6156
6153
  }
6157
6154
  function parseUpdateExpression(parser, context, expr, start, line, column) {
@@ -6175,7 +6172,7 @@ function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain,
6175
6172
  context = (context | 134217728) ^ 134217728;
6176
6173
  switch (parser.token) {
6177
6174
  case 67108877: {
6178
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6175
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6179
6176
  if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
6180
6177
  report(parser, 27);
6181
6178
  }
@@ -6234,7 +6231,7 @@ function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain,
6234
6231
  break;
6235
6232
  }
6236
6233
  case 67108991: {
6237
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6234
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6238
6235
  parser.flags |= 2048;
6239
6236
  parser.assignable = 2;
6240
6237
  expr = parseOptionalChain(parser, context, expr, start, line, column);
@@ -6300,7 +6297,7 @@ function parseOptionalChain(parser, context, expr, start, line, column) {
6300
6297
  else {
6301
6298
  if ((parser.token & (143360 | 4096)) === 0)
6302
6299
  report(parser, 155);
6303
- const property = parseIdentifier(parser, context, 0);
6300
+ const property = parseIdentifier(parser, context);
6304
6301
  parser.assignable = 2;
6305
6302
  node = finishNode(parser, context, start, line, column, {
6306
6303
  type: 'MemberExpression',
@@ -6321,7 +6318,7 @@ function parsePropertyOrPrivatePropertyName(parser, context) {
6321
6318
  }
6322
6319
  return context & 1 && parser.token === 131
6323
6320
  ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
6324
- : parseIdentifier(parser, context, 0);
6321
+ : parseIdentifier(parser, context);
6325
6322
  }
6326
6323
  function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
6327
6324
  if (inNew)
@@ -6342,7 +6339,7 @@ function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, lin
6342
6339
  prefix: true
6343
6340
  });
6344
6341
  }
6345
- function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) {
6342
+ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
6346
6343
  if ((parser.token & 143360) === 143360) {
6347
6344
  switch (parser.token) {
6348
6345
  case 209008:
@@ -6350,10 +6347,10 @@ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPatte
6350
6347
  case 241773:
6351
6348
  return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
6352
6349
  case 209007:
6353
- return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column);
6350
+ return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
6354
6351
  }
6355
6352
  const { token, tokenValue } = parser;
6356
- const expr = parseIdentifier(parser, context | 65536, isPattern);
6353
+ const expr = parseIdentifier(parser, context | 65536);
6357
6354
  if (parser.token === 10) {
6358
6355
  if (!isLHS)
6359
6356
  report(parser, 0);
@@ -6432,7 +6429,7 @@ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPatte
6432
6429
  }
6433
6430
  }
6434
6431
  function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
6435
- let expr = parseIdentifier(parser, context, 0);
6432
+ let expr = parseIdentifier(parser, context);
6436
6433
  if (parser.token === 67108877) {
6437
6434
  return parseImportMetaExpression(parser, context, expr, start, line, column);
6438
6435
  }
@@ -6452,14 +6449,14 @@ function parseImportMetaExpression(parser, context, meta, start, line, column) {
6452
6449
  return finishNode(parser, context, start, line, column, {
6453
6450
  type: 'MetaProperty',
6454
6451
  meta,
6455
- property: parseIdentifier(parser, context, 0)
6452
+ property: parseIdentifier(parser, context)
6456
6453
  });
6457
6454
  }
6458
6455
  function parseImportExpression(parser, context, inGroup, start, line, column) {
6459
6456
  consume(parser, context | 32768, 67174411);
6460
6457
  if (parser.token === 14)
6461
6458
  report(parser, 139);
6462
- const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6459
+ const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6463
6460
  consume(parser, context, 16);
6464
6461
  return finishNode(parser, context, start, line, column, {
6465
6462
  type: 'ImportExpression',
@@ -6548,7 +6545,7 @@ function parseTemplateElement(parser, context, cooked, raw, start, line, col, ta
6548
6545
  function parseSpreadElement(parser, context, start, line, column) {
6549
6546
  context = (context | 134217728) ^ 134217728;
6550
6547
  consume(parser, context | 32768, 14);
6551
- const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6548
+ const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6552
6549
  parser.assignable = 1;
6553
6550
  return finishNode(parser, context, start, line, column, {
6554
6551
  type: 'SpreadElement',
@@ -6567,7 +6564,7 @@ function parseArguments(parser, context, inGroup) {
6567
6564
  args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
6568
6565
  }
6569
6566
  else {
6570
- args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6567
+ args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6571
6568
  }
6572
6569
  if (parser.token !== 18)
6573
6570
  break;
@@ -6578,19 +6575,13 @@ function parseArguments(parser, context, inGroup) {
6578
6575
  consume(parser, context, 16);
6579
6576
  return args;
6580
6577
  }
6581
- function parseIdentifier(parser, context, isPattern) {
6578
+ function parseIdentifier(parser, context) {
6582
6579
  const { tokenValue, tokenPos, linePos, colPos } = parser;
6583
6580
  nextToken(parser, context);
6584
- return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456
6585
- ? {
6586
- type: 'Identifier',
6587
- name: tokenValue,
6588
- pattern: isPattern === 1
6589
- }
6590
- : {
6591
- type: 'Identifier',
6592
- name: tokenValue
6593
- });
6581
+ return finishNode(parser, context, tokenPos, linePos, colPos, {
6582
+ type: 'Identifier',
6583
+ name: tokenValue
6584
+ });
6594
6585
  }
6595
6586
  function parseLiteral(parser, context) {
6596
6587
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
@@ -6665,7 +6656,7 @@ function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flag
6665
6656
  }
6666
6657
  firstRestricted = parser.token;
6667
6658
  if (parser.token & 143360) {
6668
- id = parseIdentifier(parser, context, 0);
6659
+ id = parseIdentifier(parser, context);
6669
6660
  }
6670
6661
  else {
6671
6662
  report(parser, 28, KeywordDescTable[parser.token & 255]);
@@ -6675,7 +6666,7 @@ function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flag
6675
6666
  ((context | 32243712) ^ 32243712) |
6676
6667
  67108864 |
6677
6668
  ((isAsync * 2 + isGenerator) << 21) |
6678
- (isGenerator ? 0 : 1073741824);
6669
+ (isGenerator ? 0 : 268435456);
6679
6670
  if (scope)
6680
6671
  functionScope = addChildScope(functionScope, 512);
6681
6672
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
@@ -6702,13 +6693,13 @@ function parseFunctionExpression(parser, context, isAsync, inGroup, start, line,
6702
6693
  if (scope)
6703
6694
  scope = addChildScope(scope, 256);
6704
6695
  firstRestricted = parser.token;
6705
- id = parseIdentifier(parser, context, 0);
6696
+ id = parseIdentifier(parser, context);
6706
6697
  }
6707
6698
  context =
6708
6699
  ((context | 32243712) ^ 32243712) |
6709
6700
  67108864 |
6710
6701
  generatorAndAsyncFlags |
6711
- (isGenerator ? 0 : 1073741824);
6702
+ (isGenerator ? 0 : 268435456);
6712
6703
  if (scope)
6713
6704
  scope = addChildScope(scope, 512);
6714
6705
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
@@ -6746,14 +6737,14 @@ function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer,
6746
6737
  let left;
6747
6738
  const { token, tokenPos, linePos, colPos, tokenValue } = parser;
6748
6739
  if (token & 143360) {
6749
- left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6740
+ left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6750
6741
  if (parser.token === 1077936157) {
6751
6742
  if (parser.assignable & 2)
6752
6743
  report(parser, 24);
6753
6744
  nextToken(parser, context | 32768);
6754
6745
  if (scope)
6755
6746
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
6756
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6747
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6757
6748
  left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
6758
6749
  ? {
6759
6750
  type: 'AssignmentPattern',
@@ -6892,7 +6883,7 @@ function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGr
6892
6883
  if (!isPattern)
6893
6884
  reinterpretToPattern(parser, node);
6894
6885
  const { tokenPos, linePos, colPos } = parser;
6895
- const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos);
6886
+ const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
6896
6887
  parser.destructible =
6897
6888
  ((destructible | 64 | 8) ^
6898
6889
  (8 | 64)) |
@@ -6918,7 +6909,7 @@ function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, or
6918
6909
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
6919
6910
  if (token & (4096 | 143360)) {
6920
6911
  parser.assignable = 1;
6921
- argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6912
+ argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6922
6913
  token = parser.token;
6923
6914
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6924
6915
  if (parser.token !== 18 && parser.token !== closingToken) {
@@ -7013,7 +7004,7 @@ function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, or
7013
7004
  if (destructible & 16)
7014
7005
  report(parser, 24);
7015
7006
  reinterpretToPattern(parser, argument);
7016
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7007
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7017
7008
  argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
7018
7009
  ? {
7019
7010
  type: 'AssignmentPattern',
@@ -7085,7 +7076,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7085
7076
  let value;
7086
7077
  const t = parser.token;
7087
7078
  if (parser.token & (143360 | 4096) || parser.token === 121) {
7088
- key = parseIdentifier(parser, context, 0);
7079
+ key = parseIdentifier(parser, context);
7089
7080
  if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
7090
7081
  state |= 4;
7091
7082
  if (context & 1024 && (token & 537079808) === 537079808) {
@@ -7098,7 +7089,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7098
7089
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
7099
7090
  if (consumeOpt(parser, context | 32768, 1077936157)) {
7100
7091
  destructible |= 8;
7101
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7092
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7102
7093
  destructible |=
7103
7094
  parser.destructible & 256
7104
7095
  ? 256
@@ -7107,7 +7098,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7107
7098
  : 0;
7108
7099
  value = finishNode(parser, context, tokenPos, linePos, colPos, {
7109
7100
  type: 'AssignmentPattern',
7110
- left: context & -2147483648 ? Object.assign({}, key) : key,
7101
+ left: context & 536870912 ? Object.assign({}, key) : key,
7111
7102
  right
7112
7103
  });
7113
7104
  }
@@ -7115,7 +7106,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7115
7106
  destructible |=
7116
7107
  (token === 209008 ? 128 : 0) |
7117
7108
  (token === 121 ? 16 : 0);
7118
- value = context & -2147483648 ? Object.assign({}, key) : key;
7109
+ value = context & 536870912 ? Object.assign({}, key) : key;
7119
7110
  }
7120
7111
  }
7121
7112
  else if (consumeOpt(parser, context | 32768, 21)) {
@@ -7126,7 +7117,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7126
7117
  const tokenAfterColon = parser.token;
7127
7118
  const valueAfterColon = parser.tokenValue;
7128
7119
  destructible |= t === 121 ? 16 : 0;
7129
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7120
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7130
7121
  const { token } = parser;
7131
7122
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7132
7123
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7247,7 +7238,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7247
7238
  report(parser, 129);
7248
7239
  state |= 16;
7249
7240
  }
7250
- key = parseIdentifier(parser, context, 0);
7241
+ key = parseIdentifier(parser, context);
7251
7242
  state |=
7252
7243
  token === 12402
7253
7244
  ? 256
@@ -7276,7 +7267,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7276
7267
  state |=
7277
7268
  8 | 1 | (token === 209007 ? 16 : 0);
7278
7269
  if (parser.token & 143360) {
7279
- key = parseIdentifier(parser, context, 0);
7270
+ key = parseIdentifier(parser, context);
7280
7271
  }
7281
7272
  else if ((parser.token & 134217728) === 134217728) {
7282
7273
  key = parseLiteral(parser, context);
@@ -7316,7 +7307,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7316
7307
  if (tokenValue === '__proto__')
7317
7308
  prototypeCount++;
7318
7309
  if (parser.token & 143360) {
7319
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7310
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7320
7311
  const { token, tokenValue: valueAfterColon } = parser;
7321
7312
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7322
7313
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7417,7 +7408,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7417
7408
  nextToken(parser, context | 32768);
7418
7409
  const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
7419
7410
  if (parser.token & 143360) {
7420
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7411
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7421
7412
  const { token } = parser;
7422
7413
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7423
7414
  if ((parser.token & 4194304) === 4194304) {
@@ -7523,7 +7514,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7523
7514
  state |= 8;
7524
7515
  if (parser.token & 143360) {
7525
7516
  const { token, line, index } = parser;
7526
- key = parseIdentifier(parser, context, 0);
7517
+ key = parseIdentifier(parser, context);
7527
7518
  state |= 1;
7528
7519
  if (parser.token === 67174411) {
7529
7520
  destructible |= 16;
@@ -7637,7 +7628,7 @@ function parseMethodFormals(parser, context, scope, kind, type, inGroup) {
7637
7628
  if (parser.token === 1077936157) {
7638
7629
  nextToken(parser, context | 32768);
7639
7630
  isSimpleParameterList = 1;
7640
- const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7631
+ const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7641
7632
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7642
7633
  type: 'AssignmentPattern',
7643
7634
  left: left,
@@ -7664,14 +7655,14 @@ function parseMethodFormals(parser, context, scope, kind, type, inGroup) {
7664
7655
  }
7665
7656
  function parseComputedPropertyName(parser, context, inGroup) {
7666
7657
  nextToken(parser, context | 32768);
7667
- const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7658
+ const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7668
7659
  consume(parser, context, 20);
7669
7660
  return key;
7670
7661
  }
7671
7662
  function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
7672
7663
  parser.flags = (parser.flags | 128) ^ 128;
7673
7664
  const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
7674
- nextToken(parser, context | 32768 | 1073741824);
7665
+ nextToken(parser, context | 32768 | 268435456);
7675
7666
  const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
7676
7667
  context = (context | 134217728) ^ 134217728;
7677
7668
  if (consumeOpt(parser, context, 16)) {
@@ -7690,7 +7681,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7690
7681
  if (token & (143360 | 4096)) {
7691
7682
  if (scope)
7692
7683
  addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
7693
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
7684
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
7694
7685
  if (parser.token === 16 || parser.token === 18) {
7695
7686
  if (parser.assignable & 2) {
7696
7687
  destructible |= 16;
@@ -7717,8 +7708,8 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7717
7708
  else if ((token & 2097152) === 2097152) {
7718
7709
  expr =
7719
7710
  token === 2162700
7720
- ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7721
- : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7711
+ ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7712
+ : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7722
7713
  destructible |= parser.destructible;
7723
7714
  isSimpleParameterList = 1;
7724
7715
  parser.assignable = 2;
@@ -7745,7 +7736,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7745
7736
  }
7746
7737
  else {
7747
7738
  destructible |= 16;
7748
- expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
7739
+ expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
7749
7740
  if (isSequence && (parser.token === 16 || parser.token === 18)) {
7750
7741
  expressions.push(expr);
7751
7742
  }
@@ -7757,7 +7748,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7757
7748
  }
7758
7749
  if (isSequence) {
7759
7750
  while (consumeOpt(parser, context | 32768, 18)) {
7760
- expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));
7751
+ expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
7761
7752
  }
7762
7753
  parser.assignable = 2;
7763
7754
  expr = finishNode(parser, context, iStart, lStart, cStart, {
@@ -7824,7 +7815,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7824
7815
  }
7825
7816
  function parseIdentifierOrArrow(parser, context, start, line, column) {
7826
7817
  const { tokenValue } = parser;
7827
- const expr = parseIdentifier(parser, context, 0);
7818
+ const expr = parseIdentifier(parser, context);
7828
7819
  parser.assignable = 1;
7829
7820
  if (parser.token === 10) {
7830
7821
  let scope = void 0;
@@ -7862,7 +7853,7 @@ function parseArrowFunctionExpression(parser, context, scope, params, isAsync, s
7862
7853
  reportScopeError(scope.scopeError);
7863
7854
  }
7864
7855
  if (expression) {
7865
- body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
7856
+ body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7866
7857
  }
7867
7858
  else {
7868
7859
  if (scope)
@@ -7943,7 +7934,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind
7943
7934
  if (parser.token === 1077936157) {
7944
7935
  nextToken(parser, context | 32768);
7945
7936
  isSimpleParameterList = 1;
7946
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7937
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7947
7938
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7948
7939
  type: 'AssignmentPattern',
7949
7940
  left,
@@ -7969,7 +7960,7 @@ function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line,
7969
7960
  const { token } = parser;
7970
7961
  if (token & 67108864) {
7971
7962
  if (token === 67108877) {
7972
- nextToken(parser, context | 1073741824);
7963
+ nextToken(parser, context | 268435456);
7973
7964
  parser.assignable = 1;
7974
7965
  const property = parsePropertyOrPrivatePropertyName(parser, context);
7975
7966
  return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
@@ -8006,7 +7997,7 @@ function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line,
8006
7997
  return expr;
8007
7998
  }
8008
7999
  function parseNewExpression(parser, context, inGroup, start, line, column) {
8009
- const id = parseIdentifier(parser, context | 32768, 0);
8000
+ const id = parseIdentifier(parser, context | 32768);
8010
8001
  const { tokenPos, linePos, colPos } = parser;
8011
8002
  if (consumeOpt(parser, context, 67108877)) {
8012
8003
  if (context & 67108864 && parser.token === 143494) {
@@ -8019,7 +8010,7 @@ function parseNewExpression(parser, context, inGroup, start, line, column) {
8019
8010
  if ((parser.token & 16842752) === 16842752) {
8020
8011
  report(parser, 63, KeywordDescTable[parser.token & 255]);
8021
8012
  }
8022
- const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);
8013
+ const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
8023
8014
  context = (context | 134217728) ^ 134217728;
8024
8015
  if (parser.token === 67108991)
8025
8016
  report(parser, 163);
@@ -8032,7 +8023,7 @@ function parseNewExpression(parser, context, inGroup, start, line, column) {
8032
8023
  });
8033
8024
  }
8034
8025
  function parseMetaProperty(parser, context, meta, start, line, column) {
8035
- const property = parseIdentifier(parser, context, 0);
8026
+ const property = parseIdentifier(parser, context);
8036
8027
  return finishNode(parser, context, start, line, column, {
8037
8028
  type: 'MetaProperty',
8038
8029
  meta,
@@ -8048,7 +8039,7 @@ function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, colu
8048
8039
  if ((parser.token & 537079808) === 537079808) {
8049
8040
  parser.flags |= 512;
8050
8041
  }
8051
- return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column);
8042
+ return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
8052
8043
  }
8053
8044
  function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
8054
8045
  nextToken(parser, context | 32768);
@@ -8078,7 +8069,7 @@ function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kin
8078
8069
  if (token & (143360 | 4096)) {
8079
8070
  if (scope)
8080
8071
  addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
8081
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
8072
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
8082
8073
  if (parser.token === 16 || parser.token === 18) {
8083
8074
  if (parser.assignable & 2) {
8084
8075
  destructible |= 16;
@@ -8130,11 +8121,11 @@ function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kin
8130
8121
  isSimpleParameterList = 1;
8131
8122
  }
8132
8123
  else {
8133
- expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8124
+ expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8134
8125
  destructible = parser.assignable;
8135
8126
  params.push(expr);
8136
8127
  while (consumeOpt(parser, context | 32768, 18)) {
8137
- params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos));
8128
+ params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
8138
8129
  }
8139
8130
  destructible |= parser.assignable;
8140
8131
  consume(parser, context, 16);
@@ -8229,7 +8220,7 @@ function parseClassDeclaration(parser, context, scope, flags, start, line, colum
8229
8220
  }
8230
8221
  }
8231
8222
  }
8232
- id = parseIdentifier(parser, context, 0);
8223
+ id = parseIdentifier(parser, context);
8233
8224
  }
8234
8225
  else {
8235
8226
  if ((flags & 1) === 0)
@@ -8276,7 +8267,7 @@ function parseClassExpression(parser, context, inGroup, start, line, column) {
8276
8267
  if ((parser.token & 537079808) === 537079808) {
8277
8268
  report(parser, 116);
8278
8269
  }
8279
- id = parseIdentifier(parser, context, 0);
8270
+ id = parseIdentifier(parser, context);
8280
8271
  }
8281
8272
  let inheritedContext = context;
8282
8273
  if (consumeOpt(parser, context | 32768, 20567)) {
@@ -8314,7 +8305,7 @@ function parseDecorators(parser, context) {
8314
8305
  }
8315
8306
  function parseDecoratorList(parser, context, start, line, column) {
8316
8307
  nextToken(parser, context | 32768);
8317
- let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column);
8308
+ let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
8318
8309
  expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
8319
8310
  return finishNode(parser, context, start, line, column, {
8320
8311
  type: 'Decorator',
@@ -8357,7 +8348,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8357
8348
  let key = null;
8358
8349
  const { token, tokenPos, linePos, colPos } = parser;
8359
8350
  if (token & (143360 | 36864)) {
8360
- key = parseIdentifier(parser, context, 0);
8351
+ key = parseIdentifier(parser, context);
8361
8352
  switch (token) {
8362
8353
  case 36972:
8363
8354
  if (!isStatic &&
@@ -8415,7 +8406,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8415
8406
  return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
8416
8407
  }
8417
8408
  else if (token === 122) {
8418
- key = parseIdentifier(parser, context, 0);
8409
+ key = parseIdentifier(parser, context);
8419
8410
  if (parser.token !== 67174411)
8420
8411
  report(parser, 28, KeywordDescTable[parser.token & 255]);
8421
8412
  }
@@ -8424,7 +8415,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8424
8415
  }
8425
8416
  if (kind & (8 | 16 | 768)) {
8426
8417
  if (parser.token & 143360) {
8427
- key = parseIdentifier(parser, context, 0);
8418
+ key = parseIdentifier(parser, context);
8428
8419
  }
8429
8420
  else if ((parser.token & 134217728) === 134217728) {
8430
8421
  key = parseLiteral(parser, context);
@@ -8434,7 +8425,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8434
8425
  key = parseComputedPropertyName(parser, context, 0);
8435
8426
  }
8436
8427
  else if (parser.token === 122) {
8437
- key = parseIdentifier(parser, context, 0);
8428
+ key = parseIdentifier(parser, context);
8438
8429
  }
8439
8430
  else if (context & 1 && parser.token === 131) {
8440
8431
  kind |= 4096;
@@ -8529,7 +8520,7 @@ function parsePropertyDefinition(parser, context, key, state, decorators, start,
8529
8520
  ((context | modifierFlags) ^ modifierFlags) |
8530
8521
  ((state & 88) << 18) |
8531
8522
  100925440;
8532
- value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);
8523
+ value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
8533
8524
  if ((parser.token & 1073741824) !== 1073741824 ||
8534
8525
  (parser.token & 4194304) === 4194304) {
8535
8526
  value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
@@ -8737,7 +8728,7 @@ function parseJSXAttributes(parser, context) {
8737
8728
  function parseJSXSpreadAttribute(parser, context, start, line, column) {
8738
8729
  nextToken(parser, context);
8739
8730
  consume(parser, context, 14);
8740
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8731
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8741
8732
  consume(parser, context, 1074790415);
8742
8733
  return finishNode(parser, context, start, line, column, {
8743
8734
  type: 'JSXSpreadAttribute',
@@ -8797,7 +8788,7 @@ function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start,
8797
8788
  expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
8798
8789
  }
8799
8790
  else {
8800
- expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8791
+ expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8801
8792
  }
8802
8793
  if (inJSXChild) {
8803
8794
  consume(parser, context, 1074790415);
@@ -8812,7 +8803,7 @@ function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start,
8812
8803
  }
8813
8804
  function parseJSXSpreadChild(parser, context, start, line, column) {
8814
8805
  consume(parser, context, 14);
8815
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8806
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8816
8807
  consume(parser, context, 1074790415);
8817
8808
  return finishNode(parser, context, start, line, column, {
8818
8809
  type: 'JSXSpreadChild',
@@ -8840,7 +8831,7 @@ var estree = /*#__PURE__*/Object.freeze({
8840
8831
  __proto__: null
8841
8832
  });
8842
8833
 
8843
- var version$1 = "4.4.3";
8834
+ var version$1 = "4.4.4";
8844
8835
 
8845
8836
  const version = version$1;
8846
8837
  function parseScript(source, options) {