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