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.
@@ -1535,7 +1535,7 @@ System.register('meriyah', [], (function (exports) {
1535
1535
  return 122;
1536
1536
  }
1537
1537
  if ((token & 20480) === 20480) {
1538
- if (context & 1073741824 && (context & 8192) === 0) {
1538
+ if (context & 268435456 && (context & 8192) === 0) {
1539
1539
  return token;
1540
1540
  }
1541
1541
  else {
@@ -1544,12 +1544,12 @@ System.register('meriyah', [], (function (exports) {
1544
1544
  }
1545
1545
  return 143483;
1546
1546
  }
1547
- if (context & 1073741824 &&
1547
+ if (context & 268435456 &&
1548
1548
  (context & 8192) === 0 &&
1549
1549
  (token & 20480) === 20480)
1550
1550
  return token;
1551
1551
  if (token === 241773) {
1552
- return context & 1073741824
1552
+ return context & 268435456
1553
1553
  ? 143483
1554
1554
  : context & 2097152
1555
1555
  ? 121
@@ -4368,10 +4368,9 @@ System.register('meriyah', [], (function (exports) {
4368
4368
  return parser.token;
4369
4369
  }
4370
4370
 
4371
- function matchOrInsertSemicolon(parser, context, specDeviation) {
4371
+ function matchOrInsertSemicolon(parser, context) {
4372
4372
  if ((parser.flags & 1) === 0 &&
4373
- (parser.token & 1048576) !== 1048576 &&
4374
- !specDeviation) {
4373
+ (parser.token & 1048576) !== 1048576) {
4375
4374
  report(parser, 28, KeywordDescTable[parser.token & 255]);
4376
4375
  }
4377
4376
  if (!consumeOpt(parser, context, 1074790417)) {
@@ -4763,7 +4762,7 @@ System.register('meriyah', [], (function (exports) {
4763
4762
  if (options.ranges)
4764
4763
  context |= 2;
4765
4764
  if (options.uniqueKeyInPattern)
4766
- context |= -2147483648;
4765
+ context |= 536870912;
4767
4766
  if (options.lexical)
4768
4767
  context |= 64;
4769
4768
  if (options.webcompat)
@@ -4780,10 +4779,6 @@ System.register('meriyah', [], (function (exports) {
4780
4779
  context |= 1024;
4781
4780
  if (options.jsx)
4782
4781
  context |= 16;
4783
- if (options.identifierPattern)
4784
- context |= 268435456;
4785
- if (options.specDeviation)
4786
- context |= 536870912;
4787
4782
  if (options.source)
4788
4783
  sourceFile = options.source;
4789
4784
  if (options.onComment != null) {
@@ -4835,7 +4830,7 @@ System.register('meriyah', [], (function (exports) {
4835
4830
  return node;
4836
4831
  }
4837
4832
  function parseStatementList(parser, context, scope) {
4838
- nextToken(parser, context | 32768 | 1073741824);
4833
+ nextToken(parser, context | 32768 | 268435456);
4839
4834
  const statements = [];
4840
4835
  while (parser.token === 134283267) {
4841
4836
  const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
@@ -4968,14 +4963,14 @@ System.register('meriyah', [], (function (exports) {
4968
4963
  let expr;
4969
4964
  switch (token) {
4970
4965
  case 241739:
4971
- expr = parseIdentifier(parser, context, 0);
4966
+ expr = parseIdentifier(parser, context);
4972
4967
  if (context & 1024)
4973
4968
  report(parser, 83);
4974
4969
  if (parser.token === 69271571)
4975
4970
  report(parser, 82);
4976
4971
  break;
4977
4972
  default:
4978
- expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4973
+ expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
4979
4974
  }
4980
4975
  if (token & 143360 && parser.token === 21) {
4981
4976
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
@@ -5037,7 +5032,7 @@ System.register('meriyah', [], (function (exports) {
5037
5032
  }
5038
5033
  function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
5039
5034
  const { token, tokenValue } = parser;
5040
- let expr = parseIdentifier(parser, context, 0);
5035
+ let expr = parseIdentifier(parser, context);
5041
5036
  if (parser.token === 21) {
5042
5037
  return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
5043
5038
  }
@@ -5205,7 +5200,7 @@ System.register('meriyah', [], (function (exports) {
5205
5200
  let label = null;
5206
5201
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5207
5202
  const { tokenValue } = parser;
5208
- label = parseIdentifier(parser, context | 32768, 0);
5203
+ label = parseIdentifier(parser, context | 32768);
5209
5204
  if (!isValidLabel(parser, labels, tokenValue, 1))
5210
5205
  report(parser, 135, tokenValue);
5211
5206
  }
@@ -5220,7 +5215,7 @@ System.register('meriyah', [], (function (exports) {
5220
5215
  let label = null;
5221
5216
  if ((parser.flags & 1) === 0 && parser.token & 143360) {
5222
5217
  const { tokenValue } = parser;
5223
- label = parseIdentifier(parser, context | 32768, 0);
5218
+ label = parseIdentifier(parser, context | 32768);
5224
5219
  if (!isValidLabel(parser, labels, tokenValue, 0))
5225
5220
  report(parser, 135, tokenValue);
5226
5221
  }
@@ -5331,7 +5326,7 @@ System.register('meriyah', [], (function (exports) {
5331
5326
  }
5332
5327
  function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
5333
5328
  const { token, tokenValue } = parser;
5334
- let expr = parseIdentifier(parser, context, 0);
5329
+ let expr = parseIdentifier(parser, context);
5335
5330
  if (parser.token & (143360 | 2097152)) {
5336
5331
  const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
5337
5332
  matchOrInsertSemicolon(parser, context | 32768);
@@ -5401,7 +5396,7 @@ System.register('meriyah', [], (function (exports) {
5401
5396
  const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
5402
5397
  if (parser.token === 1077936157) {
5403
5398
  nextToken(parser, context | 32768);
5404
- init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5399
+ init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5405
5400
  if (origin & 32 || (token & 2097152) === 0) {
5406
5401
  if (parser.token === 274549 ||
5407
5402
  (parser.token === 8738868 &&
@@ -5436,7 +5431,7 @@ System.register('meriyah', [], (function (exports) {
5436
5431
  const { token, tokenPos, linePos, colPos } = parser;
5437
5432
  if (isVarDecl) {
5438
5433
  if (token === 241739) {
5439
- init = parseIdentifier(parser, context, 0);
5434
+ init = parseIdentifier(parser, context);
5440
5435
  if (parser.token & (143360 | 2097152)) {
5441
5436
  if (parser.token === 8738868) {
5442
5437
  if (context & 1024)
@@ -5504,7 +5499,7 @@ System.register('meriyah', [], (function (exports) {
5504
5499
  report(parser, 78, forAwait ? 'await' : 'of');
5505
5500
  reinterpretToPattern(parser, init);
5506
5501
  nextToken(parser, context | 32768);
5507
- right = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5502
+ right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5508
5503
  consume(parser, context | 32768, 16);
5509
5504
  const body = parseIterationStatementBody(parser, context, scope, labels);
5510
5505
  return finishNode(parser, context, start, line, column, {
@@ -5564,7 +5559,7 @@ System.register('meriyah', [], (function (exports) {
5564
5559
  report(parser, 116);
5565
5560
  if (scope)
5566
5561
  addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
5567
- return parseIdentifier(parser, context, 0);
5562
+ return parseIdentifier(parser, context);
5568
5563
  }
5569
5564
  function parseImportDeclaration(parser, context, scope) {
5570
5565
  const start = parser.tokenPos;
@@ -5637,7 +5632,9 @@ System.register('meriyah', [], (function (exports) {
5637
5632
  });
5638
5633
  }
5639
5634
  function parseModuleSpecifier(parser, context) {
5640
- consumeOpt(parser, context, 12404);
5635
+ if (!consumeOpt(parser, context, 12404)) {
5636
+ report(parser, 28, KeywordDescTable[parser.token & 255]);
5637
+ }
5641
5638
  if (parser.token !== 134283267)
5642
5639
  report(parser, 103, 'Import');
5643
5640
  return parseLiteral(parser, context);
@@ -5646,7 +5643,7 @@ System.register('meriyah', [], (function (exports) {
5646
5643
  nextToken(parser, context);
5647
5644
  while (parser.token & 143360) {
5648
5645
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
5649
- const imported = parseIdentifier(parser, context, 0);
5646
+ const imported = parseIdentifier(parser, context);
5650
5647
  let local;
5651
5648
  if (consumeOpt(parser, context, 77934)) {
5652
5649
  if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
@@ -5656,7 +5653,7 @@ System.register('meriyah', [], (function (exports) {
5656
5653
  validateBindingIdentifier(parser, context, 16, parser.token, 0);
5657
5654
  }
5658
5655
  tokenValue = parser.tokenValue;
5659
- local = parseIdentifier(parser, context, 0);
5656
+ local = parseIdentifier(parser, context);
5660
5657
  }
5661
5658
  else {
5662
5659
  validateBindingIdentifier(parser, context, 16, token, 0);
@@ -5716,7 +5713,7 @@ System.register('meriyah', [], (function (exports) {
5716
5713
  break;
5717
5714
  case 209007:
5718
5715
  const { tokenPos, linePos, colPos } = parser;
5719
- declaration = parseIdentifier(parser, context, 0);
5716
+ declaration = parseIdentifier(parser, context);
5720
5717
  const { flags } = parser;
5721
5718
  if ((flags & 1) === 0) {
5722
5719
  if (parser.token === 86106) {
@@ -5731,14 +5728,14 @@ System.register('meriyah', [], (function (exports) {
5731
5728
  else if (parser.token & 143360) {
5732
5729
  if (scope)
5733
5730
  scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
5734
- declaration = parseIdentifier(parser, context, 0);
5731
+ declaration = parseIdentifier(parser, context);
5735
5732
  declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
5736
5733
  }
5737
5734
  }
5738
5735
  }
5739
5736
  break;
5740
5737
  default:
5741
- declaration = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5738
+ declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5742
5739
  matchOrInsertSemicolon(parser, context | 32768);
5743
5740
  }
5744
5741
  if (scope)
@@ -5756,7 +5753,7 @@ System.register('meriyah', [], (function (exports) {
5756
5753
  if (isNamedDeclaration) {
5757
5754
  if (scope)
5758
5755
  declareUnboundVariable(parser, parser.tokenValue);
5759
- exported = parseIdentifier(parser, context, 0);
5756
+ exported = parseIdentifier(parser, context);
5760
5757
  }
5761
5758
  consume(parser, context, 12404);
5762
5759
  if (parser.token !== 134283267)
@@ -5775,7 +5772,7 @@ System.register('meriyah', [], (function (exports) {
5775
5772
  const tmpExportedBindings = [];
5776
5773
  while (parser.token & 143360) {
5777
5774
  const { tokenPos, tokenValue, linePos, colPos } = parser;
5778
- const local = parseIdentifier(parser, context, 0);
5775
+ const local = parseIdentifier(parser, context);
5779
5776
  let exported;
5780
5777
  if (parser.token === 77934) {
5781
5778
  nextToken(parser, context);
@@ -5786,7 +5783,7 @@ System.register('meriyah', [], (function (exports) {
5786
5783
  tmpExportedNames.push(parser.tokenValue);
5787
5784
  tmpExportedBindings.push(tokenValue);
5788
5785
  }
5789
- exported = parseIdentifier(parser, context, 0);
5786
+ exported = parseIdentifier(parser, context);
5790
5787
  }
5791
5788
  else {
5792
5789
  if (scope) {
@@ -5860,15 +5857,15 @@ System.register('meriyah', [], (function (exports) {
5860
5857
  source
5861
5858
  });
5862
5859
  }
5863
- function parseExpression(parser, context, canAssign, isPattern, inGroup, start, line, column) {
5864
- let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, isPattern, inGroup, 1, start, line, column);
5860
+ function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
5861
+ let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
5865
5862
  expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
5866
5863
  return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
5867
5864
  }
5868
5865
  function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
5869
5866
  const expressions = [expr];
5870
5867
  while (consumeOpt(parser, context | 32768, 18)) {
5871
- expressions.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5868
+ expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
5872
5869
  }
5873
5870
  return finishNode(parser, context, start, line, column, {
5874
5871
  type: 'SequenceExpression',
@@ -5876,7 +5873,7 @@ System.register('meriyah', [], (function (exports) {
5876
5873
  });
5877
5874
  }
5878
5875
  function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
5879
- const expr = parseExpression(parser, context, canAssign, 0, inGroup, start, line, column);
5876
+ const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
5880
5877
  return parser.token === 18
5881
5878
  ? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
5882
5879
  : expr;
@@ -5891,7 +5888,7 @@ System.register('meriyah', [], (function (exports) {
5891
5888
  reinterpretToPattern(parser, left);
5892
5889
  }
5893
5890
  nextToken(parser, context | 32768);
5894
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5891
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5895
5892
  parser.assignable = 2;
5896
5893
  return finishNode(parser, context, start, line, column, isPattern
5897
5894
  ? {
@@ -5917,7 +5914,7 @@ System.register('meriyah', [], (function (exports) {
5917
5914
  function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
5918
5915
  const { token } = parser;
5919
5916
  nextToken(parser, context | 32768);
5920
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5917
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
5921
5918
  left = finishNode(parser, context, start, line, column, isPattern
5922
5919
  ? {
5923
5920
  type: 'AssignmentPattern',
@@ -5934,10 +5931,10 @@ System.register('meriyah', [], (function (exports) {
5934
5931
  return left;
5935
5932
  }
5936
5933
  function parseConditionalExpression(parser, context, test, start, line, column) {
5937
- const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5934
+ const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5938
5935
  consume(parser, context | 32768, 21);
5939
5936
  parser.assignable = 1;
5940
- const alternate = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
5937
+ const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
5941
5938
  parser.assignable = 2;
5942
5939
  return finishNode(parser, context, start, line, column, {
5943
5940
  type: 'ConditionalExpression',
@@ -5995,9 +5992,9 @@ System.register('meriyah', [], (function (exports) {
5995
5992
  prefix: true
5996
5993
  });
5997
5994
  }
5998
- function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column) {
5995
+ function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
5999
5996
  const { token } = parser;
6000
- const expr = parseIdentifier(parser, context, isPattern);
5997
+ const expr = parseIdentifier(parser, context);
6001
5998
  const { flags } = parser;
6002
5999
  if ((flags & 1) === 0) {
6003
6000
  if (parser.token === 86106) {
@@ -6037,7 +6034,7 @@ System.register('meriyah', [], (function (exports) {
6037
6034
  if ((parser.flags & 1) === 0) {
6038
6035
  delegate = consumeOpt(parser, context | 32768, 8457014);
6039
6036
  if (parser.token & (12288 | 65536) || delegate) {
6040
- argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6037
+ argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6041
6038
  }
6042
6039
  }
6043
6040
  parser.assignable = 2;
@@ -6140,8 +6137,9 @@ System.register('meriyah', [], (function (exports) {
6140
6137
  case 67174411: {
6141
6138
  if ((context & 524288) === 0)
6142
6139
  report(parser, 26);
6143
- if (context & 16384)
6140
+ if (context & 16384 && !(context & 33554432)) {
6144
6141
  report(parser, 27);
6142
+ }
6145
6143
  parser.assignable = 2;
6146
6144
  break;
6147
6145
  }
@@ -6149,8 +6147,9 @@ System.register('meriyah', [], (function (exports) {
6149
6147
  case 67108877: {
6150
6148
  if ((context & 262144) === 0)
6151
6149
  report(parser, 27);
6152
- if (context & 16384)
6150
+ if (context & 16384 && !(context & 33554432)) {
6153
6151
  report(parser, 27);
6152
+ }
6154
6153
  parser.assignable = 1;
6155
6154
  break;
6156
6155
  }
@@ -6160,7 +6159,7 @@ System.register('meriyah', [], (function (exports) {
6160
6159
  return finishNode(parser, context, start, line, column, { type: 'Super' });
6161
6160
  }
6162
6161
  function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
6163
- const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, 0, inGroup, isLHS, start, line, column);
6162
+ const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
6164
6163
  return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
6165
6164
  }
6166
6165
  function parseUpdateExpression(parser, context, expr, start, line, column) {
@@ -6184,7 +6183,10 @@ System.register('meriyah', [], (function (exports) {
6184
6183
  context = (context | 134217728) ^ 134217728;
6185
6184
  switch (parser.token) {
6186
6185
  case 67108877: {
6187
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6186
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6187
+ if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
6188
+ report(parser, 27);
6189
+ }
6188
6190
  parser.assignable = 1;
6189
6191
  const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);
6190
6192
  expr = finishNode(parser, context, start, line, column, {
@@ -6240,7 +6242,7 @@ System.register('meriyah', [], (function (exports) {
6240
6242
  break;
6241
6243
  }
6242
6244
  case 67108991: {
6243
- nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
6245
+ nextToken(parser, (context | 268435456 | 8192) ^ 8192);
6244
6246
  parser.flags |= 2048;
6245
6247
  parser.assignable = 2;
6246
6248
  expr = parseOptionalChain(parser, context, expr, start, line, column);
@@ -6306,7 +6308,7 @@ System.register('meriyah', [], (function (exports) {
6306
6308
  else {
6307
6309
  if ((parser.token & (143360 | 4096)) === 0)
6308
6310
  report(parser, 155);
6309
- const property = parseIdentifier(parser, context, 0);
6311
+ const property = parseIdentifier(parser, context);
6310
6312
  parser.assignable = 2;
6311
6313
  node = finishNode(parser, context, start, line, column, {
6312
6314
  type: 'MemberExpression',
@@ -6327,7 +6329,7 @@ System.register('meriyah', [], (function (exports) {
6327
6329
  }
6328
6330
  return context & 1 && parser.token === 131
6329
6331
  ? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
6330
- : parseIdentifier(parser, context, 0);
6332
+ : parseIdentifier(parser, context);
6331
6333
  }
6332
6334
  function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
6333
6335
  if (inNew)
@@ -6348,7 +6350,7 @@ System.register('meriyah', [], (function (exports) {
6348
6350
  prefix: true
6349
6351
  });
6350
6352
  }
6351
- function parsePrimaryExpression(parser, context, kind, inNew, canAssign, isPattern, inGroup, isLHS, start, line, column) {
6353
+ function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
6352
6354
  if ((parser.token & 143360) === 143360) {
6353
6355
  switch (parser.token) {
6354
6356
  case 209008:
@@ -6356,10 +6358,10 @@ System.register('meriyah', [], (function (exports) {
6356
6358
  case 241773:
6357
6359
  return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
6358
6360
  case 209007:
6359
- return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPattern, inNew, start, line, column);
6361
+ return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
6360
6362
  }
6361
6363
  const { token, tokenValue } = parser;
6362
- const expr = parseIdentifier(parser, context | 65536, isPattern);
6364
+ const expr = parseIdentifier(parser, context | 65536);
6363
6365
  if (parser.token === 10) {
6364
6366
  if (!isLHS)
6365
6367
  report(parser, 0);
@@ -6438,7 +6440,7 @@ System.register('meriyah', [], (function (exports) {
6438
6440
  }
6439
6441
  }
6440
6442
  function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
6441
- let expr = parseIdentifier(parser, context, 0);
6443
+ let expr = parseIdentifier(parser, context);
6442
6444
  if (parser.token === 67108877) {
6443
6445
  return parseImportMetaExpression(parser, context, expr, start, line, column);
6444
6446
  }
@@ -6458,14 +6460,14 @@ System.register('meriyah', [], (function (exports) {
6458
6460
  return finishNode(parser, context, start, line, column, {
6459
6461
  type: 'MetaProperty',
6460
6462
  meta,
6461
- property: parseIdentifier(parser, context, 0)
6463
+ property: parseIdentifier(parser, context)
6462
6464
  });
6463
6465
  }
6464
6466
  function parseImportExpression(parser, context, inGroup, start, line, column) {
6465
6467
  consume(parser, context | 32768, 67174411);
6466
6468
  if (parser.token === 14)
6467
6469
  report(parser, 139);
6468
- const source = parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6470
+ const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6469
6471
  consume(parser, context, 16);
6470
6472
  return finishNode(parser, context, start, line, column, {
6471
6473
  type: 'ImportExpression',
@@ -6554,7 +6556,7 @@ System.register('meriyah', [], (function (exports) {
6554
6556
  function parseSpreadElement(parser, context, start, line, column) {
6555
6557
  context = (context | 134217728) ^ 134217728;
6556
6558
  consume(parser, context | 32768, 14);
6557
- const argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
6559
+ const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
6558
6560
  parser.assignable = 1;
6559
6561
  return finishNode(parser, context, start, line, column, {
6560
6562
  type: 'SpreadElement',
@@ -6573,7 +6575,7 @@ System.register('meriyah', [], (function (exports) {
6573
6575
  args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
6574
6576
  }
6575
6577
  else {
6576
- args.push(parseExpression(parser, context, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6578
+ args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
6577
6579
  }
6578
6580
  if (parser.token !== 18)
6579
6581
  break;
@@ -6584,19 +6586,13 @@ System.register('meriyah', [], (function (exports) {
6584
6586
  consume(parser, context, 16);
6585
6587
  return args;
6586
6588
  }
6587
- function parseIdentifier(parser, context, isPattern) {
6589
+ function parseIdentifier(parser, context) {
6588
6590
  const { tokenValue, tokenPos, linePos, colPos } = parser;
6589
6591
  nextToken(parser, context);
6590
- return finishNode(parser, context, tokenPos, linePos, colPos, context & 268435456
6591
- ? {
6592
- type: 'Identifier',
6593
- name: tokenValue,
6594
- pattern: isPattern === 1
6595
- }
6596
- : {
6597
- type: 'Identifier',
6598
- name: tokenValue
6599
- });
6592
+ return finishNode(parser, context, tokenPos, linePos, colPos, {
6593
+ type: 'Identifier',
6594
+ name: tokenValue
6595
+ });
6600
6596
  }
6601
6597
  function parseLiteral(parser, context) {
6602
6598
  const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
@@ -6671,7 +6667,7 @@ System.register('meriyah', [], (function (exports) {
6671
6667
  }
6672
6668
  firstRestricted = parser.token;
6673
6669
  if (parser.token & 143360) {
6674
- id = parseIdentifier(parser, context, 0);
6670
+ id = parseIdentifier(parser, context);
6675
6671
  }
6676
6672
  else {
6677
6673
  report(parser, 28, KeywordDescTable[parser.token & 255]);
@@ -6681,7 +6677,7 @@ System.register('meriyah', [], (function (exports) {
6681
6677
  ((context | 32243712) ^ 32243712) |
6682
6678
  67108864 |
6683
6679
  ((isAsync * 2 + isGenerator) << 21) |
6684
- (isGenerator ? 0 : 1073741824);
6680
+ (isGenerator ? 0 : 268435456);
6685
6681
  if (scope)
6686
6682
  functionScope = addChildScope(functionScope, 512);
6687
6683
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
@@ -6708,13 +6704,13 @@ System.register('meriyah', [], (function (exports) {
6708
6704
  if (scope)
6709
6705
  scope = addChildScope(scope, 256);
6710
6706
  firstRestricted = parser.token;
6711
- id = parseIdentifier(parser, context, 0);
6707
+ id = parseIdentifier(parser, context);
6712
6708
  }
6713
6709
  context =
6714
6710
  ((context | 32243712) ^ 32243712) |
6715
6711
  67108864 |
6716
6712
  generatorAndAsyncFlags |
6717
- (isGenerator ? 0 : 1073741824);
6713
+ (isGenerator ? 0 : 268435456);
6718
6714
  if (scope)
6719
6715
  scope = addChildScope(scope, 512);
6720
6716
  const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
@@ -6752,14 +6748,14 @@ System.register('meriyah', [], (function (exports) {
6752
6748
  let left;
6753
6749
  const { token, tokenPos, linePos, colPos, tokenValue } = parser;
6754
6750
  if (token & 143360) {
6755
- left = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6751
+ left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6756
6752
  if (parser.token === 1077936157) {
6757
6753
  if (parser.assignable & 2)
6758
6754
  report(parser, 24);
6759
6755
  nextToken(parser, context | 32768);
6760
6756
  if (scope)
6761
6757
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
6762
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6758
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
6763
6759
  left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
6764
6760
  ? {
6765
6761
  type: 'AssignmentPattern',
@@ -6898,7 +6894,7 @@ System.register('meriyah', [], (function (exports) {
6898
6894
  if (!isPattern)
6899
6895
  reinterpretToPattern(parser, node);
6900
6896
  const { tokenPos, linePos, colPos } = parser;
6901
- const right = parseExpression(parser, context, 1, 1, inGroup, tokenPos, linePos, colPos);
6897
+ const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
6902
6898
  parser.destructible =
6903
6899
  ((destructible | 64 | 8) ^
6904
6900
  (8 | 64)) |
@@ -6924,7 +6920,7 @@ System.register('meriyah', [], (function (exports) {
6924
6920
  let { token, tokenValue, tokenPos, linePos, colPos } = parser;
6925
6921
  if (token & (4096 | 143360)) {
6926
6922
  parser.assignable = 1;
6927
- argument = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
6923
+ argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
6928
6924
  token = parser.token;
6929
6925
  argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
6930
6926
  if (parser.token !== 18 && parser.token !== closingToken) {
@@ -7019,7 +7015,7 @@ System.register('meriyah', [], (function (exports) {
7019
7015
  if (destructible & 16)
7020
7016
  report(parser, 24);
7021
7017
  reinterpretToPattern(parser, argument);
7022
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7018
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7023
7019
  argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
7024
7020
  ? {
7025
7021
  type: 'AssignmentPattern',
@@ -7091,7 +7087,7 @@ System.register('meriyah', [], (function (exports) {
7091
7087
  let value;
7092
7088
  const t = parser.token;
7093
7089
  if (parser.token & (143360 | 4096) || parser.token === 121) {
7094
- key = parseIdentifier(parser, context, 0);
7090
+ key = parseIdentifier(parser, context);
7095
7091
  if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
7096
7092
  state |= 4;
7097
7093
  if (context & 1024 && (token & 537079808) === 537079808) {
@@ -7104,7 +7100,7 @@ System.register('meriyah', [], (function (exports) {
7104
7100
  addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
7105
7101
  if (consumeOpt(parser, context | 32768, 1077936157)) {
7106
7102
  destructible |= 8;
7107
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7103
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7108
7104
  destructible |=
7109
7105
  parser.destructible & 256
7110
7106
  ? 256
@@ -7113,7 +7109,7 @@ System.register('meriyah', [], (function (exports) {
7113
7109
  : 0;
7114
7110
  value = finishNode(parser, context, tokenPos, linePos, colPos, {
7115
7111
  type: 'AssignmentPattern',
7116
- left: context & -2147483648 ? Object.assign({}, key) : key,
7112
+ left: context & 536870912 ? Object.assign({}, key) : key,
7117
7113
  right
7118
7114
  });
7119
7115
  }
@@ -7121,7 +7117,7 @@ System.register('meriyah', [], (function (exports) {
7121
7117
  destructible |=
7122
7118
  (token === 209008 ? 128 : 0) |
7123
7119
  (token === 121 ? 16 : 0);
7124
- value = context & -2147483648 ? Object.assign({}, key) : key;
7120
+ value = context & 536870912 ? Object.assign({}, key) : key;
7125
7121
  }
7126
7122
  }
7127
7123
  else if (consumeOpt(parser, context | 32768, 21)) {
@@ -7132,7 +7128,7 @@ System.register('meriyah', [], (function (exports) {
7132
7128
  const tokenAfterColon = parser.token;
7133
7129
  const valueAfterColon = parser.tokenValue;
7134
7130
  destructible |= t === 121 ? 16 : 0;
7135
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7131
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7136
7132
  const { token } = parser;
7137
7133
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7138
7134
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7253,7 +7249,7 @@ System.register('meriyah', [], (function (exports) {
7253
7249
  report(parser, 129);
7254
7250
  state |= 16;
7255
7251
  }
7256
- key = parseIdentifier(parser, context, 0);
7252
+ key = parseIdentifier(parser, context);
7257
7253
  state |=
7258
7254
  token === 12402
7259
7255
  ? 256
@@ -7282,7 +7278,7 @@ System.register('meriyah', [], (function (exports) {
7282
7278
  state |=
7283
7279
  8 | 1 | (token === 209007 ? 16 : 0);
7284
7280
  if (parser.token & 143360) {
7285
- key = parseIdentifier(parser, context, 0);
7281
+ key = parseIdentifier(parser, context);
7286
7282
  }
7287
7283
  else if ((parser.token & 134217728) === 134217728) {
7288
7284
  key = parseLiteral(parser, context);
@@ -7322,7 +7318,7 @@ System.register('meriyah', [], (function (exports) {
7322
7318
  if (tokenValue === '__proto__')
7323
7319
  prototypeCount++;
7324
7320
  if (parser.token & 143360) {
7325
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7321
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7326
7322
  const { token, tokenValue: valueAfterColon } = parser;
7327
7323
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7328
7324
  if (parser.token === 18 || parser.token === 1074790415) {
@@ -7423,7 +7419,7 @@ System.register('meriyah', [], (function (exports) {
7423
7419
  nextToken(parser, context | 32768);
7424
7420
  const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
7425
7421
  if (parser.token & 143360) {
7426
- value = parsePrimaryExpression(parser, context, kind, 0, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
7422
+ value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
7427
7423
  const { token } = parser;
7428
7424
  value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
7429
7425
  if ((parser.token & 4194304) === 4194304) {
@@ -7529,7 +7525,7 @@ System.register('meriyah', [], (function (exports) {
7529
7525
  state |= 8;
7530
7526
  if (parser.token & 143360) {
7531
7527
  const { token, line, index } = parser;
7532
- key = parseIdentifier(parser, context, 0);
7528
+ key = parseIdentifier(parser, context);
7533
7529
  state |= 1;
7534
7530
  if (parser.token === 67174411) {
7535
7531
  destructible |= 16;
@@ -7643,7 +7639,7 @@ System.register('meriyah', [], (function (exports) {
7643
7639
  if (parser.token === 1077936157) {
7644
7640
  nextToken(parser, context | 32768);
7645
7641
  isSimpleParameterList = 1;
7646
- const right = parseExpression(parser, context, 1, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7642
+ const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7647
7643
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7648
7644
  type: 'AssignmentPattern',
7649
7645
  left: left,
@@ -7670,14 +7666,14 @@ System.register('meriyah', [], (function (exports) {
7670
7666
  }
7671
7667
  function parseComputedPropertyName(parser, context, inGroup) {
7672
7668
  nextToken(parser, context | 32768);
7673
- const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7669
+ const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7674
7670
  consume(parser, context, 20);
7675
7671
  return key;
7676
7672
  }
7677
7673
  function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
7678
7674
  parser.flags = (parser.flags | 128) ^ 128;
7679
7675
  const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
7680
- nextToken(parser, context | 32768 | 1073741824);
7676
+ nextToken(parser, context | 32768 | 268435456);
7681
7677
  const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
7682
7678
  context = (context | 134217728) ^ 134217728;
7683
7679
  if (consumeOpt(parser, context, 16)) {
@@ -7696,7 +7692,7 @@ System.register('meriyah', [], (function (exports) {
7696
7692
  if (token & (143360 | 4096)) {
7697
7693
  if (scope)
7698
7694
  addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
7699
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
7695
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
7700
7696
  if (parser.token === 16 || parser.token === 18) {
7701
7697
  if (parser.assignable & 2) {
7702
7698
  destructible |= 16;
@@ -7723,8 +7719,8 @@ System.register('meriyah', [], (function (exports) {
7723
7719
  else if ((token & 2097152) === 2097152) {
7724
7720
  expr =
7725
7721
  token === 2162700
7726
- ? parseObjectLiteralOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7727
- : parseArrayExpressionOrPattern(parser, context | 1073741824, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7722
+ ? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
7723
+ : parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
7728
7724
  destructible |= parser.destructible;
7729
7725
  isSimpleParameterList = 1;
7730
7726
  parser.assignable = 2;
@@ -7751,7 +7747,7 @@ System.register('meriyah', [], (function (exports) {
7751
7747
  }
7752
7748
  else {
7753
7749
  destructible |= 16;
7754
- expr = parseExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
7750
+ expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
7755
7751
  if (isSequence && (parser.token === 16 || parser.token === 18)) {
7756
7752
  expressions.push(expr);
7757
7753
  }
@@ -7763,7 +7759,7 @@ System.register('meriyah', [], (function (exports) {
7763
7759
  }
7764
7760
  if (isSequence) {
7765
7761
  while (consumeOpt(parser, context | 32768, 18)) {
7766
- expressions.push(parseExpression(parser, context, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos));
7762
+ expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
7767
7763
  }
7768
7764
  parser.assignable = 2;
7769
7765
  expr = finishNode(parser, context, iStart, lStart, cStart, {
@@ -7830,7 +7826,7 @@ System.register('meriyah', [], (function (exports) {
7830
7826
  }
7831
7827
  function parseIdentifierOrArrow(parser, context, start, line, column) {
7832
7828
  const { tokenValue } = parser;
7833
- const expr = parseIdentifier(parser, context, 0);
7829
+ const expr = parseIdentifier(parser, context);
7834
7830
  parser.assignable = 1;
7835
7831
  if (parser.token === 10) {
7836
7832
  let scope = void 0;
@@ -7868,7 +7864,7 @@ System.register('meriyah', [], (function (exports) {
7868
7864
  reportScopeError(scope.scopeError);
7869
7865
  }
7870
7866
  if (expression) {
7871
- body = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
7867
+ body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
7872
7868
  }
7873
7869
  else {
7874
7870
  if (scope)
@@ -7949,7 +7945,7 @@ System.register('meriyah', [], (function (exports) {
7949
7945
  if (parser.token === 1077936157) {
7950
7946
  nextToken(parser, context | 32768);
7951
7947
  isSimpleParameterList = 1;
7952
- const right = parseExpression(parser, context, 1, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7948
+ const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
7953
7949
  left = finishNode(parser, context, tokenPos, linePos, colPos, {
7954
7950
  type: 'AssignmentPattern',
7955
7951
  left,
@@ -7975,7 +7971,7 @@ System.register('meriyah', [], (function (exports) {
7975
7971
  const { token } = parser;
7976
7972
  if (token & 67108864) {
7977
7973
  if (token === 67108877) {
7978
- nextToken(parser, context | 1073741824);
7974
+ nextToken(parser, context | 268435456);
7979
7975
  parser.assignable = 1;
7980
7976
  const property = parsePropertyOrPrivatePropertyName(parser, context);
7981
7977
  return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
@@ -8012,7 +8008,7 @@ System.register('meriyah', [], (function (exports) {
8012
8008
  return expr;
8013
8009
  }
8014
8010
  function parseNewExpression(parser, context, inGroup, start, line, column) {
8015
- const id = parseIdentifier(parser, context | 32768, 0);
8011
+ const id = parseIdentifier(parser, context | 32768);
8016
8012
  const { tokenPos, linePos, colPos } = parser;
8017
8013
  if (consumeOpt(parser, context, 67108877)) {
8018
8014
  if (context & 67108864 && parser.token === 143494) {
@@ -8025,7 +8021,7 @@ System.register('meriyah', [], (function (exports) {
8025
8021
  if ((parser.token & 16842752) === 16842752) {
8026
8022
  report(parser, 63, KeywordDescTable[parser.token & 255]);
8027
8023
  }
8028
- const expr = parsePrimaryExpression(parser, context, 2, 1, 0, 0, inGroup, 1, tokenPos, linePos, colPos);
8024
+ const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
8029
8025
  context = (context | 134217728) ^ 134217728;
8030
8026
  if (parser.token === 67108991)
8031
8027
  report(parser, 163);
@@ -8038,7 +8034,7 @@ System.register('meriyah', [], (function (exports) {
8038
8034
  });
8039
8035
  }
8040
8036
  function parseMetaProperty(parser, context, meta, start, line, column) {
8041
- const property = parseIdentifier(parser, context, 0);
8037
+ const property = parseIdentifier(parser, context);
8042
8038
  return finishNode(parser, context, start, line, column, {
8043
8039
  type: 'MetaProperty',
8044
8040
  meta,
@@ -8054,7 +8050,7 @@ System.register('meriyah', [], (function (exports) {
8054
8050
  if ((parser.token & 537079808) === 537079808) {
8055
8051
  parser.flags |= 512;
8056
8052
  }
8057
- return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context, 0), 0, canAssign, 1, start, line, column);
8053
+ return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
8058
8054
  }
8059
8055
  function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
8060
8056
  nextToken(parser, context | 32768);
@@ -8084,7 +8080,7 @@ System.register('meriyah', [], (function (exports) {
8084
8080
  if (token & (143360 | 4096)) {
8085
8081
  if (scope)
8086
8082
  addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
8087
- expr = parsePrimaryExpression(parser, context, kind, 0, 1, 0, 1, 1, tokenPos, linePos, colPos);
8083
+ expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
8088
8084
  if (parser.token === 16 || parser.token === 18) {
8089
8085
  if (parser.assignable & 2) {
8090
8086
  destructible |= 16;
@@ -8136,11 +8132,11 @@ System.register('meriyah', [], (function (exports) {
8136
8132
  isSimpleParameterList = 1;
8137
8133
  }
8138
8134
  else {
8139
- expr = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8135
+ expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8140
8136
  destructible = parser.assignable;
8141
8137
  params.push(expr);
8142
8138
  while (consumeOpt(parser, context | 32768, 18)) {
8143
- params.push(parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos));
8139
+ params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
8144
8140
  }
8145
8141
  destructible |= parser.assignable;
8146
8142
  consume(parser, context, 16);
@@ -8235,7 +8231,7 @@ System.register('meriyah', [], (function (exports) {
8235
8231
  }
8236
8232
  }
8237
8233
  }
8238
- id = parseIdentifier(parser, context, 0);
8234
+ id = parseIdentifier(parser, context);
8239
8235
  }
8240
8236
  else {
8241
8237
  if ((flags & 1) === 0)
@@ -8282,7 +8278,7 @@ System.register('meriyah', [], (function (exports) {
8282
8278
  if ((parser.token & 537079808) === 537079808) {
8283
8279
  report(parser, 116);
8284
8280
  }
8285
- id = parseIdentifier(parser, context, 0);
8281
+ id = parseIdentifier(parser, context);
8286
8282
  }
8287
8283
  let inheritedContext = context;
8288
8284
  if (consumeOpt(parser, context | 32768, 20567)) {
@@ -8320,7 +8316,7 @@ System.register('meriyah', [], (function (exports) {
8320
8316
  }
8321
8317
  function parseDecoratorList(parser, context, start, line, column) {
8322
8318
  nextToken(parser, context | 32768);
8323
- let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 0, 1, start, line, column);
8319
+ let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
8324
8320
  expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
8325
8321
  return finishNode(parser, context, start, line, column, {
8326
8322
  type: 'Decorator',
@@ -8363,7 +8359,7 @@ System.register('meriyah', [], (function (exports) {
8363
8359
  let key = null;
8364
8360
  const { token, tokenPos, linePos, colPos } = parser;
8365
8361
  if (token & (143360 | 36864)) {
8366
- key = parseIdentifier(parser, context, 0);
8362
+ key = parseIdentifier(parser, context);
8367
8363
  switch (token) {
8368
8364
  case 36972:
8369
8365
  if (!isStatic &&
@@ -8421,7 +8417,7 @@ System.register('meriyah', [], (function (exports) {
8421
8417
  return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
8422
8418
  }
8423
8419
  else if (token === 122) {
8424
- key = parseIdentifier(parser, context, 0);
8420
+ key = parseIdentifier(parser, context);
8425
8421
  if (parser.token !== 67174411)
8426
8422
  report(parser, 28, KeywordDescTable[parser.token & 255]);
8427
8423
  }
@@ -8430,7 +8426,7 @@ System.register('meriyah', [], (function (exports) {
8430
8426
  }
8431
8427
  if (kind & (8 | 16 | 768)) {
8432
8428
  if (parser.token & 143360) {
8433
- key = parseIdentifier(parser, context, 0);
8429
+ key = parseIdentifier(parser, context);
8434
8430
  }
8435
8431
  else if ((parser.token & 134217728) === 134217728) {
8436
8432
  key = parseLiteral(parser, context);
@@ -8440,7 +8436,7 @@ System.register('meriyah', [], (function (exports) {
8440
8436
  key = parseComputedPropertyName(parser, context, 0);
8441
8437
  }
8442
8438
  else if (parser.token === 122) {
8443
- key = parseIdentifier(parser, context, 0);
8439
+ key = parseIdentifier(parser, context);
8444
8440
  }
8445
8441
  else if (context & 1 && parser.token === 131) {
8446
8442
  kind |= 4096;
@@ -8528,7 +8524,14 @@ System.register('meriyah', [], (function (exports) {
8528
8524
  const { tokenPos, linePos, colPos } = parser;
8529
8525
  if (parser.token === 537079928)
8530
8526
  report(parser, 116);
8531
- value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 0, 1, tokenPos, linePos, colPos);
8527
+ const modifierFlags = (state & 64) === 0
8528
+ ? 31981568
8529
+ : 14680064;
8530
+ context =
8531
+ ((context | modifierFlags) ^ modifierFlags) |
8532
+ ((state & 88) << 18) |
8533
+ 100925440;
8534
+ value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
8532
8535
  if ((parser.token & 1073741824) !== 1073741824 ||
8533
8536
  (parser.token & 4194304) === 4194304) {
8534
8537
  value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
@@ -8736,7 +8739,7 @@ System.register('meriyah', [], (function (exports) {
8736
8739
  function parseJSXSpreadAttribute(parser, context, start, line, column) {
8737
8740
  nextToken(parser, context);
8738
8741
  consume(parser, context, 14);
8739
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8742
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8740
8743
  consume(parser, context, 1074790415);
8741
8744
  return finishNode(parser, context, start, line, column, {
8742
8745
  type: 'JSXSpreadAttribute',
@@ -8796,7 +8799,7 @@ System.register('meriyah', [], (function (exports) {
8796
8799
  expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
8797
8800
  }
8798
8801
  else {
8799
- expression = parseExpression(parser, context, 1, 0, 0, tokenPos, linePos, colPos);
8802
+ expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
8800
8803
  }
8801
8804
  if (inJSXChild) {
8802
8805
  consume(parser, context, 1074790415);
@@ -8811,7 +8814,7 @@ System.register('meriyah', [], (function (exports) {
8811
8814
  }
8812
8815
  function parseJSXSpreadChild(parser, context, start, line, column) {
8813
8816
  consume(parser, context, 14);
8814
- const expression = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
8817
+ const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
8815
8818
  consume(parser, context, 1074790415);
8816
8819
  return finishNode(parser, context, start, line, column, {
8817
8820
  type: 'JSXSpreadChild',
@@ -8840,7 +8843,7 @@ System.register('meriyah', [], (function (exports) {
8840
8843
  });
8841
8844
  exports('ESTree', estree);
8842
8845
 
8843
- var version$1 = "4.4.2";
8846
+ var version$1 = "4.4.4";
8844
8847
 
8845
8848
  const version = exports('version', version$1);
8846
8849
  function parseScript(source, options) {