meriyah 4.4.2 → 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.
@@ -1527,7 +1527,7 @@ var meriyah = (function (exports) {
1527
1527
  return 122;
1528
1528
  }
1529
1529
  if ((token & 20480) === 20480) {
1530
- if (context & 1073741824 && (context & 8192) === 0) {
1530
+ if (context & 268435456 && (context & 8192) === 0) {
1531
1531
  return token;
1532
1532
  }
1533
1533
  else {
@@ -1536,12 +1536,12 @@ var meriyah = (function (exports) {
1536
1536
  }
1537
1537
  return 143483;
1538
1538
  }
1539
- if (context & 1073741824 &&
1539
+ if (context & 268435456 &&
1540
1540
  (context & 8192) === 0 &&
1541
1541
  (token & 20480) === 20480)
1542
1542
  return token;
1543
1543
  if (token === 241773) {
1544
- return context & 1073741824
1544
+ return context & 268435456
1545
1545
  ? 143483
1546
1546
  : context & 2097152
1547
1547
  ? 121
@@ -4360,10 +4360,9 @@ var meriyah = (function (exports) {
4360
4360
  return parser.token;
4361
4361
  }
4362
4362
 
4363
- function matchOrInsertSemicolon(parser, context, specDeviation) {
4363
+ function matchOrInsertSemicolon(parser, context) {
4364
4364
  if ((parser.flags & 1) === 0 &&
4365
- (parser.token & 1048576) !== 1048576 &&
4366
- !specDeviation) {
4365
+ (parser.token & 1048576) !== 1048576) {
4367
4366
  report(parser, 28, KeywordDescTable[parser.token & 255]);
4368
4367
  }
4369
4368
  if (!consumeOpt(parser, context, 1074790417)) {
@@ -4755,7 +4754,7 @@ var meriyah = (function (exports) {
4755
4754
  if (options.ranges)
4756
4755
  context |= 2;
4757
4756
  if (options.uniqueKeyInPattern)
4758
- context |= -2147483648;
4757
+ context |= 536870912;
4759
4758
  if (options.lexical)
4760
4759
  context |= 64;
4761
4760
  if (options.webcompat)
@@ -4772,10 +4771,6 @@ var meriyah = (function (exports) {
4772
4771
  context |= 1024;
4773
4772
  if (options.jsx)
4774
4773
  context |= 16;
4775
- if (options.identifierPattern)
4776
- context |= 268435456;
4777
- if (options.specDeviation)
4778
- context |= 536870912;
4779
4774
  if (options.source)
4780
4775
  sourceFile = options.source;
4781
4776
  if (options.onComment != null) {
@@ -4827,7 +4822,7 @@ var meriyah = (function (exports) {
4827
4822
  return node;
4828
4823
  }
4829
4824
  function parseStatementList(parser, context, scope) {
4830
- nextToken(parser, context | 32768 | 1073741824);
4825
+ nextToken(parser, context | 32768 | 268435456);
4831
4826
  const statements = [];
4832
4827
  while (parser.token === 134283267) {
4833
4828
  const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
@@ -4960,14 +4955,14 @@ var meriyah = (function (exports) {
4960
4955
  let expr;
4961
4956
  switch (token) {
4962
4957
  case 241739:
4963
- expr = parseIdentifier(parser, context, 0);
4958
+ expr = parseIdentifier(parser, context);
4964
4959
  if (context & 1024)
4965
4960
  report(parser, 83);
4966
4961
  if (parser.token === 69271571)
4967
4962
  report(parser, 82);
4968
4963
  break;
4969
4964
  default:
4970
- expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4965
+ expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4971
4966
  }
4972
4967
  if (token & 143360 && parser.token === 21) {
4973
4968
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
@@ -5029,7 +5024,7 @@ var meriyah = (function (exports) {
5029
5024
  }
5030
5025
  function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
5031
5026
  const { token, tokenValue } = parser;
5032
- let expr = parseIdentifier(parser, context, 0);
5027
+ let expr = parseIdentifier(parser, context);
5033
5028
  if (parser.token === 21) {
5034
5029
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
5035
5030
  }
@@ -5197,7 +5192,7 @@ var meriyah = (function (exports) {
5197
5192
  let label = null;
5198
5193
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5199
5194
  const { tokenValue } = parser;
5200
- label = parseIdentifier(parser, context | 32768, 0);
5195
+ label = parseIdentifier(parser, context | 32768);
5201
5196
  if (!isValidLabel(parser, labels, tokenValue, 1))
5202
5197
  report(parser, 135, tokenValue);
5203
5198
  }
@@ -5212,7 +5207,7 @@ var meriyah = (function (exports) {
5212
5207
  let label = null;
5213
5208
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5214
5209
  const { tokenValue } = parser;
5215
- label = parseIdentifier(parser, context | 32768, 0);
5210
+ label = parseIdentifier(parser, context | 32768);
5216
5211
  if (!isValidLabel(parser, labels, tokenValue, 0))
5217
5212
  report(parser, 135, tokenValue);
5218
5213
  }
@@ -5323,7 +5318,7 @@ var meriyah = (function (exports) {
5323
5318
  }
5324
5319
  function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
5325
5320
  const { token, tokenValue } = parser;
5326
- let expr = parseIdentifier(parser, context, 0);
5321
+ let expr = parseIdentifier(parser, context);
5327
5322
  if (parser.token & (143360 | 2097152)) {
5328
5323
  const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
5329
5324
  matchOrInsertSemicolon(parser, context | 32768);
@@ -5393,7 +5388,7 @@ var meriyah = (function (exports) {
5393
5388
  const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
5394
5389
  if (parser.token === 1077936157) {
5395
5390
  nextToken(parser, context | 32768);
5396
- init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5391
+ init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5397
5392
  if (origin & 32 || (token & 2097152) === 0) {
5398
5393
  if (parser.token === 274549 ||
5399
5394
  (parser.token === 8738868 &&
@@ -5428,7 +5423,7 @@ var meriyah = (function (exports) {
5428
5423
  const { token, tokenPos, linePos, colPos } = parser;
5429
5424
  if (isVarDecl) {
5430
5425
  if (token === 241739) {
5431
- init = parseIdentifier(parser, context, 0);
5426
+ init = parseIdentifier(parser, context);
5432
5427
  if (parser.token & (143360 | 2097152)) {
5433
5428
  if (parser.token === 8738868) {
5434
5429
  if (context & 1024)
@@ -5496,7 +5491,7 @@ var meriyah = (function (exports) {
5496
5491
  report(parser, 78, forAwait ? 'await' : 'of');
5497
5492
  reinterpretToPattern(parser, init);
5498
5493
  nextToken(parser, context | 32768);
5499
- right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5494
+ right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5500
5495
  consume(parser, context | 32768, 16);
5501
5496
  const body = parseIterationStatementBody(parser, context, scope, labels);
5502
5497
  return finishNode(parser, context, start, line, column, {
@@ -5556,7 +5551,7 @@ var meriyah = (function (exports) {
5556
5551
  report(parser, 116);
5557
5552
  if (scope)
5558
5553
  addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
5559
- return parseIdentifier(parser, context, 0);
5554
+ return parseIdentifier(parser, context);
5560
5555
  }
5561
5556
  function parseImportDeclaration(parser, context, scope) {
5562
5557
  const start = parser.tokenPos;
@@ -5629,7 +5624,9 @@ var meriyah = (function (exports) {
5629
5624
  });
5630
5625
  }
5631
5626
  function parseModuleSpecifier(parser, context) {
5632
- consumeOpt(parser, context, 12404);
5627
+ if (!consumeOpt(parser, context, 12404)) {
5628
+ report(parser, 28, KeywordDescTable[parser.token & 255]);
5629
+ }
5633
5630
  if (parser.token !== 134283267)
5634
5631
  report(parser, 103, 'Import');
5635
5632
  return parseLiteral(parser, context);
@@ -5638,7 +5635,7 @@ var meriyah = (function (exports) {
5638
5635
  nextToken(parser, context);
5639
5636
  while (parser.token & 143360) {
5640
5637
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
5641
- const imported = parseIdentifier(parser, context, 0);
5638
+ const imported = parseIdentifier(parser, context);
5642
5639
  let local;
5643
5640
  if (consumeOpt(parser, context, 77934)) {
5644
5641
  if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
@@ -5648,7 +5645,7 @@ var meriyah = (function (exports) {
5648
5645
  validateBindingIdentifier(parser, context, 16, parser.token, 0);
5649
5646
  }
5650
5647
  tokenValue = parser.tokenValue;
5651
- local = parseIdentifier(parser, context, 0);
5648
+ local = parseIdentifier(parser, context);
5652
5649
  }
5653
5650
  else {
5654
5651
  validateBindingIdentifier(parser, context, 16, token, 0);
@@ -5708,7 +5705,7 @@ var meriyah = (function (exports) {
5708
5705
  break;
5709
5706
  case 209007:
5710
5707
  const { tokenPos, linePos, colPos } = parser;
5711
- declaration = parseIdentifier(parser, context, 0);
5708
+ declaration = parseIdentifier(parser, context);
5712
5709
  const { flags } = parser;
5713
5710
  if ((flags & 1) === 0) {
5714
5711
  if (parser.token === 86106) {
@@ -5723,14 +5720,14 @@ var meriyah = (function (exports) {
5723
5720
  else if (parser.token & 143360) {
5724
5721
  if (scope)
5725
5722
  scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
5726
- declaration = parseIdentifier(parser, context, 0);
5723
+ declaration = parseIdentifier(parser, context);
5727
5724
  declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
5728
5725
  }
5729
5726
  }
5730
5727
  }
5731
5728
  break;
5732
5729
  default:
5733
- declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5730
+ declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5734
5731
  matchOrInsertSemicolon(parser, context | 32768);
5735
5732
  }
5736
5733
  if (scope)
@@ -5748,7 +5745,7 @@ var meriyah = (function (exports) {
5748
5745
  if (isNamedDeclaration) {
5749
5746
  if (scope)
5750
5747
  declareUnboundVariable(parser, parser.tokenValue);
5751
- exported = parseIdentifier(parser, context, 0);
5748
+ exported = parseIdentifier(parser, context);
5752
5749
  }
5753
5750
  consume(parser, context, 12404);
5754
5751
  if (parser.token !== 134283267)
@@ -5767,7 +5764,7 @@ var meriyah = (function (exports) {
5767
5764
  const tmpExportedBindings = [];
5768
5765
  while (parser.token & 143360) {
5769
5766
  const { tokenPos, tokenValue, linePos, colPos } = parser;
5770
- const local = parseIdentifier(parser, context, 0);
5767
+ const local = parseIdentifier(parser, context);
5771
5768
  let exported;
5772
5769
  if (parser.token === 77934) {
5773
5770
  nextToken(parser, context);
@@ -5778,7 +5775,7 @@ var meriyah = (function (exports) {
5778
5775
  tmpExportedNames.push(parser.tokenValue);
5779
5776
  tmpExportedBindings.push(tokenValue);
5780
5777
  }
5781
- exported = parseIdentifier(parser, context, 0);
5778
+ exported = parseIdentifier(parser, context);
5782
5779
  }
5783
5780
  else {
5784
5781
  if (scope) {
@@ -5852,15 +5849,15 @@ var meriyah = (function (exports) {
5852
5849
  source
5853
5850
  });
5854
5851
  }
5855
- function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) {
5856
- let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column);
5852
+ function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
5853
+ let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
5857
5854
  expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
5858
5855
  return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
5859
5856
  }
5860
5857
  function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
5861
5858
  const expressions = [expr];
5862
5859
  while (consumeOpt(parser, context | 32768, 18)) {
5863
- expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5860
+ expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5864
5861
  }
5865
5862
  return finishNode(parser, context, start, line, column, {
5866
5863
  type: 'SequenceExpression',
@@ -5868,7 +5865,7 @@ var meriyah = (function (exports) {
5868
5865
  });
5869
5866
  }
5870
5867
  function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
5871
- const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column);
5868
+ const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
5872
5869
  return parser.token === 18
5873
5870
  ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
5874
5871
  : expr;
@@ -5883,7 +5880,7 @@ var meriyah = (function (exports) {
5883
5880
  reinterpretToPattern(parser, left);
5884
5881
  }
5885
5882
  nextToken(parser, context | 32768);
5886
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5883
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5887
5884
  parser.assignable = 2;
5888
5885
  return finishNode(parser, context, start, line, column, isPattern
5889
5886
  ? {
@@ -5909,7 +5906,7 @@ var meriyah = (function (exports) {
5909
5906
  function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
5910
5907
  const { token } = parser;
5911
5908
  nextToken(parser, context | 32768);
5912
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5909
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5913
5910
  left = finishNode(parser, context, start, line, column, isPattern
5914
5911
  ? {
5915
5912
  type: 'AssignmentPattern',
@@ -5926,10 +5923,10 @@ var meriyah = (function (exports) {
5926
5923
  return left;
5927
5924
  }
5928
5925
  function parseConditionalExpression(parser, context, test, start, line, column) {
5929
- const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5926
+ const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5930
5927
  consume(parser, context | 32768, 21);
5931
5928
  parser.assignable = 1;
5932
- const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5929
+ const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5933
5930
  parser.assignable = 2;
5934
5931
  return finishNode(parser, context, start, line, column, {
5935
5932
  type: 'ConditionalExpression',
@@ -5987,9 +5984,9 @@ var meriyah = (function (exports) {
5987
5984
  prefix: true
5988
5985
  });
5989
5986
  }
5990
- function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) {
5987
+ function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
5991
5988
  const { token } = parser;
5992
- const expr = parseIdentifier(parser, context, isPattern);
5989
+ const expr = parseIdentifier(parser, context);
5993
5990
  const { flags } = parser;
5994
5991
  if ((flags & 1) === 0) {
5995
5992
  if (parser.token === 86106) {
@@ -6029,7 +6026,7 @@ var meriyah = (function (exports) {
6029
6026
  if ((parser.flags & 1) === 0) {
6030
6027
  delegate = consumeOpt(parser, context | 32768, 8457014);
6031
6028
  if (parser.token & (12288 | 65536) || delegate) {
6032
- argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6029
+ argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6033
6030
  }
6034
6031
  }
6035
6032
  parser.assignable = 2;
@@ -6132,8 +6129,9 @@ var meriyah = (function (exports) {
6132
6129
  case 67174411: {
6133
6130
  if ((context & 524288) === 0)
6134
6131
  report(parser, 26);
6135
- if (context & 16384)
6132
+ if (context & 16384 && !(context & 33554432)) {
6136
6133
  report(parser, 27);
6134
+ }
6137
6135
  parser.assignable = 2;
6138
6136
  break;
6139
6137
  }
@@ -6141,8 +6139,9 @@ var meriyah = (function (exports) {
6141
6139
  case 67108877: {
6142
6140
  if ((context & 262144) === 0)
6143
6141
  report(parser, 27);
6144
- if (context & 16384)
6142
+ if (context & 16384 && !(context & 33554432)) {
6145
6143
  report(parser, 27);
6144
+ }
6146
6145
  parser.assignable = 1;
6147
6146
  break;
6148
6147
  }
@@ -6152,7 +6151,7 @@ var meriyah = (function (exports) {
6152
6151
  return finishNode(parser, context, start, line, column, { type: 'Super' });
6153
6152
  }
6154
6153
  function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
6155
- const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column);
6154
+ const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
6156
6155
  return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
6157
6156
  }
6158
6157
  function parseUpdateExpression(parser, context, expr, start, line, column) {
@@ -6176,7 +6175,10 @@ var meriyah = (function (exports) {
6176
6175
  context = (context | 134217728) ^ 134217728;
6177
6176
  switch (parser.token) {
6178
6177
  case 67108877: {
6179
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6178
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6179
+ if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
6180
+ report(parser, 27);
6181
+ }
6180
6182
  parser.assignable = 1;
6181
6183
  const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);
6182
6184
  expr = finishNode(parser, context, start, line, column, {
@@ -6232,7 +6234,7 @@ var meriyah = (function (exports) {
6232
6234
  break;
6233
6235
  }
6234
6236
  case 67108991: {
6235
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6237
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6236
6238
  parser.flags |= 2048;
6237
6239
  parser.assignable = 2;
6238
6240
  expr = parseOptionalChain(parser, context, expr, start, line, column);
@@ -6298,7 +6300,7 @@ var meriyah = (function (exports) {
6298
6300
  else {
6299
6301
  if ((parser.token & (143360 | 4096)) === 0)
6300
6302
  report(parser, 155);
6301
- const property = parseIdentifier(parser, context, 0);
6303
+ const property = parseIdentifier(parser, context);
6302
6304
  parser.assignable = 2;
6303
6305
  node = finishNode(parser, context, start, line, column, {
6304
6306
  type: 'MemberExpression',
@@ -6319,7 +6321,7 @@ var meriyah = (function (exports) {
6319
6321
  }
6320
6322
  return context & 1 && parser.token === 131
6321
6323
  ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
6322
- : parseIdentifier(parser, context, 0);
6324
+ : parseIdentifier(parser, context);
6323
6325
  }
6324
6326
  function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
6325
6327
  if (inNew)
@@ -6340,7 +6342,7 @@ var meriyah = (function (exports) {
6340
6342
  prefix: true
6341
6343
  });
6342
6344
  }
6343
- function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) {
6345
+ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
6344
6346
  if ((parser.token & 143360) === 143360) {
6345
6347
  switch (parser.token) {
6346
6348
  case 209008:
@@ -6348,10 +6350,10 @@ var meriyah = (function (exports) {
6348
6350
  case 241773:
6349
6351
  return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
6350
6352
  case 209007:
6351
- return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column);
6353
+ return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
6352
6354
  }
6353
6355
  const { token, tokenValue } = parser;
6354
- const expr = parseIdentifier(parser, context | 65536, isPattern);
6356
+ const expr = parseIdentifier(parser, context | 65536);
6355
6357
  if (parser.token === 10) {
6356
6358
  if (!isLHS)
6357
6359
  report(parser, 0);
@@ -6430,7 +6432,7 @@ var meriyah = (function (exports) {
6430
6432
  }
6431
6433
  }
6432
6434
  function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
6433
- let expr = parseIdentifier(parser, context, 0);
6435
+ let expr = parseIdentifier(parser, context);
6434
6436
  if (parser.token === 67108877) {
6435
6437
  return parseImportMetaExpression(parser, context, expr, start, line, column);
6436
6438
  }
@@ -6450,14 +6452,14 @@ var meriyah = (function (exports) {
6450
6452
  return finishNode(parser, context, start, line, column, {
6451
6453
  type: 'MetaProperty',
6452
6454
  meta,
6453
- property: parseIdentifier(parser, context, 0)
6455
+ property: parseIdentifier(parser, context)
6454
6456
  });
6455
6457
  }
6456
6458
  function parseImportExpression(parser, context, inGroup, start, line, column) {
6457
6459
  consume(parser, context | 32768, 67174411);
6458
6460
  if (parser.token === 14)
6459
6461
  report(parser, 139);
6460
- const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6462
+ const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6461
6463
  consume(parser, context, 16);
6462
6464
  return finishNode(parser, context, start, line, column, {
6463
6465
  type: 'ImportExpression',
@@ -6546,7 +6548,7 @@ var meriyah = (function (exports) {
6546
6548
  function parseSpreadElement(parser, context, start, line, column) {
6547
6549
  context = (context | 134217728) ^ 134217728;
6548
6550
  consume(parser, context | 32768, 14);
6549
- const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6551
+ const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6550
6552
  parser.assignable = 1;
6551
6553
  return finishNode(parser, context, start, line, column, {
6552
6554
  type: 'SpreadElement',
@@ -6565,7 +6567,7 @@ var meriyah = (function (exports) {
6565
6567
  args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
6566
6568
  }
6567
6569
  else {
6568
- args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6570
+ args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6569
6571
  }
6570
6572
  if (parser.token !== 18)
6571
6573
  break;
@@ -6576,19 +6578,13 @@ var meriyah = (function (exports) {
6576
6578
  consume(parser, context, 16);
6577
6579
  return args;
6578
6580
  }
6579
- function parseIdentifier(parser, context, isPattern) {
6581
+ function parseIdentifier(parser, context) {
6580
6582
  const { tokenValue, tokenPos, linePos, colPos } = parser;
6581
6583
  nextToken(parser, context);
6582
- return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456
6583
- ? {
6584
- type: 'Identifier',
6585
- name: tokenValue,
6586
- pattern: isPattern === 1
6587
- }
6588
- : {
6589
- type: 'Identifier',
6590
- name: tokenValue
6591
- });
6584
+ return finishNode(parser, context, tokenPos, linePos, colPos, {
6585
+ type: 'Identifier',
6586
+ name: tokenValue
6587
+ });
6592
6588
  }
6593
6589
  function parseLiteral(parser, context) {
6594
6590
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
@@ -6663,7 +6659,7 @@ var meriyah = (function (exports) {
6663
6659
  }
6664
6660
  firstRestricted = parser.token;
6665
6661
  if (parser.token & 143360) {
6666
- id = parseIdentifier(parser, context, 0);
6662
+ id = parseIdentifier(parser, context);
6667
6663
  }
6668
6664
  else {
6669
6665
  report(parser, 28, KeywordDescTable[parser.token & 255]);
@@ -6673,7 +6669,7 @@ var meriyah = (function (exports) {
6673
6669
  ((context | 32243712) ^ 32243712) |
6674
6670
  67108864 |
6675
6671
  ((isAsync * 2 + isGenerator) << 21) |
6676
- (isGenerator ? 0 : 1073741824);
6672
+ (isGenerator ? 0 : 268435456);
6677
6673
  if (scope)
6678
6674
  functionScope = addChildScope(functionScope, 512);
6679
6675
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
@@ -6700,13 +6696,13 @@ var meriyah = (function (exports) {
6700
6696
  if (scope)
6701
6697
  scope = addChildScope(scope, 256);
6702
6698
  firstRestricted = parser.token;
6703
- id = parseIdentifier(parser, context, 0);
6699
+ id = parseIdentifier(parser, context);
6704
6700
  }
6705
6701
  context =
6706
6702
  ((context | 32243712) ^ 32243712) |
6707
6703
  67108864 |
6708
6704
  generatorAndAsyncFlags |
6709
- (isGenerator ? 0 : 1073741824);
6705
+ (isGenerator ? 0 : 268435456);
6710
6706
  if (scope)
6711
6707
  scope = addChildScope(scope, 512);
6712
6708
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
@@ -6744,14 +6740,14 @@ var meriyah = (function (exports) {
6744
6740
  let left;
6745
6741
  const { token, tokenPos, linePos, colPos, tokenValue } = parser;
6746
6742
  if (token & 143360) {
6747
- left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6743
+ left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6748
6744
  if (parser.token === 1077936157) {
6749
6745
  if (parser.assignable & 2)
6750
6746
  report(parser, 24);
6751
6747
  nextToken(parser, context | 32768);
6752
6748
  if (scope)
6753
6749
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
6754
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6750
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6755
6751
  left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
6756
6752
  ? {
6757
6753
  type: 'AssignmentPattern',
@@ -6890,7 +6886,7 @@ var meriyah = (function (exports) {
6890
6886
  if (!isPattern)
6891
6887
  reinterpretToPattern(parser, node);
6892
6888
  const { tokenPos, linePos, colPos } = parser;
6893
- const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos);
6889
+ const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
6894
6890
  parser.destructible =
6895
6891
  ((destructible | 64 | 8) ^
6896
6892
  (8 | 64)) |
@@ -6916,7 +6912,7 @@ var meriyah = (function (exports) {
6916
6912
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
6917
6913
  if (token & (4096 | 143360)) {
6918
6914
  parser.assignable = 1;
6919
- argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6915
+ argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6920
6916
  token = parser.token;
6921
6917
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6922
6918
  if (parser.token !== 18 && parser.token !== closingToken) {
@@ -7011,7 +7007,7 @@ var meriyah = (function (exports) {
7011
7007
  if (destructible & 16)
7012
7008
  report(parser, 24);
7013
7009
  reinterpretToPattern(parser, argument);
7014
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7010
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7015
7011
  argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
7016
7012
  ? {
7017
7013
  type: 'AssignmentPattern',
@@ -7083,7 +7079,7 @@ var meriyah = (function (exports) {
7083
7079
  let value;
7084
7080
  const t = parser.token;
7085
7081
  if (parser.token & (143360 | 4096) || parser.token === 121) {
7086
- key = parseIdentifier(parser, context, 0);
7082
+ key = parseIdentifier(parser, context);
7087
7083
  if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
7088
7084
  state |= 4;
7089
7085
  if (context & 1024 && (token & 537079808) === 537079808) {
@@ -7096,7 +7092,7 @@ var meriyah = (function (exports) {
7096
7092
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
7097
7093
  if (consumeOpt(parser, context | 32768, 1077936157)) {
7098
7094
  destructible |= 8;
7099
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7095
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7100
7096
  destructible |=
7101
7097
  parser.destructible & 256
7102
7098
  ? 256
@@ -7105,7 +7101,7 @@ var meriyah = (function (exports) {
7105
7101
  : 0;
7106
7102
  value = finishNode(parser, context, tokenPos, linePos, colPos, {
7107
7103
  type: 'AssignmentPattern',
7108
- left: context & -2147483648 ? Object.assign({}, key) : key,
7104
+ left: context & 536870912 ? Object.assign({}, key) : key,
7109
7105
  right
7110
7106
  });
7111
7107
  }
@@ -7113,7 +7109,7 @@ var meriyah = (function (exports) {
7113
7109
  destructible |=
7114
7110
  (token === 209008 ? 128 : 0) |
7115
7111
  (token === 121 ? 16 : 0);
7116
- value = context & -2147483648 ? Object.assign({}, key) : key;
7112
+ value = context & 536870912 ? Object.assign({}, key) : key;
7117
7113
  }
7118
7114
  }
7119
7115
  else if (consumeOpt(parser, context | 32768, 21)) {
@@ -7124,7 +7120,7 @@ var meriyah = (function (exports) {
7124
7120
  const tokenAfterColon = parser.token;
7125
7121
  const valueAfterColon = parser.tokenValue;
7126
7122
  destructible |= t === 121 ? 16 : 0;
7127
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7123
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7128
7124
  const { token } = parser;
7129
7125
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7130
7126
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7245,7 +7241,7 @@ var meriyah = (function (exports) {
7245
7241
  report(parser, 129);
7246
7242
  state |= 16;
7247
7243
  }
7248
- key = parseIdentifier(parser, context, 0);
7244
+ key = parseIdentifier(parser, context);
7249
7245
  state |=
7250
7246
  token === 12402
7251
7247
  ? 256
@@ -7274,7 +7270,7 @@ var meriyah = (function (exports) {
7274
7270
  state |=
7275
7271
  8 | 1 | (token === 209007 ? 16 : 0);
7276
7272
  if (parser.token & 143360) {
7277
- key = parseIdentifier(parser, context, 0);
7273
+ key = parseIdentifier(parser, context);
7278
7274
  }
7279
7275
  else if ((parser.token & 134217728) === 134217728) {
7280
7276
  key = parseLiteral(parser, context);
@@ -7314,7 +7310,7 @@ var meriyah = (function (exports) {
7314
7310
  if (tokenValue === '__proto__')
7315
7311
  prototypeCount++;
7316
7312
  if (parser.token & 143360) {
7317
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7313
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7318
7314
  const { token, tokenValue: valueAfterColon } = parser;
7319
7315
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7320
7316
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7415,7 +7411,7 @@ var meriyah = (function (exports) {
7415
7411
  nextToken(parser, context | 32768);
7416
7412
  const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
7417
7413
  if (parser.token & 143360) {
7418
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7414
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7419
7415
  const { token } = parser;
7420
7416
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7421
7417
  if ((parser.token & 4194304) === 4194304) {
@@ -7521,7 +7517,7 @@ var meriyah = (function (exports) {
7521
7517
  state |= 8;
7522
7518
  if (parser.token & 143360) {
7523
7519
  const { token, line, index } = parser;
7524
- key = parseIdentifier(parser, context, 0);
7520
+ key = parseIdentifier(parser, context);
7525
7521
  state |= 1;
7526
7522
  if (parser.token === 67174411) {
7527
7523
  destructible |= 16;
@@ -7635,7 +7631,7 @@ var meriyah = (function (exports) {
7635
7631
  if (parser.token === 1077936157) {
7636
7632
  nextToken(parser, context | 32768);
7637
7633
  isSimpleParameterList = 1;
7638
- const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7634
+ const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7639
7635
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7640
7636
  type: 'AssignmentPattern',
7641
7637
  left: left,
@@ -7662,14 +7658,14 @@ var meriyah = (function (exports) {
7662
7658
  }
7663
7659
  function parseComputedPropertyName(parser, context, inGroup) {
7664
7660
  nextToken(parser, context | 32768);
7665
- const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7661
+ const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7666
7662
  consume(parser, context, 20);
7667
7663
  return key;
7668
7664
  }
7669
7665
  function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
7670
7666
  parser.flags = (parser.flags | 128) ^ 128;
7671
7667
  const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
7672
- nextToken(parser, context | 32768 | 1073741824);
7668
+ nextToken(parser, context | 32768 | 268435456);
7673
7669
  const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
7674
7670
  context = (context | 134217728) ^ 134217728;
7675
7671
  if (consumeOpt(parser, context, 16)) {
@@ -7688,7 +7684,7 @@ var meriyah = (function (exports) {
7688
7684
  if (token & (143360 | 4096)) {
7689
7685
  if (scope)
7690
7686
  addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
7691
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
7687
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
7692
7688
  if (parser.token === 16 || parser.token === 18) {
7693
7689
  if (parser.assignable & 2) {
7694
7690
  destructible |= 16;
@@ -7715,8 +7711,8 @@ var meriyah = (function (exports) {
7715
7711
  else if ((token & 2097152) === 2097152) {
7716
7712
  expr =
7717
7713
  token === 2162700
7718
- ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7719
- : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7714
+ ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7715
+ : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7720
7716
  destructible |= parser.destructible;
7721
7717
  isSimpleParameterList = 1;
7722
7718
  parser.assignable = 2;
@@ -7743,7 +7739,7 @@ var meriyah = (function (exports) {
7743
7739
  }
7744
7740
  else {
7745
7741
  destructible |= 16;
7746
- expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
7742
+ expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
7747
7743
  if (isSequence && (parser.token === 16 || parser.token === 18)) {
7748
7744
  expressions.push(expr);
7749
7745
  }
@@ -7755,7 +7751,7 @@ var meriyah = (function (exports) {
7755
7751
  }
7756
7752
  if (isSequence) {
7757
7753
  while (consumeOpt(parser, context | 32768, 18)) {
7758
- expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));
7754
+ expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
7759
7755
  }
7760
7756
  parser.assignable = 2;
7761
7757
  expr = finishNode(parser, context, iStart, lStart, cStart, {
@@ -7822,7 +7818,7 @@ var meriyah = (function (exports) {
7822
7818
  }
7823
7819
  function parseIdentifierOrArrow(parser, context, start, line, column) {
7824
7820
  const { tokenValue } = parser;
7825
- const expr = parseIdentifier(parser, context, 0);
7821
+ const expr = parseIdentifier(parser, context);
7826
7822
  parser.assignable = 1;
7827
7823
  if (parser.token === 10) {
7828
7824
  let scope = void 0;
@@ -7860,7 +7856,7 @@ var meriyah = (function (exports) {
7860
7856
  reportScopeError(scope.scopeError);
7861
7857
  }
7862
7858
  if (expression) {
7863
- body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
7859
+ body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7864
7860
  }
7865
7861
  else {
7866
7862
  if (scope)
@@ -7941,7 +7937,7 @@ var meriyah = (function (exports) {
7941
7937
  if (parser.token === 1077936157) {
7942
7938
  nextToken(parser, context | 32768);
7943
7939
  isSimpleParameterList = 1;
7944
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7940
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7945
7941
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7946
7942
  type: 'AssignmentPattern',
7947
7943
  left,
@@ -7967,7 +7963,7 @@ var meriyah = (function (exports) {
7967
7963
  const { token } = parser;
7968
7964
  if (token & 67108864) {
7969
7965
  if (token === 67108877) {
7970
- nextToken(parser, context | 1073741824);
7966
+ nextToken(parser, context | 268435456);
7971
7967
  parser.assignable = 1;
7972
7968
  const property = parsePropertyOrPrivatePropertyName(parser, context);
7973
7969
  return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
@@ -8004,7 +8000,7 @@ var meriyah = (function (exports) {
8004
8000
  return expr;
8005
8001
  }
8006
8002
  function parseNewExpression(parser, context, inGroup, start, line, column) {
8007
- const id = parseIdentifier(parser, context | 32768, 0);
8003
+ const id = parseIdentifier(parser, context | 32768);
8008
8004
  const { tokenPos, linePos, colPos } = parser;
8009
8005
  if (consumeOpt(parser, context, 67108877)) {
8010
8006
  if (context & 67108864 && parser.token === 143494) {
@@ -8017,7 +8013,7 @@ var meriyah = (function (exports) {
8017
8013
  if ((parser.token & 16842752) === 16842752) {
8018
8014
  report(parser, 63, KeywordDescTable[parser.token & 255]);
8019
8015
  }
8020
- const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);
8016
+ const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
8021
8017
  context = (context | 134217728) ^ 134217728;
8022
8018
  if (parser.token === 67108991)
8023
8019
  report(parser, 163);
@@ -8030,7 +8026,7 @@ var meriyah = (function (exports) {
8030
8026
  });
8031
8027
  }
8032
8028
  function parseMetaProperty(parser, context, meta, start, line, column) {
8033
- const property = parseIdentifier(parser, context, 0);
8029
+ const property = parseIdentifier(parser, context);
8034
8030
  return finishNode(parser, context, start, line, column, {
8035
8031
  type: 'MetaProperty',
8036
8032
  meta,
@@ -8046,7 +8042,7 @@ var meriyah = (function (exports) {
8046
8042
  if ((parser.token & 537079808) === 537079808) {
8047
8043
  parser.flags |= 512;
8048
8044
  }
8049
- return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column);
8045
+ return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
8050
8046
  }
8051
8047
  function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
8052
8048
  nextToken(parser, context | 32768);
@@ -8076,7 +8072,7 @@ var meriyah = (function (exports) {
8076
8072
  if (token & (143360 | 4096)) {
8077
8073
  if (scope)
8078
8074
  addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
8079
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
8075
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
8080
8076
  if (parser.token === 16 || parser.token === 18) {
8081
8077
  if (parser.assignable & 2) {
8082
8078
  destructible |= 16;
@@ -8128,11 +8124,11 @@ var meriyah = (function (exports) {
8128
8124
  isSimpleParameterList = 1;
8129
8125
  }
8130
8126
  else {
8131
- expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8127
+ expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8132
8128
  destructible = parser.assignable;
8133
8129
  params.push(expr);
8134
8130
  while (consumeOpt(parser, context | 32768, 18)) {
8135
- params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos));
8131
+ params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
8136
8132
  }
8137
8133
  destructible |= parser.assignable;
8138
8134
  consume(parser, context, 16);
@@ -8227,7 +8223,7 @@ var meriyah = (function (exports) {
8227
8223
  }
8228
8224
  }
8229
8225
  }
8230
- id = parseIdentifier(parser, context, 0);
8226
+ id = parseIdentifier(parser, context);
8231
8227
  }
8232
8228
  else {
8233
8229
  if ((flags & 1) === 0)
@@ -8274,7 +8270,7 @@ var meriyah = (function (exports) {
8274
8270
  if ((parser.token & 537079808) === 537079808) {
8275
8271
  report(parser, 116);
8276
8272
  }
8277
- id = parseIdentifier(parser, context, 0);
8273
+ id = parseIdentifier(parser, context);
8278
8274
  }
8279
8275
  let inheritedContext = context;
8280
8276
  if (consumeOpt(parser, context | 32768, 20567)) {
@@ -8312,7 +8308,7 @@ var meriyah = (function (exports) {
8312
8308
  }
8313
8309
  function parseDecoratorList(parser, context, start, line, column) {
8314
8310
  nextToken(parser, context | 32768);
8315
- let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column);
8311
+ let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
8316
8312
  expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
8317
8313
  return finishNode(parser, context, start, line, column, {
8318
8314
  type: 'Decorator',
@@ -8355,7 +8351,7 @@ var meriyah = (function (exports) {
8355
8351
  let key = null;
8356
8352
  const { token, tokenPos, linePos, colPos } = parser;
8357
8353
  if (token & (143360 | 36864)) {
8358
- key = parseIdentifier(parser, context, 0);
8354
+ key = parseIdentifier(parser, context);
8359
8355
  switch (token) {
8360
8356
  case 36972:
8361
8357
  if (!isStatic &&
@@ -8413,7 +8409,7 @@ var meriyah = (function (exports) {
8413
8409
  return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
8414
8410
  }
8415
8411
  else if (token === 122) {
8416
- key = parseIdentifier(parser, context, 0);
8412
+ key = parseIdentifier(parser, context);
8417
8413
  if (parser.token !== 67174411)
8418
8414
  report(parser, 28, KeywordDescTable[parser.token & 255]);
8419
8415
  }
@@ -8422,7 +8418,7 @@ var meriyah = (function (exports) {
8422
8418
  }
8423
8419
  if (kind & (8 | 16 | 768)) {
8424
8420
  if (parser.token & 143360) {
8425
- key = parseIdentifier(parser, context, 0);
8421
+ key = parseIdentifier(parser, context);
8426
8422
  }
8427
8423
  else if ((parser.token & 134217728) === 134217728) {
8428
8424
  key = parseLiteral(parser, context);
@@ -8432,7 +8428,7 @@ var meriyah = (function (exports) {
8432
8428
  key = parseComputedPropertyName(parser, context, 0);
8433
8429
  }
8434
8430
  else if (parser.token === 122) {
8435
- key = parseIdentifier(parser, context, 0);
8431
+ key = parseIdentifier(parser, context);
8436
8432
  }
8437
8433
  else if (context & 1 && parser.token === 131) {
8438
8434
  kind |= 4096;
@@ -8520,7 +8516,14 @@ var meriyah = (function (exports) {
8520
8516
  const { tokenPos, linePos, colPos } = parser;
8521
8517
  if (parser.token === 537079928)
8522
8518
  report(parser, 116);
8523
- value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);
8519
+ const modifierFlags = (state & 64) === 0
8520
+ ? 31981568
8521
+ : 14680064;
8522
+ context =
8523
+ ((context | modifierFlags) ^ modifierFlags) |
8524
+ ((state & 88) << 18) |
8525
+ 100925440;
8526
+ value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
8524
8527
  if ((parser.token & 1073741824) !== 1073741824 ||
8525
8528
  (parser.token & 4194304) === 4194304) {
8526
8529
  value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
@@ -8728,7 +8731,7 @@ var meriyah = (function (exports) {
8728
8731
  function parseJSXSpreadAttribute(parser, context, start, line, column) {
8729
8732
  nextToken(parser, context);
8730
8733
  consume(parser, context, 14);
8731
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8734
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8732
8735
  consume(parser, context, 1074790415);
8733
8736
  return finishNode(parser, context, start, line, column, {
8734
8737
  type: 'JSXSpreadAttribute',
@@ -8788,7 +8791,7 @@ var meriyah = (function (exports) {
8788
8791
  expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
8789
8792
  }
8790
8793
  else {
8791
- expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8794
+ expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8792
8795
  }
8793
8796
  if (inJSXChild) {
8794
8797
  consume(parser, context, 1074790415);
@@ -8803,7 +8806,7 @@ var meriyah = (function (exports) {
8803
8806
  }
8804
8807
  function parseJSXSpreadChild(parser, context, start, line, column) {
8805
8808
  consume(parser, context, 14);
8806
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8809
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8807
8810
  consume(parser, context, 1074790415);
8808
8811
  return finishNode(parser, context, start, line, column, {
8809
8812
  type: 'JSXSpreadChild',
@@ -8831,7 +8834,7 @@ var meriyah = (function (exports) {
8831
8834
  __proto__: null
8832
8835
  });
8833
8836
 
8834
- var version$1 = "4.4.2";
8837
+ var version$1 = "4.4.4";
8835
8838
 
8836
8839
  const version = version$1;
8837
8840
  function parseScript(source, options) {