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.
@@ -1528,7 +1528,7 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
1528
1528
  return 122;
1529
1529
  }
1530
1530
  if ((token & 20480) === 20480) {
1531
- if (context & 1073741824 && (context & 8192) === 0) {
1531
+ if (context & 268435456 && (context & 8192) === 0) {
1532
1532
  return token;
1533
1533
  }
1534
1534
  else {
@@ -1537,12 +1537,12 @@ function scanIdentifierSlowCase(parser, context, hasEscape, isValidAsKeyword) {
1537
1537
  }
1538
1538
  return 143483;
1539
1539
  }
1540
- if (context & 1073741824 &&
1540
+ if (context & 268435456 &&
1541
1541
  (context & 8192) === 0 &&
1542
1542
  (token & 20480) === 20480)
1543
1543
  return token;
1544
1544
  if (token === 241773) {
1545
- return context & 1073741824
1545
+ return context & 268435456
1546
1546
  ? 143483
1547
1547
  : context & 2097152
1548
1548
  ? 121
@@ -4361,10 +4361,9 @@ function scanJSXIdentifier(parser) {
4361
4361
  return parser.token;
4362
4362
  }
4363
4363
 
4364
- function matchOrInsertSemicolon(parser, context, specDeviation) {
4364
+ function matchOrInsertSemicolon(parser, context) {
4365
4365
  if ((parser.flags & 1) === 0 &&
4366
- (parser.token & 1048576) !== 1048576 &&
4367
- !specDeviation) {
4366
+ (parser.token & 1048576) !== 1048576) {
4368
4367
  report(parser, 28, KeywordDescTable[parser.token & 255]);
4369
4368
  }
4370
4369
  if (!consumeOpt(parser, context, 1074790417)) {
@@ -4756,7 +4755,7 @@ function parseSource(source, options, context) {
4756
4755
  if (options.ranges)
4757
4756
  context |= 2;
4758
4757
  if (options.uniqueKeyInPattern)
4759
- context |= -2147483648;
4758
+ context |= 536870912;
4760
4759
  if (options.lexical)
4761
4760
  context |= 64;
4762
4761
  if (options.webcompat)
@@ -4773,10 +4772,6 @@ function parseSource(source, options, context) {
4773
4772
  context |= 1024;
4774
4773
  if (options.jsx)
4775
4774
  context |= 16;
4776
- if (options.identifierPattern)
4777
- context |= 268435456;
4778
- if (options.specDeviation)
4779
- context |= 536870912;
4780
4775
  if (options.source)
4781
4776
  sourceFile = options.source;
4782
4777
  if (options.onComment != null) {
@@ -4828,7 +4823,7 @@ function parseSource(source, options, context) {
4828
4823
  return node;
4829
4824
  }
4830
4825
  function parseStatementList(parser, context, scope) {
4831
- nextToken(parser, context | 32768 | 1073741824);
4826
+ nextToken(parser, context | 32768 | 268435456);
4832
4827
  const statements = [];
4833
4828
  while (parser.token === 134283267) {
4834
4829
  const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
@@ -4961,14 +4956,14 @@ function parseExpressionOrLabelledStatement(parser, context, scope, origin, labe
4961
4956
  let expr;
4962
4957
  switch (token) {
4963
4958
  case 241739:
4964
- expr = parseIdentifier(parser, context, 0);
4959
+ expr = parseIdentifier(parser, context);
4965
4960
  if (context & 1024)
4966
4961
  report(parser, 83);
4967
4962
  if (parser.token === 69271571)
4968
4963
  report(parser, 82);
4969
4964
  break;
4970
4965
  default:
4971
- expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4966
+ expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4972
4967
  }
4973
4968
  if (token & 143360 && parser.token === 21) {
4974
4969
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
@@ -5030,7 +5025,7 @@ function parseLabelledStatement(parser, context, scope, origin, labels, value, e
5030
5025
  }
5031
5026
  function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
5032
5027
  const { token, tokenValue } = parser;
5033
- let expr = parseIdentifier(parser, context, 0);
5028
+ let expr = parseIdentifier(parser, context);
5034
5029
  if (parser.token === 21) {
5035
5030
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
5036
5031
  }
@@ -5198,7 +5193,7 @@ function parseContinueStatement(parser, context, labels, start, line, column) {
5198
5193
  let label = null;
5199
5194
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5200
5195
  const { tokenValue } = parser;
5201
- label = parseIdentifier(parser, context | 32768, 0);
5196
+ label = parseIdentifier(parser, context | 32768);
5202
5197
  if (!isValidLabel(parser, labels, tokenValue, 1))
5203
5198
  report(parser, 135, tokenValue);
5204
5199
  }
@@ -5213,7 +5208,7 @@ function parseBreakStatement(parser, context, labels, start, line, column) {
5213
5208
  let label = null;
5214
5209
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5215
5210
  const { tokenValue } = parser;
5216
- label = parseIdentifier(parser, context | 32768, 0);
5211
+ label = parseIdentifier(parser, context | 32768);
5217
5212
  if (!isValidLabel(parser, labels, tokenValue, 0))
5218
5213
  report(parser, 135, tokenValue);
5219
5214
  }
@@ -5324,7 +5319,7 @@ function parseDoWhileStatement(parser, context, scope, labels, start, line, colu
5324
5319
  }
5325
5320
  function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
5326
5321
  const { token, tokenValue } = parser;
5327
- let expr = parseIdentifier(parser, context, 0);
5322
+ let expr = parseIdentifier(parser, context);
5328
5323
  if (parser.token & (143360 | 2097152)) {
5329
5324
  const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
5330
5325
  matchOrInsertSemicolon(parser, context | 32768);
@@ -5394,7 +5389,7 @@ function parseVariableDeclaration(parser, context, scope, kind, origin) {
5394
5389
  const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
5395
5390
  if (parser.token === 1077936157) {
5396
5391
  nextToken(parser, context | 32768);
5397
- init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5392
+ init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5398
5393
  if (origin & 32 || (token & 2097152) === 0) {
5399
5394
  if (parser.token === 274549 ||
5400
5395
  (parser.token === 8738868 &&
@@ -5429,7 +5424,7 @@ function parseForStatement(parser, context, scope, labels, start, line, column)
5429
5424
  const { token, tokenPos, linePos, colPos } = parser;
5430
5425
  if (isVarDecl) {
5431
5426
  if (token === 241739) {
5432
- init = parseIdentifier(parser, context, 0);
5427
+ init = parseIdentifier(parser, context);
5433
5428
  if (parser.token & (143360 | 2097152)) {
5434
5429
  if (parser.token === 8738868) {
5435
5430
  if (context & 1024)
@@ -5497,7 +5492,7 @@ function parseForStatement(parser, context, scope, labels, start, line, column)
5497
5492
  report(parser, 78, forAwait ? 'await' : 'of');
5498
5493
  reinterpretToPattern(parser, init);
5499
5494
  nextToken(parser, context | 32768);
5500
- right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5495
+ right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5501
5496
  consume(parser, context | 32768, 16);
5502
5497
  const body = parseIterationStatementBody(parser, context, scope, labels);
5503
5498
  return finishNode(parser, context, start, line, column, {
@@ -5557,7 +5552,7 @@ function parseRestrictedIdentifier(parser, context, scope) {
5557
5552
  report(parser, 116);
5558
5553
  if (scope)
5559
5554
  addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
5560
- return parseIdentifier(parser, context, 0);
5555
+ return parseIdentifier(parser, context);
5561
5556
  }
5562
5557
  function parseImportDeclaration(parser, context, scope) {
5563
5558
  const start = parser.tokenPos;
@@ -5630,7 +5625,9 @@ function parseImportNamespaceSpecifier(parser, context, scope) {
5630
5625
  });
5631
5626
  }
5632
5627
  function parseModuleSpecifier(parser, context) {
5633
- consumeOpt(parser, context, 12404);
5628
+ if (!consumeOpt(parser, context, 12404)) {
5629
+ report(parser, 28, KeywordDescTable[parser.token & 255]);
5630
+ }
5634
5631
  if (parser.token !== 134283267)
5635
5632
  report(parser, 103, 'Import');
5636
5633
  return parseLiteral(parser, context);
@@ -5639,7 +5636,7 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
5639
5636
  nextToken(parser, context);
5640
5637
  while (parser.token & 143360) {
5641
5638
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
5642
- const imported = parseIdentifier(parser, context, 0);
5639
+ const imported = parseIdentifier(parser, context);
5643
5640
  let local;
5644
5641
  if (consumeOpt(parser, context, 77934)) {
5645
5642
  if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
@@ -5649,7 +5646,7 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
5649
5646
  validateBindingIdentifier(parser, context, 16, parser.token, 0);
5650
5647
  }
5651
5648
  tokenValue = parser.tokenValue;
5652
- local = parseIdentifier(parser, context, 0);
5649
+ local = parseIdentifier(parser, context);
5653
5650
  }
5654
5651
  else {
5655
5652
  validateBindingIdentifier(parser, context, 16, token, 0);
@@ -5709,7 +5706,7 @@ function parseExportDeclaration(parser, context, scope) {
5709
5706
  break;
5710
5707
  case 209007:
5711
5708
  const { tokenPos, linePos, colPos } = parser;
5712
- declaration = parseIdentifier(parser, context, 0);
5709
+ declaration = parseIdentifier(parser, context);
5713
5710
  const { flags } = parser;
5714
5711
  if ((flags & 1) === 0) {
5715
5712
  if (parser.token === 86106) {
@@ -5724,14 +5721,14 @@ function parseExportDeclaration(parser, context, scope) {
5724
5721
  else if (parser.token & 143360) {
5725
5722
  if (scope)
5726
5723
  scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
5727
- declaration = parseIdentifier(parser, context, 0);
5724
+ declaration = parseIdentifier(parser, context);
5728
5725
  declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
5729
5726
  }
5730
5727
  }
5731
5728
  }
5732
5729
  break;
5733
5730
  default:
5734
- declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5731
+ declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5735
5732
  matchOrInsertSemicolon(parser, context | 32768);
5736
5733
  }
5737
5734
  if (scope)
@@ -5749,7 +5746,7 @@ function parseExportDeclaration(parser, context, scope) {
5749
5746
  if (isNamedDeclaration) {
5750
5747
  if (scope)
5751
5748
  declareUnboundVariable(parser, parser.tokenValue);
5752
- exported = parseIdentifier(parser, context, 0);
5749
+ exported = parseIdentifier(parser, context);
5753
5750
  }
5754
5751
  consume(parser, context, 12404);
5755
5752
  if (parser.token !== 134283267)
@@ -5768,7 +5765,7 @@ function parseExportDeclaration(parser, context, scope) {
5768
5765
  const tmpExportedBindings = [];
5769
5766
  while (parser.token & 143360) {
5770
5767
  const { tokenPos, tokenValue, linePos, colPos } = parser;
5771
- const local = parseIdentifier(parser, context, 0);
5768
+ const local = parseIdentifier(parser, context);
5772
5769
  let exported;
5773
5770
  if (parser.token === 77934) {
5774
5771
  nextToken(parser, context);
@@ -5779,7 +5776,7 @@ function parseExportDeclaration(parser, context, scope) {
5779
5776
  tmpExportedNames.push(parser.tokenValue);
5780
5777
  tmpExportedBindings.push(tokenValue);
5781
5778
  }
5782
- exported = parseIdentifier(parser, context, 0);
5779
+ exported = parseIdentifier(parser, context);
5783
5780
  }
5784
5781
  else {
5785
5782
  if (scope) {
@@ -5853,15 +5850,15 @@ function parseExportDeclaration(parser, context, scope) {
5853
5850
  source
5854
5851
  });
5855
5852
  }
5856
- function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) {
5857
- let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column);
5853
+ function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
5854
+ let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
5858
5855
  expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
5859
5856
  return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
5860
5857
  }
5861
5858
  function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
5862
5859
  const expressions = [expr];
5863
5860
  while (consumeOpt(parser, context | 32768, 18)) {
5864
- expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5861
+ expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5865
5862
  }
5866
5863
  return finishNode(parser, context, start, line, column, {
5867
5864
  type: 'SequenceExpression',
@@ -5869,7 +5866,7 @@ function parseSequenceExpression(parser, context, inGroup, start, line, column,
5869
5866
  });
5870
5867
  }
5871
5868
  function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
5872
- const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column);
5869
+ const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
5873
5870
  return parser.token === 18
5874
5871
  ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
5875
5872
  : expr;
@@ -5884,7 +5881,7 @@ function parseAssignmentExpression(parser, context, inGroup, isPattern, start, l
5884
5881
  reinterpretToPattern(parser, left);
5885
5882
  }
5886
5883
  nextToken(parser, context | 32768);
5887
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5884
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5888
5885
  parser.assignable = 2;
5889
5886
  return finishNode(parser, context, start, line, column, isPattern
5890
5887
  ? {
@@ -5910,7 +5907,7 @@ function parseAssignmentExpression(parser, context, inGroup, isPattern, start, l
5910
5907
  function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
5911
5908
  const { token } = parser;
5912
5909
  nextToken(parser, context | 32768);
5913
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5910
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5914
5911
  left = finishNode(parser, context, start, line, column, isPattern
5915
5912
  ? {
5916
5913
  type: 'AssignmentPattern',
@@ -5927,10 +5924,10 @@ function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern,
5927
5924
  return left;
5928
5925
  }
5929
5926
  function parseConditionalExpression(parser, context, test, start, line, column) {
5930
- const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5927
+ const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5931
5928
  consume(parser, context | 32768, 21);
5932
5929
  parser.assignable = 1;
5933
- const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5930
+ const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5934
5931
  parser.assignable = 2;
5935
5932
  return finishNode(parser, context, start, line, column, {
5936
5933
  type: 'ConditionalExpression',
@@ -5988,9 +5985,9 @@ function parseUnaryExpression(parser, context, isLHS, start, line, column, inGro
5988
5985
  prefix: true
5989
5986
  });
5990
5987
  }
5991
- function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) {
5988
+ function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
5992
5989
  const { token } = parser;
5993
- const expr = parseIdentifier(parser, context, isPattern);
5990
+ const expr = parseIdentifier(parser, context);
5994
5991
  const { flags } = parser;
5995
5992
  if ((flags & 1) === 0) {
5996
5993
  if (parser.token === 86106) {
@@ -6030,7 +6027,7 @@ function parseYieldExpression(parser, context, inGroup, canAssign, start, line,
6030
6027
  if ((parser.flags & 1) === 0) {
6031
6028
  delegate = consumeOpt(parser, context | 32768, 8457014);
6032
6029
  if (parser.token & (12288 | 65536) || delegate) {
6033
- argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6030
+ argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6034
6031
  }
6035
6032
  }
6036
6033
  parser.assignable = 2;
@@ -6155,7 +6152,7 @@ function parseSuperExpression(parser, context, start, line, column) {
6155
6152
  return finishNode(parser, context, start, line, column, { type: 'Super' });
6156
6153
  }
6157
6154
  function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
6158
- const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column);
6155
+ const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
6159
6156
  return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
6160
6157
  }
6161
6158
  function parseUpdateExpression(parser, context, expr, start, line, column) {
@@ -6179,7 +6176,7 @@ function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain,
6179
6176
  context = (context | 134217728) ^ 134217728;
6180
6177
  switch (parser.token) {
6181
6178
  case 67108877: {
6182
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6179
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6183
6180
  if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
6184
6181
  report(parser, 27);
6185
6182
  }
@@ -6238,7 +6235,7 @@ function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain,
6238
6235
  break;
6239
6236
  }
6240
6237
  case 67108991: {
6241
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6238
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6242
6239
  parser.flags |= 2048;
6243
6240
  parser.assignable = 2;
6244
6241
  expr = parseOptionalChain(parser, context, expr, start, line, column);
@@ -6304,7 +6301,7 @@ function parseOptionalChain(parser, context, expr, start, line, column) {
6304
6301
  else {
6305
6302
  if ((parser.token & (143360 | 4096)) === 0)
6306
6303
  report(parser, 155);
6307
- const property = parseIdentifier(parser, context, 0);
6304
+ const property = parseIdentifier(parser, context);
6308
6305
  parser.assignable = 2;
6309
6306
  node = finishNode(parser, context, start, line, column, {
6310
6307
  type: 'MemberExpression',
@@ -6325,7 +6322,7 @@ function parsePropertyOrPrivatePropertyName(parser, context) {
6325
6322
  }
6326
6323
  return context & 1 && parser.token === 131
6327
6324
  ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
6328
- : parseIdentifier(parser, context, 0);
6325
+ : parseIdentifier(parser, context);
6329
6326
  }
6330
6327
  function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
6331
6328
  if (inNew)
@@ -6346,7 +6343,7 @@ function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, lin
6346
6343
  prefix: true
6347
6344
  });
6348
6345
  }
6349
- function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) {
6346
+ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
6350
6347
  if ((parser.token & 143360) === 143360) {
6351
6348
  switch (parser.token) {
6352
6349
  case 209008:
@@ -6354,10 +6351,10 @@ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPatte
6354
6351
  case 241773:
6355
6352
  return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
6356
6353
  case 209007:
6357
- return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column);
6354
+ return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
6358
6355
  }
6359
6356
  const { token, tokenValue } = parser;
6360
- const expr = parseIdentifier(parser, context | 65536, isPattern);
6357
+ const expr = parseIdentifier(parser, context | 65536);
6361
6358
  if (parser.token === 10) {
6362
6359
  if (!isLHS)
6363
6360
  report(parser, 0);
@@ -6436,7 +6433,7 @@ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPatte
6436
6433
  }
6437
6434
  }
6438
6435
  function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
6439
- let expr = parseIdentifier(parser, context, 0);
6436
+ let expr = parseIdentifier(parser, context);
6440
6437
  if (parser.token === 67108877) {
6441
6438
  return parseImportMetaExpression(parser, context, expr, start, line, column);
6442
6439
  }
@@ -6456,14 +6453,14 @@ function parseImportMetaExpression(parser, context, meta, start, line, column) {
6456
6453
  return finishNode(parser, context, start, line, column, {
6457
6454
  type: 'MetaProperty',
6458
6455
  meta,
6459
- property: parseIdentifier(parser, context, 0)
6456
+ property: parseIdentifier(parser, context)
6460
6457
  });
6461
6458
  }
6462
6459
  function parseImportExpression(parser, context, inGroup, start, line, column) {
6463
6460
  consume(parser, context | 32768, 67174411);
6464
6461
  if (parser.token === 14)
6465
6462
  report(parser, 139);
6466
- const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6463
+ const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6467
6464
  consume(parser, context, 16);
6468
6465
  return finishNode(parser, context, start, line, column, {
6469
6466
  type: 'ImportExpression',
@@ -6552,7 +6549,7 @@ function parseTemplateElement(parser, context, cooked, raw, start, line, col, ta
6552
6549
  function parseSpreadElement(parser, context, start, line, column) {
6553
6550
  context = (context | 134217728) ^ 134217728;
6554
6551
  consume(parser, context | 32768, 14);
6555
- const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6552
+ const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6556
6553
  parser.assignable = 1;
6557
6554
  return finishNode(parser, context, start, line, column, {
6558
6555
  type: 'SpreadElement',
@@ -6571,7 +6568,7 @@ function parseArguments(parser, context, inGroup) {
6571
6568
  args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
6572
6569
  }
6573
6570
  else {
6574
- args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6571
+ args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6575
6572
  }
6576
6573
  if (parser.token !== 18)
6577
6574
  break;
@@ -6582,19 +6579,13 @@ function parseArguments(parser, context, inGroup) {
6582
6579
  consume(parser, context, 16);
6583
6580
  return args;
6584
6581
  }
6585
- function parseIdentifier(parser, context, isPattern) {
6582
+ function parseIdentifier(parser, context) {
6586
6583
  const { tokenValue, tokenPos, linePos, colPos } = parser;
6587
6584
  nextToken(parser, context);
6588
- return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456
6589
- ? {
6590
- type: 'Identifier',
6591
- name: tokenValue,
6592
- pattern: isPattern === 1
6593
- }
6594
- : {
6595
- type: 'Identifier',
6596
- name: tokenValue
6597
- });
6585
+ return finishNode(parser, context, tokenPos, linePos, colPos, {
6586
+ type: 'Identifier',
6587
+ name: tokenValue
6588
+ });
6598
6589
  }
6599
6590
  function parseLiteral(parser, context) {
6600
6591
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
@@ -6669,7 +6660,7 @@ function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flag
6669
6660
  }
6670
6661
  firstRestricted = parser.token;
6671
6662
  if (parser.token & 143360) {
6672
- id = parseIdentifier(parser, context, 0);
6663
+ id = parseIdentifier(parser, context);
6673
6664
  }
6674
6665
  else {
6675
6666
  report(parser, 28, KeywordDescTable[parser.token & 255]);
@@ -6679,7 +6670,7 @@ function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flag
6679
6670
  ((context | 32243712) ^ 32243712) |
6680
6671
  67108864 |
6681
6672
  ((isAsync * 2 + isGenerator) << 21) |
6682
- (isGenerator ? 0 : 1073741824);
6673
+ (isGenerator ? 0 : 268435456);
6683
6674
  if (scope)
6684
6675
  functionScope = addChildScope(functionScope, 512);
6685
6676
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
@@ -6706,13 +6697,13 @@ function parseFunctionExpression(parser, context, isAsync, inGroup, start, line,
6706
6697
  if (scope)
6707
6698
  scope = addChildScope(scope, 256);
6708
6699
  firstRestricted = parser.token;
6709
- id = parseIdentifier(parser, context, 0);
6700
+ id = parseIdentifier(parser, context);
6710
6701
  }
6711
6702
  context =
6712
6703
  ((context | 32243712) ^ 32243712) |
6713
6704
  67108864 |
6714
6705
  generatorAndAsyncFlags |
6715
- (isGenerator ? 0 : 1073741824);
6706
+ (isGenerator ? 0 : 268435456);
6716
6707
  if (scope)
6717
6708
  scope = addChildScope(scope, 512);
6718
6709
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
@@ -6750,14 +6741,14 @@ function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer,
6750
6741
  let left;
6751
6742
  const { token, tokenPos, linePos, colPos, tokenValue } = parser;
6752
6743
  if (token & 143360) {
6753
- left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6744
+ left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6754
6745
  if (parser.token === 1077936157) {
6755
6746
  if (parser.assignable & 2)
6756
6747
  report(parser, 24);
6757
6748
  nextToken(parser, context | 32768);
6758
6749
  if (scope)
6759
6750
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
6760
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6751
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6761
6752
  left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
6762
6753
  ? {
6763
6754
  type: 'AssignmentPattern',
@@ -6896,7 +6887,7 @@ function parseArrayOrObjectAssignmentPattern(parser, context, destructible, inGr
6896
6887
  if (!isPattern)
6897
6888
  reinterpretToPattern(parser, node);
6898
6889
  const { tokenPos, linePos, colPos } = parser;
6899
- const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos);
6890
+ const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
6900
6891
  parser.destructible =
6901
6892
  ((destructible | 64 | 8) ^
6902
6893
  (8 | 64)) |
@@ -6922,7 +6913,7 @@ function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, or
6922
6913
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
6923
6914
  if (token & (4096 | 143360)) {
6924
6915
  parser.assignable = 1;
6925
- argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6916
+ argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6926
6917
  token = parser.token;
6927
6918
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6928
6919
  if (parser.token !== 18 && parser.token !== closingToken) {
@@ -7017,7 +7008,7 @@ function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, or
7017
7008
  if (destructible & 16)
7018
7009
  report(parser, 24);
7019
7010
  reinterpretToPattern(parser, argument);
7020
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7011
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7021
7012
  argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
7022
7013
  ? {
7023
7014
  type: 'AssignmentPattern',
@@ -7089,7 +7080,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7089
7080
  let value;
7090
7081
  const t = parser.token;
7091
7082
  if (parser.token & (143360 | 4096) || parser.token === 121) {
7092
- key = parseIdentifier(parser, context, 0);
7083
+ key = parseIdentifier(parser, context);
7093
7084
  if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
7094
7085
  state |= 4;
7095
7086
  if (context & 1024 && (token & 537079808) === 537079808) {
@@ -7102,7 +7093,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7102
7093
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
7103
7094
  if (consumeOpt(parser, context | 32768, 1077936157)) {
7104
7095
  destructible |= 8;
7105
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7096
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7106
7097
  destructible |=
7107
7098
  parser.destructible & 256
7108
7099
  ? 256
@@ -7111,7 +7102,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7111
7102
  : 0;
7112
7103
  value = finishNode(parser, context, tokenPos, linePos, colPos, {
7113
7104
  type: 'AssignmentPattern',
7114
- left: context & -2147483648 ? Object.assign({}, key) : key,
7105
+ left: context & 536870912 ? Object.assign({}, key) : key,
7115
7106
  right
7116
7107
  });
7117
7108
  }
@@ -7119,7 +7110,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7119
7110
  destructible |=
7120
7111
  (token === 209008 ? 128 : 0) |
7121
7112
  (token === 121 ? 16 : 0);
7122
- value = context & -2147483648 ? Object.assign({}, key) : key;
7113
+ value = context & 536870912 ? Object.assign({}, key) : key;
7123
7114
  }
7124
7115
  }
7125
7116
  else if (consumeOpt(parser, context | 32768, 21)) {
@@ -7130,7 +7121,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7130
7121
  const tokenAfterColon = parser.token;
7131
7122
  const valueAfterColon = parser.tokenValue;
7132
7123
  destructible |= t === 121 ? 16 : 0;
7133
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7124
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7134
7125
  const { token } = parser;
7135
7126
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7136
7127
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7251,7 +7242,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7251
7242
  report(parser, 129);
7252
7243
  state |= 16;
7253
7244
  }
7254
- key = parseIdentifier(parser, context, 0);
7245
+ key = parseIdentifier(parser, context);
7255
7246
  state |=
7256
7247
  token === 12402
7257
7248
  ? 256
@@ -7280,7 +7271,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7280
7271
  state |=
7281
7272
  8 | 1 | (token === 209007 ? 16 : 0);
7282
7273
  if (parser.token & 143360) {
7283
- key = parseIdentifier(parser, context, 0);
7274
+ key = parseIdentifier(parser, context);
7284
7275
  }
7285
7276
  else if ((parser.token & 134217728) === 134217728) {
7286
7277
  key = parseLiteral(parser, context);
@@ -7320,7 +7311,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7320
7311
  if (tokenValue === '__proto__')
7321
7312
  prototypeCount++;
7322
7313
  if (parser.token & 143360) {
7323
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7314
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7324
7315
  const { token, tokenValue: valueAfterColon } = parser;
7325
7316
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7326
7317
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7421,7 +7412,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7421
7412
  nextToken(parser, context | 32768);
7422
7413
  const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
7423
7414
  if (parser.token & 143360) {
7424
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7415
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7425
7416
  const { token } = parser;
7426
7417
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7427
7418
  if ((parser.token & 4194304) === 4194304) {
@@ -7527,7 +7518,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, skipInitializer, in
7527
7518
  state |= 8;
7528
7519
  if (parser.token & 143360) {
7529
7520
  const { token, line, index } = parser;
7530
- key = parseIdentifier(parser, context, 0);
7521
+ key = parseIdentifier(parser, context);
7531
7522
  state |= 1;
7532
7523
  if (parser.token === 67174411) {
7533
7524
  destructible |= 16;
@@ -7641,7 +7632,7 @@ function parseMethodFormals(parser, context, scope, kind, type, inGroup) {
7641
7632
  if (parser.token === 1077936157) {
7642
7633
  nextToken(parser, context | 32768);
7643
7634
  isSimpleParameterList = 1;
7644
- const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7635
+ const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7645
7636
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7646
7637
  type: 'AssignmentPattern',
7647
7638
  left: left,
@@ -7668,14 +7659,14 @@ function parseMethodFormals(parser, context, scope, kind, type, inGroup) {
7668
7659
  }
7669
7660
  function parseComputedPropertyName(parser, context, inGroup) {
7670
7661
  nextToken(parser, context | 32768);
7671
- const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7662
+ const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7672
7663
  consume(parser, context, 20);
7673
7664
  return key;
7674
7665
  }
7675
7666
  function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
7676
7667
  parser.flags = (parser.flags | 128) ^ 128;
7677
7668
  const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
7678
- nextToken(parser, context | 32768 | 1073741824);
7669
+ nextToken(parser, context | 32768 | 268435456);
7679
7670
  const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
7680
7671
  context = (context | 134217728) ^ 134217728;
7681
7672
  if (consumeOpt(parser, context, 16)) {
@@ -7694,7 +7685,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7694
7685
  if (token & (143360 | 4096)) {
7695
7686
  if (scope)
7696
7687
  addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
7697
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
7688
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
7698
7689
  if (parser.token === 16 || parser.token === 18) {
7699
7690
  if (parser.assignable & 2) {
7700
7691
  destructible |= 16;
@@ -7721,8 +7712,8 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7721
7712
  else if ((token & 2097152) === 2097152) {
7722
7713
  expr =
7723
7714
  token === 2162700
7724
- ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7725
- : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7715
+ ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7716
+ : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7726
7717
  destructible |= parser.destructible;
7727
7718
  isSimpleParameterList = 1;
7728
7719
  parser.assignable = 2;
@@ -7749,7 +7740,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7749
7740
  }
7750
7741
  else {
7751
7742
  destructible |= 16;
7752
- expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
7743
+ expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
7753
7744
  if (isSequence && (parser.token === 16 || parser.token === 18)) {
7754
7745
  expressions.push(expr);
7755
7746
  }
@@ -7761,7 +7752,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7761
7752
  }
7762
7753
  if (isSequence) {
7763
7754
  while (consumeOpt(parser, context | 32768, 18)) {
7764
- expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));
7755
+ expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
7765
7756
  }
7766
7757
  parser.assignable = 2;
7767
7758
  expr = finishNode(parser, context, iStart, lStart, cStart, {
@@ -7828,7 +7819,7 @@ function parseParenthesizedExpression(parser, context, canAssign, kind, origin,
7828
7819
  }
7829
7820
  function parseIdentifierOrArrow(parser, context, start, line, column) {
7830
7821
  const { tokenValue } = parser;
7831
- const expr = parseIdentifier(parser, context, 0);
7822
+ const expr = parseIdentifier(parser, context);
7832
7823
  parser.assignable = 1;
7833
7824
  if (parser.token === 10) {
7834
7825
  let scope = void 0;
@@ -7866,7 +7857,7 @@ function parseArrowFunctionExpression(parser, context, scope, params, isAsync, s
7866
7857
  reportScopeError(scope.scopeError);
7867
7858
  }
7868
7859
  if (expression) {
7869
- body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
7860
+ body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7870
7861
  }
7871
7862
  else {
7872
7863
  if (scope)
@@ -7947,7 +7938,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind
7947
7938
  if (parser.token === 1077936157) {
7948
7939
  nextToken(parser, context | 32768);
7949
7940
  isSimpleParameterList = 1;
7950
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7941
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7951
7942
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7952
7943
  type: 'AssignmentPattern',
7953
7944
  left,
@@ -7973,7 +7964,7 @@ function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line,
7973
7964
  const { token } = parser;
7974
7965
  if (token & 67108864) {
7975
7966
  if (token === 67108877) {
7976
- nextToken(parser, context | 1073741824);
7967
+ nextToken(parser, context | 268435456);
7977
7968
  parser.assignable = 1;
7978
7969
  const property = parsePropertyOrPrivatePropertyName(parser, context);
7979
7970
  return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
@@ -8010,7 +8001,7 @@ function parseMembeExpressionNoCall(parser, context, expr, inGroup, start, line,
8010
8001
  return expr;
8011
8002
  }
8012
8003
  function parseNewExpression(parser, context, inGroup, start, line, column) {
8013
- const id = parseIdentifier(parser, context | 32768, 0);
8004
+ const id = parseIdentifier(parser, context | 32768);
8014
8005
  const { tokenPos, linePos, colPos } = parser;
8015
8006
  if (consumeOpt(parser, context, 67108877)) {
8016
8007
  if (context & 67108864 && parser.token === 143494) {
@@ -8023,7 +8014,7 @@ function parseNewExpression(parser, context, inGroup, start, line, column) {
8023
8014
  if ((parser.token & 16842752) === 16842752) {
8024
8015
  report(parser, 63, KeywordDescTable[parser.token & 255]);
8025
8016
  }
8026
- const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);
8017
+ const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
8027
8018
  context = (context | 134217728) ^ 134217728;
8028
8019
  if (parser.token === 67108991)
8029
8020
  report(parser, 163);
@@ -8036,7 +8027,7 @@ function parseNewExpression(parser, context, inGroup, start, line, column) {
8036
8027
  });
8037
8028
  }
8038
8029
  function parseMetaProperty(parser, context, meta, start, line, column) {
8039
- const property = parseIdentifier(parser, context, 0);
8030
+ const property = parseIdentifier(parser, context);
8040
8031
  return finishNode(parser, context, start, line, column, {
8041
8032
  type: 'MetaProperty',
8042
8033
  meta,
@@ -8052,7 +8043,7 @@ function parseAsyncArrowAfterIdent(parser, context, canAssign, start, line, colu
8052
8043
  if ((parser.token & 537079808) === 537079808) {
8053
8044
  parser.flags |= 512;
8054
8045
  }
8055
- return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column);
8046
+ return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
8056
8047
  }
8057
8048
  function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
8058
8049
  nextToken(parser, context | 32768);
@@ -8082,7 +8073,7 @@ function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kin
8082
8073
  if (token & (143360 | 4096)) {
8083
8074
  if (scope)
8084
8075
  addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
8085
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
8076
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
8086
8077
  if (parser.token === 16 || parser.token === 18) {
8087
8078
  if (parser.assignable & 2) {
8088
8079
  destructible |= 16;
@@ -8134,11 +8125,11 @@ function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kin
8134
8125
  isSimpleParameterList = 1;
8135
8126
  }
8136
8127
  else {
8137
- expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8128
+ expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8138
8129
  destructible = parser.assignable;
8139
8130
  params.push(expr);
8140
8131
  while (consumeOpt(parser, context | 32768, 18)) {
8141
- params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos));
8132
+ params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
8142
8133
  }
8143
8134
  destructible |= parser.assignable;
8144
8135
  consume(parser, context, 16);
@@ -8233,7 +8224,7 @@ function parseClassDeclaration(parser, context, scope, flags, start, line, colum
8233
8224
  }
8234
8225
  }
8235
8226
  }
8236
- id = parseIdentifier(parser, context, 0);
8227
+ id = parseIdentifier(parser, context);
8237
8228
  }
8238
8229
  else {
8239
8230
  if ((flags & 1) === 0)
@@ -8280,7 +8271,7 @@ function parseClassExpression(parser, context, inGroup, start, line, column) {
8280
8271
  if ((parser.token & 537079808) === 537079808) {
8281
8272
  report(parser, 116);
8282
8273
  }
8283
- id = parseIdentifier(parser, context, 0);
8274
+ id = parseIdentifier(parser, context);
8284
8275
  }
8285
8276
  let inheritedContext = context;
8286
8277
  if (consumeOpt(parser, context | 32768, 20567)) {
@@ -8318,7 +8309,7 @@ function parseDecorators(parser, context) {
8318
8309
  }
8319
8310
  function parseDecoratorList(parser, context, start, line, column) {
8320
8311
  nextToken(parser, context | 32768);
8321
- let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column);
8312
+ let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
8322
8313
  expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
8323
8314
  return finishNode(parser, context, start, line, column, {
8324
8315
  type: 'Decorator',
@@ -8361,7 +8352,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8361
8352
  let key = null;
8362
8353
  const { token, tokenPos, linePos, colPos } = parser;
8363
8354
  if (token & (143360 | 36864)) {
8364
- key = parseIdentifier(parser, context, 0);
8355
+ key = parseIdentifier(parser, context);
8365
8356
  switch (token) {
8366
8357
  case 36972:
8367
8358
  if (!isStatic &&
@@ -8419,7 +8410,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8419
8410
  return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
8420
8411
  }
8421
8412
  else if (token === 122) {
8422
- key = parseIdentifier(parser, context, 0);
8413
+ key = parseIdentifier(parser, context);
8423
8414
  if (parser.token !== 67174411)
8424
8415
  report(parser, 28, KeywordDescTable[parser.token & 255]);
8425
8416
  }
@@ -8428,7 +8419,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8428
8419
  }
8429
8420
  if (kind & (8 | 16 | 768)) {
8430
8421
  if (parser.token & 143360) {
8431
- key = parseIdentifier(parser, context, 0);
8422
+ key = parseIdentifier(parser, context);
8432
8423
  }
8433
8424
  else if ((parser.token & 134217728) === 134217728) {
8434
8425
  key = parseLiteral(parser, context);
@@ -8438,7 +8429,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
8438
8429
  key = parseComputedPropertyName(parser, context, 0);
8439
8430
  }
8440
8431
  else if (parser.token === 122) {
8441
- key = parseIdentifier(parser, context, 0);
8432
+ key = parseIdentifier(parser, context);
8442
8433
  }
8443
8434
  else if (context & 1 && parser.token === 131) {
8444
8435
  kind |= 4096;
@@ -8533,7 +8524,7 @@ function parsePropertyDefinition(parser, context, key, state, decorators, start,
8533
8524
  ((context | modifierFlags) ^ modifierFlags) |
8534
8525
  ((state & 88) << 18) |
8535
8526
  100925440;
8536
- value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);
8527
+ value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
8537
8528
  if ((parser.token & 1073741824) !== 1073741824 ||
8538
8529
  (parser.token & 4194304) === 4194304) {
8539
8530
  value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
@@ -8741,7 +8732,7 @@ function parseJSXAttributes(parser, context) {
8741
8732
  function parseJSXSpreadAttribute(parser, context, start, line, column) {
8742
8733
  nextToken(parser, context);
8743
8734
  consume(parser, context, 14);
8744
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8735
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8745
8736
  consume(parser, context, 1074790415);
8746
8737
  return finishNode(parser, context, start, line, column, {
8747
8738
  type: 'JSXSpreadAttribute',
@@ -8801,7 +8792,7 @@ function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start,
8801
8792
  expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
8802
8793
  }
8803
8794
  else {
8804
- expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8795
+ expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8805
8796
  }
8806
8797
  if (inJSXChild) {
8807
8798
  consume(parser, context, 1074790415);
@@ -8816,7 +8807,7 @@ function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start,
8816
8807
  }
8817
8808
  function parseJSXSpreadChild(parser, context, start, line, column) {
8818
8809
  consume(parser, context, 14);
8819
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8810
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8820
8811
  consume(parser, context, 1074790415);
8821
8812
  return finishNode(parser, context, start, line, column, {
8822
8813
  type: 'JSXSpreadChild',
@@ -8844,7 +8835,7 @@ var estree = /*#__PURE__*/Object.freeze({
8844
8835
  __proto__: null
8845
8836
  });
8846
8837
 
8847
- var version$1 = "4.4.3";
8838
+ var version$1 = "4.4.4";
8848
8839
 
8849
8840
  const version = version$1;
8850
8841
  function parseScript(source, options) {