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