meriyah 6.1.1 → 6.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/meriyah.mjs CHANGED
@@ -178,6 +178,11 @@ const errorMessages = {
178
178
  [177]: 'cannot use "await" in static blocks',
179
179
  };
180
180
  class ParseError extends SyntaxError {
181
+ start;
182
+ end;
183
+ range;
184
+ loc;
185
+ description;
181
186
  constructor(start, end, type, ...params) {
182
187
  const description = errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]);
183
188
  const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
@@ -979,6 +984,10 @@ function scanString(parser, context, quote) {
979
984
  }
980
985
  marker = parser.index + 1;
981
986
  }
987
+ else if (char === 8232 || char === 8233) {
988
+ parser.column = -1;
989
+ parser.line++;
990
+ }
982
991
  if (parser.index >= parser.end)
983
992
  report(parser, 16);
984
993
  char = advanceChar(parser);
@@ -1628,6 +1637,7 @@ function scanIdentifierUnicodeEscape(parser) {
1628
1637
  report(parser, 5);
1629
1638
  }
1630
1639
  parser.currentChar = parser.source.charCodeAt((parser.index += 2));
1640
+ parser.column += 2;
1631
1641
  return scanUnicodeEscape(parser);
1632
1642
  }
1633
1643
  function scanUnicodeEscape(parser) {
@@ -1659,6 +1669,7 @@ function scanUnicodeEscape(parser) {
1659
1669
  report(parser, 7);
1660
1670
  codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);
1661
1671
  parser.currentChar = parser.source.charCodeAt((parser.index += 4));
1672
+ parser.column += 4;
1662
1673
  return codePoint;
1663
1674
  }
1664
1675
 
@@ -4711,31 +4722,33 @@ function classifyIdentifier(parser, context, t) {
4711
4722
  }
4712
4723
 
4713
4724
  class Parser {
4725
+ source;
4726
+ options;
4727
+ lastOnToken = null;
4728
+ token = 1048576;
4729
+ flags = 0;
4730
+ index = 0;
4731
+ line = 1;
4732
+ column = 0;
4733
+ startIndex = 0;
4734
+ end = 0;
4735
+ tokenIndex = 0;
4736
+ startColumn = 0;
4737
+ tokenColumn = 0;
4738
+ tokenLine = 1;
4739
+ startLine = 1;
4740
+ tokenValue = '';
4741
+ tokenRaw = '';
4742
+ tokenRegExp = void 0;
4743
+ currentChar = 0;
4744
+ exportedNames = {};
4745
+ exportedBindings = {};
4746
+ assignable = 1;
4747
+ destructible = 0;
4748
+ leadingDecorators = { decorators: [] };
4714
4749
  constructor(source, options = {}) {
4715
4750
  this.source = source;
4716
4751
  this.options = options;
4717
- this.lastOnToken = null;
4718
- this.token = 1048576;
4719
- this.flags = 0;
4720
- this.index = 0;
4721
- this.line = 1;
4722
- this.column = 0;
4723
- this.startIndex = 0;
4724
- this.end = 0;
4725
- this.tokenIndex = 0;
4726
- this.startColumn = 0;
4727
- this.tokenColumn = 0;
4728
- this.tokenLine = 1;
4729
- this.startLine = 1;
4730
- this.tokenValue = '';
4731
- this.tokenRaw = '';
4732
- this.tokenRegExp = void 0;
4733
- this.currentChar = 0;
4734
- this.exportedNames = {};
4735
- this.exportedBindings = {};
4736
- this.assignable = 1;
4737
- this.destructible = 0;
4738
- this.leadingDecorators = { decorators: [] };
4739
4752
  this.end = source.length;
4740
4753
  this.currentChar = source.charCodeAt(0);
4741
4754
  }
@@ -4987,7 +5000,7 @@ function parseStatementListItem(parser, context, scope, privateScope, origin, la
4987
5000
  case 67174411:
4988
5001
  return parseImportCallDeclaration(parser, context, privateScope, start);
4989
5002
  case 67108877:
4990
- return parseImportMetaDeclaration(parser, context);
5003
+ return parseImportMetaDeclaration(parser, context, start);
4991
5004
  default:
4992
5005
  report(parser, 103, 'import');
4993
5006
  }
@@ -5072,7 +5085,7 @@ function parseExpressionOrLabelledStatement(parser, context, scope, privateScope
5072
5085
  }
5073
5086
  return parseExpressionStatement(parser, context, expr, tokenStart);
5074
5087
  }
5075
- function parseBlock(parser, context, scope, privateScope, labels, start, type = 'BlockStatement') {
5088
+ function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
5076
5089
  const body = [];
5077
5090
  consume(parser, context | 8192, 2162700);
5078
5091
  while (parser.getToken() !== 1074790415) {
@@ -5357,7 +5370,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
5357
5370
  const start = parser.tokenStart;
5358
5371
  nextToken(parser, context | 8192);
5359
5372
  const firstScope = scope ? addChildScope(scope, 32) : void 0;
5360
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels }, parser.tokenStart);
5373
+ const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
5361
5374
  const { tokenStart } = parser;
5362
5375
  const handler = consumeOpt(parser, context | 8192, 20557)
5363
5376
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -5366,7 +5379,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
5366
5379
  if (parser.getToken() === 20566) {
5367
5380
  nextToken(parser, context | 8192);
5368
5381
  const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;
5369
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels }, parser.tokenStart);
5382
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
5370
5383
  finalizer = block;
5371
5384
  }
5372
5385
  if (!handler && !finalizer) {
@@ -5398,7 +5411,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
5398
5411
  }
5399
5412
  if (scope)
5400
5413
  additionalScope = addChildScope(scope, 64);
5401
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels }, parser.tokenStart);
5414
+ const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
5402
5415
  return parser.finishNode({
5403
5416
  type: 'CatchClause',
5404
5417
  param,
@@ -5654,7 +5667,7 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
5654
5667
  init = parseAssignmentExpression(parser, context | 33554432, privateScope, 0, 0, tokenStart, init);
5655
5668
  }
5656
5669
  if (parser.getToken() === 18)
5657
- init = parseSequenceExpression(parser, context, privateScope, 0, parser.tokenStart, init);
5670
+ init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);
5658
5671
  consume(parser, context | 8192, 1074790417);
5659
5672
  if (parser.getToken() !== 1074790417)
5660
5673
  test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);
@@ -5722,7 +5735,7 @@ function parseImportDeclaration(parser, context, scope) {
5722
5735
  case 67174411:
5723
5736
  return parseImportCallDeclaration(parser, context, undefined, start);
5724
5737
  case 67108877:
5725
- return parseImportMetaDeclaration(parser, context);
5738
+ return parseImportMetaDeclaration(parser, context, start);
5726
5739
  default:
5727
5740
  report(parser, 30, KeywordDescTable[parser.getToken() & 255]);
5728
5741
  }
@@ -5795,12 +5808,11 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
5795
5808
  consume(parser, context, 1074790415);
5796
5809
  return specifiers;
5797
5810
  }
5798
- function parseImportMetaDeclaration(parser, context) {
5799
- const start = parser.tokenStart;
5811
+ function parseImportMetaDeclaration(parser, context, start) {
5800
5812
  let expr = parseImportMetaExpression(parser, context, parser.finishNode({
5801
5813
  type: 'Identifier',
5802
5814
  name: 'import',
5803
- }, start));
5815
+ }, start), start);
5804
5816
  expr = parseMemberOrUpdateExpression(parser, context, undefined, expr, 0, 0, start);
5805
5817
  expr = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expr);
5806
5818
  if (parser.getToken() === 18) {
@@ -6409,7 +6421,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
6409
6421
  tag: expr,
6410
6422
  quasi: parser.getToken() === 67174408
6411
6423
  ? parseTemplate(parser, context | 16384, privateScope)
6412
- : parseTemplateLiteral(parser, context, parser.tokenStart),
6424
+ : parseTemplateLiteral(parser, context),
6413
6425
  }, start);
6414
6426
  }
6415
6427
  expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);
@@ -6578,7 +6590,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
6578
6590
  case 86109:
6579
6591
  return parseSuperExpression(parser, context);
6580
6592
  case 67174409:
6581
- return parseTemplateLiteral(parser, context, start);
6593
+ return parseTemplateLiteral(parser, context);
6582
6594
  case 67174408:
6583
6595
  return parseTemplate(parser, context, privateScope);
6584
6596
  case 86107:
@@ -6601,7 +6613,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
6601
6613
  function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start) {
6602
6614
  let expr = parseIdentifier(parser, context);
6603
6615
  if (parser.getToken() === 67108877) {
6604
- return parseImportMetaExpression(parser, context, expr);
6616
+ return parseImportMetaExpression(parser, context, expr, start);
6605
6617
  }
6606
6618
  if (inNew)
6607
6619
  report(parser, 142);
@@ -6609,10 +6621,9 @@ function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, i
6609
6621
  parser.assignable = 2;
6610
6622
  return parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);
6611
6623
  }
6612
- function parseImportMetaExpression(parser, context, meta) {
6624
+ function parseImportMetaExpression(parser, context, meta, start) {
6613
6625
  if ((context & 512) === 0)
6614
6626
  report(parser, 169);
6615
- const { tokenStart } = parser;
6616
6627
  nextToken(parser, context);
6617
6628
  const token = parser.getToken();
6618
6629
  if (token !== 209030 && parser.tokenValue !== 'meta') {
@@ -6626,7 +6637,7 @@ function parseImportMetaExpression(parser, context, meta) {
6626
6637
  type: 'MetaProperty',
6627
6638
  meta,
6628
6639
  property: parseIdentifier(parser, context),
6629
- }, tokenStart);
6640
+ }, start);
6630
6641
  }
6631
6642
  function parseImportExpression(parser, context, privateScope, inGroup, start) {
6632
6643
  consume(parser, context | 8192, 67174411);
@@ -6749,7 +6760,7 @@ function parseBigIntLiteral(parser, context) {
6749
6760
  }
6750
6761
  return parser.finishNode(node, tokenStart);
6751
6762
  }
6752
- function parseTemplateLiteral(parser, context, start) {
6763
+ function parseTemplateLiteral(parser, context) {
6753
6764
  parser.assignable = 2;
6754
6765
  const { tokenValue, tokenRaw, tokenStart } = parser;
6755
6766
  consume(parser, context, 67174409);
@@ -6758,7 +6769,7 @@ function parseTemplateLiteral(parser, context, start) {
6758
6769
  type: 'TemplateLiteral',
6759
6770
  expressions: [],
6760
6771
  quasis,
6761
- }, start);
6772
+ }, tokenStart);
6762
6773
  }
6763
6774
  function parseTemplate(parser, context, privateScope) {
6764
6775
  context = (context | 33554432) ^ 33554432;
@@ -7847,7 +7858,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
7847
7858
  destructible |= 16;
7848
7859
  key = parseLiteral(parser, context);
7849
7860
  state |= 1;
7850
- value = parseMethodDefinition(parser, context, privateScope, state, inGroup, tokenStart);
7861
+ value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
7851
7862
  }
7852
7863
  else if (parser.getToken() === 69271571) {
7853
7864
  destructible |= 16;
@@ -8338,7 +8349,7 @@ function parseMemberExpressionNoCall(parser, context, privateScope, expr, inGrou
8338
8349
  tag: expr,
8339
8350
  quasi: parser.getToken() === 67174408
8340
8351
  ? parseTemplate(parser, context | 16384, privateScope)
8341
- : parseTemplateLiteral(parser, context | 16384, parser.tokenStart),
8352
+ : parseTemplateLiteral(parser, context | 16384),
8342
8353
  }, start), 0, start);
8343
8354
  }
8344
8355
  }
@@ -8637,12 +8648,13 @@ function parseDecorators(parser, context, privateScope) {
8637
8648
  const list = [];
8638
8649
  if (context & 1) {
8639
8650
  while (parser.getToken() === 132) {
8640
- list.push(parseDecoratorList(parser, context, privateScope, parser.tokenStart));
8651
+ list.push(parseDecoratorList(parser, context, privateScope));
8641
8652
  }
8642
8653
  }
8643
8654
  return list;
8644
8655
  }
8645
- function parseDecoratorList(parser, context, privateScope, start) {
8656
+ function parseDecoratorList(parser, context, privateScope) {
8657
+ const start = parser.tokenStart;
8646
8658
  nextToken(parser, context | 8192);
8647
8659
  let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);
8648
8660
  expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);
@@ -8690,7 +8702,6 @@ function parseClassBody(parser, context, inheritedContext, scope, parentScope, k
8690
8702
  function parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {
8691
8703
  let kind = isStatic ? 32 : 0;
8692
8704
  let key = null;
8693
- const { tokenStart } = parser;
8694
8705
  const token = parser.getToken();
8695
8706
  if (token & (143360 | 36864) || token === -2147483528) {
8696
8707
  key = parseIdentifier(parser, context);
@@ -8706,7 +8717,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8706
8717
  case 209005:
8707
8718
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8708
8719
  if ((parser.getToken() & 1073741824) === 1073741824) {
8709
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8720
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8710
8721
  }
8711
8722
  kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);
8712
8723
  }
@@ -8714,7 +8725,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8714
8725
  case 209008:
8715
8726
  if (parser.getToken() !== 67174411) {
8716
8727
  if ((parser.getToken() & 1073741824) === 1073741824) {
8717
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8728
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8718
8729
  }
8719
8730
  kind |= 256;
8720
8731
  }
@@ -8722,7 +8733,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8722
8733
  case 209009:
8723
8734
  if (parser.getToken() !== 67174411) {
8724
8735
  if ((parser.getToken() & 1073741824) === 1073741824) {
8725
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8736
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8726
8737
  }
8727
8738
  kind |= 512;
8728
8739
  }
@@ -8730,7 +8741,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8730
8741
  case 12402:
8731
8742
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8732
8743
  if ((parser.getToken() & 1073741824) === 1073741824) {
8733
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8744
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8734
8745
  }
8735
8746
  if (context & 1)
8736
8747
  kind |= 1024;
@@ -9238,7 +9249,7 @@ function parseJSXIdentifier(parser, context) {
9238
9249
  }, start);
9239
9250
  }
9240
9251
 
9241
- var version$1 = "6.1.1";
9252
+ var version$1 = "6.1.3";
9242
9253
 
9243
9254
  const version = version$1;
9244
9255
  function parseScript(source, options) {
@@ -184,6 +184,11 @@
184
184
  [177]: 'cannot use "await" in static blocks',
185
185
  };
186
186
  class ParseError extends SyntaxError {
187
+ start;
188
+ end;
189
+ range;
190
+ loc;
191
+ description;
187
192
  constructor(start, end, type, ...params) {
188
193
  const description = errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]);
189
194
  const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
@@ -985,6 +990,10 @@
985
990
  }
986
991
  marker = parser.index + 1;
987
992
  }
993
+ else if (char === 8232 || char === 8233) {
994
+ parser.column = -1;
995
+ parser.line++;
996
+ }
988
997
  if (parser.index >= parser.end)
989
998
  report(parser, 16);
990
999
  char = advanceChar(parser);
@@ -1634,6 +1643,7 @@
1634
1643
  report(parser, 5);
1635
1644
  }
1636
1645
  parser.currentChar = parser.source.charCodeAt((parser.index += 2));
1646
+ parser.column += 2;
1637
1647
  return scanUnicodeEscape(parser);
1638
1648
  }
1639
1649
  function scanUnicodeEscape(parser) {
@@ -1665,6 +1675,7 @@
1665
1675
  report(parser, 7);
1666
1676
  codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);
1667
1677
  parser.currentChar = parser.source.charCodeAt((parser.index += 4));
1678
+ parser.column += 4;
1668
1679
  return codePoint;
1669
1680
  }
1670
1681
 
@@ -4717,31 +4728,33 @@
4717
4728
  }
4718
4729
 
4719
4730
  class Parser {
4731
+ source;
4732
+ options;
4733
+ lastOnToken = null;
4734
+ token = 1048576;
4735
+ flags = 0;
4736
+ index = 0;
4737
+ line = 1;
4738
+ column = 0;
4739
+ startIndex = 0;
4740
+ end = 0;
4741
+ tokenIndex = 0;
4742
+ startColumn = 0;
4743
+ tokenColumn = 0;
4744
+ tokenLine = 1;
4745
+ startLine = 1;
4746
+ tokenValue = '';
4747
+ tokenRaw = '';
4748
+ tokenRegExp = void 0;
4749
+ currentChar = 0;
4750
+ exportedNames = {};
4751
+ exportedBindings = {};
4752
+ assignable = 1;
4753
+ destructible = 0;
4754
+ leadingDecorators = { decorators: [] };
4720
4755
  constructor(source, options = {}) {
4721
4756
  this.source = source;
4722
4757
  this.options = options;
4723
- this.lastOnToken = null;
4724
- this.token = 1048576;
4725
- this.flags = 0;
4726
- this.index = 0;
4727
- this.line = 1;
4728
- this.column = 0;
4729
- this.startIndex = 0;
4730
- this.end = 0;
4731
- this.tokenIndex = 0;
4732
- this.startColumn = 0;
4733
- this.tokenColumn = 0;
4734
- this.tokenLine = 1;
4735
- this.startLine = 1;
4736
- this.tokenValue = '';
4737
- this.tokenRaw = '';
4738
- this.tokenRegExp = void 0;
4739
- this.currentChar = 0;
4740
- this.exportedNames = {};
4741
- this.exportedBindings = {};
4742
- this.assignable = 1;
4743
- this.destructible = 0;
4744
- this.leadingDecorators = { decorators: [] };
4745
4758
  this.end = source.length;
4746
4759
  this.currentChar = source.charCodeAt(0);
4747
4760
  }
@@ -4993,7 +5006,7 @@
4993
5006
  case 67174411:
4994
5007
  return parseImportCallDeclaration(parser, context, privateScope, start);
4995
5008
  case 67108877:
4996
- return parseImportMetaDeclaration(parser, context);
5009
+ return parseImportMetaDeclaration(parser, context, start);
4997
5010
  default:
4998
5011
  report(parser, 103, 'import');
4999
5012
  }
@@ -5078,7 +5091,7 @@
5078
5091
  }
5079
5092
  return parseExpressionStatement(parser, context, expr, tokenStart);
5080
5093
  }
5081
- function parseBlock(parser, context, scope, privateScope, labels, start, type = 'BlockStatement') {
5094
+ function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
5082
5095
  const body = [];
5083
5096
  consume(parser, context | 8192, 2162700);
5084
5097
  while (parser.getToken() !== 1074790415) {
@@ -5363,7 +5376,7 @@
5363
5376
  const start = parser.tokenStart;
5364
5377
  nextToken(parser, context | 8192);
5365
5378
  const firstScope = scope ? addChildScope(scope, 32) : void 0;
5366
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels }, parser.tokenStart);
5379
+ const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
5367
5380
  const { tokenStart } = parser;
5368
5381
  const handler = consumeOpt(parser, context | 8192, 20557)
5369
5382
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -5372,7 +5385,7 @@
5372
5385
  if (parser.getToken() === 20566) {
5373
5386
  nextToken(parser, context | 8192);
5374
5387
  const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;
5375
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels }, parser.tokenStart);
5388
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
5376
5389
  finalizer = block;
5377
5390
  }
5378
5391
  if (!handler && !finalizer) {
@@ -5404,7 +5417,7 @@
5404
5417
  }
5405
5418
  if (scope)
5406
5419
  additionalScope = addChildScope(scope, 64);
5407
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels }, parser.tokenStart);
5420
+ const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
5408
5421
  return parser.finishNode({
5409
5422
  type: 'CatchClause',
5410
5423
  param,
@@ -5660,7 +5673,7 @@
5660
5673
  init = parseAssignmentExpression(parser, context | 33554432, privateScope, 0, 0, tokenStart, init);
5661
5674
  }
5662
5675
  if (parser.getToken() === 18)
5663
- init = parseSequenceExpression(parser, context, privateScope, 0, parser.tokenStart, init);
5676
+ init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);
5664
5677
  consume(parser, context | 8192, 1074790417);
5665
5678
  if (parser.getToken() !== 1074790417)
5666
5679
  test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);
@@ -5728,7 +5741,7 @@
5728
5741
  case 67174411:
5729
5742
  return parseImportCallDeclaration(parser, context, undefined, start);
5730
5743
  case 67108877:
5731
- return parseImportMetaDeclaration(parser, context);
5744
+ return parseImportMetaDeclaration(parser, context, start);
5732
5745
  default:
5733
5746
  report(parser, 30, KeywordDescTable[parser.getToken() & 255]);
5734
5747
  }
@@ -5801,12 +5814,11 @@
5801
5814
  consume(parser, context, 1074790415);
5802
5815
  return specifiers;
5803
5816
  }
5804
- function parseImportMetaDeclaration(parser, context) {
5805
- const start = parser.tokenStart;
5817
+ function parseImportMetaDeclaration(parser, context, start) {
5806
5818
  let expr = parseImportMetaExpression(parser, context, parser.finishNode({
5807
5819
  type: 'Identifier',
5808
5820
  name: 'import',
5809
- }, start));
5821
+ }, start), start);
5810
5822
  expr = parseMemberOrUpdateExpression(parser, context, undefined, expr, 0, 0, start);
5811
5823
  expr = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expr);
5812
5824
  if (parser.getToken() === 18) {
@@ -6415,7 +6427,7 @@
6415
6427
  tag: expr,
6416
6428
  quasi: parser.getToken() === 67174408
6417
6429
  ? parseTemplate(parser, context | 16384, privateScope)
6418
- : parseTemplateLiteral(parser, context, parser.tokenStart),
6430
+ : parseTemplateLiteral(parser, context),
6419
6431
  }, start);
6420
6432
  }
6421
6433
  expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);
@@ -6584,7 +6596,7 @@
6584
6596
  case 86109:
6585
6597
  return parseSuperExpression(parser, context);
6586
6598
  case 67174409:
6587
- return parseTemplateLiteral(parser, context, start);
6599
+ return parseTemplateLiteral(parser, context);
6588
6600
  case 67174408:
6589
6601
  return parseTemplate(parser, context, privateScope);
6590
6602
  case 86107:
@@ -6607,7 +6619,7 @@
6607
6619
  function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start) {
6608
6620
  let expr = parseIdentifier(parser, context);
6609
6621
  if (parser.getToken() === 67108877) {
6610
- return parseImportMetaExpression(parser, context, expr);
6622
+ return parseImportMetaExpression(parser, context, expr, start);
6611
6623
  }
6612
6624
  if (inNew)
6613
6625
  report(parser, 142);
@@ -6615,10 +6627,9 @@
6615
6627
  parser.assignable = 2;
6616
6628
  return parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);
6617
6629
  }
6618
- function parseImportMetaExpression(parser, context, meta) {
6630
+ function parseImportMetaExpression(parser, context, meta, start) {
6619
6631
  if ((context & 512) === 0)
6620
6632
  report(parser, 169);
6621
- const { tokenStart } = parser;
6622
6633
  nextToken(parser, context);
6623
6634
  const token = parser.getToken();
6624
6635
  if (token !== 209030 && parser.tokenValue !== 'meta') {
@@ -6632,7 +6643,7 @@
6632
6643
  type: 'MetaProperty',
6633
6644
  meta,
6634
6645
  property: parseIdentifier(parser, context),
6635
- }, tokenStart);
6646
+ }, start);
6636
6647
  }
6637
6648
  function parseImportExpression(parser, context, privateScope, inGroup, start) {
6638
6649
  consume(parser, context | 8192, 67174411);
@@ -6755,7 +6766,7 @@
6755
6766
  }
6756
6767
  return parser.finishNode(node, tokenStart);
6757
6768
  }
6758
- function parseTemplateLiteral(parser, context, start) {
6769
+ function parseTemplateLiteral(parser, context) {
6759
6770
  parser.assignable = 2;
6760
6771
  const { tokenValue, tokenRaw, tokenStart } = parser;
6761
6772
  consume(parser, context, 67174409);
@@ -6764,7 +6775,7 @@
6764
6775
  type: 'TemplateLiteral',
6765
6776
  expressions: [],
6766
6777
  quasis,
6767
- }, start);
6778
+ }, tokenStart);
6768
6779
  }
6769
6780
  function parseTemplate(parser, context, privateScope) {
6770
6781
  context = (context | 33554432) ^ 33554432;
@@ -7853,7 +7864,7 @@
7853
7864
  destructible |= 16;
7854
7865
  key = parseLiteral(parser, context);
7855
7866
  state |= 1;
7856
- value = parseMethodDefinition(parser, context, privateScope, state, inGroup, tokenStart);
7867
+ value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
7857
7868
  }
7858
7869
  else if (parser.getToken() === 69271571) {
7859
7870
  destructible |= 16;
@@ -8344,7 +8355,7 @@
8344
8355
  tag: expr,
8345
8356
  quasi: parser.getToken() === 67174408
8346
8357
  ? parseTemplate(parser, context | 16384, privateScope)
8347
- : parseTemplateLiteral(parser, context | 16384, parser.tokenStart),
8358
+ : parseTemplateLiteral(parser, context | 16384),
8348
8359
  }, start), 0, start);
8349
8360
  }
8350
8361
  }
@@ -8643,12 +8654,13 @@
8643
8654
  const list = [];
8644
8655
  if (context & 1) {
8645
8656
  while (parser.getToken() === 132) {
8646
- list.push(parseDecoratorList(parser, context, privateScope, parser.tokenStart));
8657
+ list.push(parseDecoratorList(parser, context, privateScope));
8647
8658
  }
8648
8659
  }
8649
8660
  return list;
8650
8661
  }
8651
- function parseDecoratorList(parser, context, privateScope, start) {
8662
+ function parseDecoratorList(parser, context, privateScope) {
8663
+ const start = parser.tokenStart;
8652
8664
  nextToken(parser, context | 8192);
8653
8665
  let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);
8654
8666
  expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);
@@ -8696,7 +8708,6 @@
8696
8708
  function parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {
8697
8709
  let kind = isStatic ? 32 : 0;
8698
8710
  let key = null;
8699
- const { tokenStart } = parser;
8700
8711
  const token = parser.getToken();
8701
8712
  if (token & (143360 | 36864) || token === -2147483528) {
8702
8713
  key = parseIdentifier(parser, context);
@@ -8712,7 +8723,7 @@
8712
8723
  case 209005:
8713
8724
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8714
8725
  if ((parser.getToken() & 1073741824) === 1073741824) {
8715
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8726
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8716
8727
  }
8717
8728
  kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);
8718
8729
  }
@@ -8720,7 +8731,7 @@
8720
8731
  case 209008:
8721
8732
  if (parser.getToken() !== 67174411) {
8722
8733
  if ((parser.getToken() & 1073741824) === 1073741824) {
8723
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8734
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8724
8735
  }
8725
8736
  kind |= 256;
8726
8737
  }
@@ -8728,7 +8739,7 @@
8728
8739
  case 209009:
8729
8740
  if (parser.getToken() !== 67174411) {
8730
8741
  if ((parser.getToken() & 1073741824) === 1073741824) {
8731
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8742
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8732
8743
  }
8733
8744
  kind |= 512;
8734
8745
  }
@@ -8736,7 +8747,7 @@
8736
8747
  case 12402:
8737
8748
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8738
8749
  if ((parser.getToken() & 1073741824) === 1073741824) {
8739
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8750
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8740
8751
  }
8741
8752
  if (context & 1)
8742
8753
  kind |= 1024;
@@ -9244,7 +9255,7 @@
9244
9255
  }, start);
9245
9256
  }
9246
9257
 
9247
- var version$1 = "6.1.1";
9258
+ var version$1 = "6.1.3";
9248
9259
 
9249
9260
  const version = version$1;
9250
9261
  function parseScript(source, options) {