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.umd.js
CHANGED
|
@@ -1530,7 +1530,7 @@
|
|
|
1530
1530
|
return 122;
|
|
1531
1531
|
}
|
|
1532
1532
|
if ((token & 20480) === 20480) {
|
|
1533
|
-
if (context &
|
|
1533
|
+
if (context & 268435456 && (context & 8192) === 0) {
|
|
1534
1534
|
return token;
|
|
1535
1535
|
}
|
|
1536
1536
|
else {
|
|
@@ -1539,12 +1539,12 @@
|
|
|
1539
1539
|
}
|
|
1540
1540
|
return 143483;
|
|
1541
1541
|
}
|
|
1542
|
-
if (context &
|
|
1542
|
+
if (context & 268435456 &&
|
|
1543
1543
|
(context & 8192) === 0 &&
|
|
1544
1544
|
(token & 20480) === 20480)
|
|
1545
1545
|
return token;
|
|
1546
1546
|
if (token === 241773) {
|
|
1547
|
-
return context &
|
|
1547
|
+
return context & 268435456
|
|
1548
1548
|
? 143483
|
|
1549
1549
|
: context & 2097152
|
|
1550
1550
|
? 121
|
|
@@ -4363,10 +4363,9 @@
|
|
|
4363
4363
|
return parser.token;
|
|
4364
4364
|
}
|
|
4365
4365
|
|
|
4366
|
-
function matchOrInsertSemicolon(parser, context
|
|
4366
|
+
function matchOrInsertSemicolon(parser, context) {
|
|
4367
4367
|
if ((parser.flags & 1) === 0 &&
|
|
4368
|
-
(parser.token & 1048576) !== 1048576
|
|
4369
|
-
!specDeviation) {
|
|
4368
|
+
(parser.token & 1048576) !== 1048576) {
|
|
4370
4369
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
4371
4370
|
}
|
|
4372
4371
|
if (!consumeOpt(parser, context, 1074790417)) {
|
|
@@ -4758,7 +4757,7 @@
|
|
|
4758
4757
|
if (options.ranges)
|
|
4759
4758
|
context |= 2;
|
|
4760
4759
|
if (options.uniqueKeyInPattern)
|
|
4761
|
-
context |=
|
|
4760
|
+
context |= 536870912;
|
|
4762
4761
|
if (options.lexical)
|
|
4763
4762
|
context |= 64;
|
|
4764
4763
|
if (options.webcompat)
|
|
@@ -4775,10 +4774,6 @@
|
|
|
4775
4774
|
context |= 1024;
|
|
4776
4775
|
if (options.jsx)
|
|
4777
4776
|
context |= 16;
|
|
4778
|
-
if (options.identifierPattern)
|
|
4779
|
-
context |= 268435456;
|
|
4780
|
-
if (options.specDeviation)
|
|
4781
|
-
context |= 536870912;
|
|
4782
4777
|
if (options.source)
|
|
4783
4778
|
sourceFile = options.source;
|
|
4784
4779
|
if (options.onComment != null) {
|
|
@@ -4830,7 +4825,7 @@
|
|
|
4830
4825
|
return node;
|
|
4831
4826
|
}
|
|
4832
4827
|
function parseStatementList(parser, context, scope) {
|
|
4833
|
-
nextToken(parser, context | 32768 |
|
|
4828
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
4834
4829
|
const statements = [];
|
|
4835
4830
|
while (parser.token === 134283267) {
|
|
4836
4831
|
const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
|
|
@@ -4963,14 +4958,14 @@
|
|
|
4963
4958
|
let expr;
|
|
4964
4959
|
switch (token) {
|
|
4965
4960
|
case 241739:
|
|
4966
|
-
expr = parseIdentifier(parser, context
|
|
4961
|
+
expr = parseIdentifier(parser, context);
|
|
4967
4962
|
if (context & 1024)
|
|
4968
4963
|
report(parser, 83);
|
|
4969
4964
|
if (parser.token === 69271571)
|
|
4970
4965
|
report(parser, 82);
|
|
4971
4966
|
break;
|
|
4972
4967
|
default:
|
|
4973
|
-
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
4968
|
+
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
4974
4969
|
}
|
|
4975
4970
|
if (token & 143360 && parser.token === 21) {
|
|
4976
4971
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
|
|
@@ -5032,7 +5027,7 @@
|
|
|
5032
5027
|
}
|
|
5033
5028
|
function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
|
|
5034
5029
|
const { token, tokenValue } = parser;
|
|
5035
|
-
let expr = parseIdentifier(parser, context
|
|
5030
|
+
let expr = parseIdentifier(parser, context);
|
|
5036
5031
|
if (parser.token === 21) {
|
|
5037
5032
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
|
|
5038
5033
|
}
|
|
@@ -5200,7 +5195,7 @@
|
|
|
5200
5195
|
let label = null;
|
|
5201
5196
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5202
5197
|
const { tokenValue } = parser;
|
|
5203
|
-
label = parseIdentifier(parser, context | 32768
|
|
5198
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5204
5199
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
5205
5200
|
report(parser, 135, tokenValue);
|
|
5206
5201
|
}
|
|
@@ -5215,7 +5210,7 @@
|
|
|
5215
5210
|
let label = null;
|
|
5216
5211
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5217
5212
|
const { tokenValue } = parser;
|
|
5218
|
-
label = parseIdentifier(parser, context | 32768
|
|
5213
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5219
5214
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5220
5215
|
report(parser, 135, tokenValue);
|
|
5221
5216
|
}
|
|
@@ -5326,7 +5321,7 @@
|
|
|
5326
5321
|
}
|
|
5327
5322
|
function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
|
|
5328
5323
|
const { token, tokenValue } = parser;
|
|
5329
|
-
let expr = parseIdentifier(parser, context
|
|
5324
|
+
let expr = parseIdentifier(parser, context);
|
|
5330
5325
|
if (parser.token & (143360 | 2097152)) {
|
|
5331
5326
|
const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
|
|
5332
5327
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5396,7 +5391,7 @@
|
|
|
5396
5391
|
const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
|
|
5397
5392
|
if (parser.token === 1077936157) {
|
|
5398
5393
|
nextToken(parser, context | 32768);
|
|
5399
|
-
init = parseExpression(parser, context, 1, 0,
|
|
5394
|
+
init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5400
5395
|
if (origin & 32 || (token & 2097152) === 0) {
|
|
5401
5396
|
if (parser.token === 274549 ||
|
|
5402
5397
|
(parser.token === 8738868 &&
|
|
@@ -5431,7 +5426,7 @@
|
|
|
5431
5426
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
5432
5427
|
if (isVarDecl) {
|
|
5433
5428
|
if (token === 241739) {
|
|
5434
|
-
init = parseIdentifier(parser, context
|
|
5429
|
+
init = parseIdentifier(parser, context);
|
|
5435
5430
|
if (parser.token & (143360 | 2097152)) {
|
|
5436
5431
|
if (parser.token === 8738868) {
|
|
5437
5432
|
if (context & 1024)
|
|
@@ -5499,7 +5494,7 @@
|
|
|
5499
5494
|
report(parser, 78, forAwait ? 'await' : 'of');
|
|
5500
5495
|
reinterpretToPattern(parser, init);
|
|
5501
5496
|
nextToken(parser, context | 32768);
|
|
5502
|
-
right = parseExpression(parser, context, 1, 0,
|
|
5497
|
+
right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5503
5498
|
consume(parser, context | 32768, 16);
|
|
5504
5499
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
5505
5500
|
return finishNode(parser, context, start, line, column, {
|
|
@@ -5559,7 +5554,7 @@
|
|
|
5559
5554
|
report(parser, 116);
|
|
5560
5555
|
if (scope)
|
|
5561
5556
|
addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
|
|
5562
|
-
return parseIdentifier(parser, context
|
|
5557
|
+
return parseIdentifier(parser, context);
|
|
5563
5558
|
}
|
|
5564
5559
|
function parseImportDeclaration(parser, context, scope) {
|
|
5565
5560
|
const start = parser.tokenPos;
|
|
@@ -5632,7 +5627,9 @@
|
|
|
5632
5627
|
});
|
|
5633
5628
|
}
|
|
5634
5629
|
function parseModuleSpecifier(parser, context) {
|
|
5635
|
-
consumeOpt(parser, context, 12404)
|
|
5630
|
+
if (!consumeOpt(parser, context, 12404)) {
|
|
5631
|
+
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
5632
|
+
}
|
|
5636
5633
|
if (parser.token !== 134283267)
|
|
5637
5634
|
report(parser, 103, 'Import');
|
|
5638
5635
|
return parseLiteral(parser, context);
|
|
@@ -5641,7 +5638,7 @@
|
|
|
5641
5638
|
nextToken(parser, context);
|
|
5642
5639
|
while (parser.token & 143360) {
|
|
5643
5640
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
5644
|
-
const imported = parseIdentifier(parser, context
|
|
5641
|
+
const imported = parseIdentifier(parser, context);
|
|
5645
5642
|
let local;
|
|
5646
5643
|
if (consumeOpt(parser, context, 77934)) {
|
|
5647
5644
|
if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
|
|
@@ -5651,7 +5648,7 @@
|
|
|
5651
5648
|
validateBindingIdentifier(parser, context, 16, parser.token, 0);
|
|
5652
5649
|
}
|
|
5653
5650
|
tokenValue = parser.tokenValue;
|
|
5654
|
-
local = parseIdentifier(parser, context
|
|
5651
|
+
local = parseIdentifier(parser, context);
|
|
5655
5652
|
}
|
|
5656
5653
|
else {
|
|
5657
5654
|
validateBindingIdentifier(parser, context, 16, token, 0);
|
|
@@ -5711,7 +5708,7 @@
|
|
|
5711
5708
|
break;
|
|
5712
5709
|
case 209007:
|
|
5713
5710
|
const { tokenPos, linePos, colPos } = parser;
|
|
5714
|
-
declaration = parseIdentifier(parser, context
|
|
5711
|
+
declaration = parseIdentifier(parser, context);
|
|
5715
5712
|
const { flags } = parser;
|
|
5716
5713
|
if ((flags & 1) === 0) {
|
|
5717
5714
|
if (parser.token === 86106) {
|
|
@@ -5726,14 +5723,14 @@
|
|
|
5726
5723
|
else if (parser.token & 143360) {
|
|
5727
5724
|
if (scope)
|
|
5728
5725
|
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
|
|
5729
|
-
declaration = parseIdentifier(parser, context
|
|
5726
|
+
declaration = parseIdentifier(parser, context);
|
|
5730
5727
|
declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
|
|
5731
5728
|
}
|
|
5732
5729
|
}
|
|
5733
5730
|
}
|
|
5734
5731
|
break;
|
|
5735
5732
|
default:
|
|
5736
|
-
declaration = parseExpression(parser, context, 1, 0,
|
|
5733
|
+
declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5737
5734
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
5738
5735
|
}
|
|
5739
5736
|
if (scope)
|
|
@@ -5751,7 +5748,7 @@
|
|
|
5751
5748
|
if (isNamedDeclaration) {
|
|
5752
5749
|
if (scope)
|
|
5753
5750
|
declareUnboundVariable(parser, parser.tokenValue);
|
|
5754
|
-
exported = parseIdentifier(parser, context
|
|
5751
|
+
exported = parseIdentifier(parser, context);
|
|
5755
5752
|
}
|
|
5756
5753
|
consume(parser, context, 12404);
|
|
5757
5754
|
if (parser.token !== 134283267)
|
|
@@ -5770,7 +5767,7 @@
|
|
|
5770
5767
|
const tmpExportedBindings = [];
|
|
5771
5768
|
while (parser.token & 143360) {
|
|
5772
5769
|
const { tokenPos, tokenValue, linePos, colPos } = parser;
|
|
5773
|
-
const local = parseIdentifier(parser, context
|
|
5770
|
+
const local = parseIdentifier(parser, context);
|
|
5774
5771
|
let exported;
|
|
5775
5772
|
if (parser.token === 77934) {
|
|
5776
5773
|
nextToken(parser, context);
|
|
@@ -5781,7 +5778,7 @@
|
|
|
5781
5778
|
tmpExportedNames.push(parser.tokenValue);
|
|
5782
5779
|
tmpExportedBindings.push(tokenValue);
|
|
5783
5780
|
}
|
|
5784
|
-
exported = parseIdentifier(parser, context
|
|
5781
|
+
exported = parseIdentifier(parser, context);
|
|
5785
5782
|
}
|
|
5786
5783
|
else {
|
|
5787
5784
|
if (scope) {
|
|
@@ -5855,15 +5852,15 @@
|
|
|
5855
5852
|
source
|
|
5856
5853
|
});
|
|
5857
5854
|
}
|
|
5858
|
-
function parseExpression(parser, context, canAssign,
|
|
5859
|
-
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
5855
|
+
function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
|
|
5856
|
+
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
|
|
5860
5857
|
expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
|
|
5861
5858
|
return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
|
|
5862
5859
|
}
|
|
5863
5860
|
function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
|
|
5864
5861
|
const expressions = [expr];
|
|
5865
5862
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
5866
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
5863
|
+
expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
5867
5864
|
}
|
|
5868
5865
|
return finishNode(parser, context, start, line, column, {
|
|
5869
5866
|
type: 'SequenceExpression',
|
|
@@ -5871,7 +5868,7 @@
|
|
|
5871
5868
|
});
|
|
5872
5869
|
}
|
|
5873
5870
|
function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
|
|
5874
|
-
const expr = parseExpression(parser, context, canAssign,
|
|
5871
|
+
const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
|
|
5875
5872
|
return parser.token === 18
|
|
5876
5873
|
? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
|
|
5877
5874
|
: expr;
|
|
@@ -5886,7 +5883,7 @@
|
|
|
5886
5883
|
reinterpretToPattern(parser, left);
|
|
5887
5884
|
}
|
|
5888
5885
|
nextToken(parser, context | 32768);
|
|
5889
|
-
const right = parseExpression(parser, context, 1,
|
|
5886
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5890
5887
|
parser.assignable = 2;
|
|
5891
5888
|
return finishNode(parser, context, start, line, column, isPattern
|
|
5892
5889
|
? {
|
|
@@ -5912,7 +5909,7 @@
|
|
|
5912
5909
|
function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
|
|
5913
5910
|
const { token } = parser;
|
|
5914
5911
|
nextToken(parser, context | 32768);
|
|
5915
|
-
const right = parseExpression(parser, context, 1,
|
|
5912
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5916
5913
|
left = finishNode(parser, context, start, line, column, isPattern
|
|
5917
5914
|
? {
|
|
5918
5915
|
type: 'AssignmentPattern',
|
|
@@ -5929,10 +5926,10 @@
|
|
|
5929
5926
|
return left;
|
|
5930
5927
|
}
|
|
5931
5928
|
function parseConditionalExpression(parser, context, test, start, line, column) {
|
|
5932
|
-
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0,
|
|
5929
|
+
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5933
5930
|
consume(parser, context | 32768, 21);
|
|
5934
5931
|
parser.assignable = 1;
|
|
5935
|
-
const alternate = parseExpression(parser, context, 1, 0,
|
|
5932
|
+
const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5936
5933
|
parser.assignable = 2;
|
|
5937
5934
|
return finishNode(parser, context, start, line, column, {
|
|
5938
5935
|
type: 'ConditionalExpression',
|
|
@@ -5990,9 +5987,9 @@
|
|
|
5990
5987
|
prefix: true
|
|
5991
5988
|
});
|
|
5992
5989
|
}
|
|
5993
|
-
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
5990
|
+
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
|
|
5994
5991
|
const { token } = parser;
|
|
5995
|
-
const expr = parseIdentifier(parser, context
|
|
5992
|
+
const expr = parseIdentifier(parser, context);
|
|
5996
5993
|
const { flags } = parser;
|
|
5997
5994
|
if ((flags & 1) === 0) {
|
|
5998
5995
|
if (parser.token === 86106) {
|
|
@@ -6032,7 +6029,7 @@
|
|
|
6032
6029
|
if ((parser.flags & 1) === 0) {
|
|
6033
6030
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
6034
6031
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
6035
|
-
argument = parseExpression(parser, context, 1, 0,
|
|
6032
|
+
argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6036
6033
|
}
|
|
6037
6034
|
}
|
|
6038
6035
|
parser.assignable = 2;
|
|
@@ -6157,7 +6154,7 @@
|
|
|
6157
6154
|
return finishNode(parser, context, start, line, column, { type: 'Super' });
|
|
6158
6155
|
}
|
|
6159
6156
|
function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
|
|
6160
|
-
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
6157
|
+
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
|
|
6161
6158
|
return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
|
|
6162
6159
|
}
|
|
6163
6160
|
function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
@@ -6181,7 +6178,7 @@
|
|
|
6181
6178
|
context = (context | 134217728) ^ 134217728;
|
|
6182
6179
|
switch (parser.token) {
|
|
6183
6180
|
case 67108877: {
|
|
6184
|
-
nextToken(parser, (context |
|
|
6181
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6185
6182
|
if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
|
|
6186
6183
|
report(parser, 27);
|
|
6187
6184
|
}
|
|
@@ -6240,7 +6237,7 @@
|
|
|
6240
6237
|
break;
|
|
6241
6238
|
}
|
|
6242
6239
|
case 67108991: {
|
|
6243
|
-
nextToken(parser, (context |
|
|
6240
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6244
6241
|
parser.flags |= 2048;
|
|
6245
6242
|
parser.assignable = 2;
|
|
6246
6243
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6306,7 +6303,7 @@
|
|
|
6306
6303
|
else {
|
|
6307
6304
|
if ((parser.token & (143360 | 4096)) === 0)
|
|
6308
6305
|
report(parser, 155);
|
|
6309
|
-
const property = parseIdentifier(parser, context
|
|
6306
|
+
const property = parseIdentifier(parser, context);
|
|
6310
6307
|
parser.assignable = 2;
|
|
6311
6308
|
node = finishNode(parser, context, start, line, column, {
|
|
6312
6309
|
type: 'MemberExpression',
|
|
@@ -6327,7 +6324,7 @@
|
|
|
6327
6324
|
}
|
|
6328
6325
|
return context & 1 && parser.token === 131
|
|
6329
6326
|
? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
|
|
6330
|
-
: parseIdentifier(parser, context
|
|
6327
|
+
: parseIdentifier(parser, context);
|
|
6331
6328
|
}
|
|
6332
6329
|
function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
|
|
6333
6330
|
if (inNew)
|
|
@@ -6348,7 +6345,7 @@
|
|
|
6348
6345
|
prefix: true
|
|
6349
6346
|
});
|
|
6350
6347
|
}
|
|
6351
|
-
function parsePrimaryExpression(parser, context, kind, inNew, canAssign,
|
|
6348
|
+
function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
|
|
6352
6349
|
if ((parser.token & 143360) === 143360) {
|
|
6353
6350
|
switch (parser.token) {
|
|
6354
6351
|
case 209008:
|
|
@@ -6356,10 +6353,10 @@
|
|
|
6356
6353
|
case 241773:
|
|
6357
6354
|
return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
|
|
6358
6355
|
case 209007:
|
|
6359
|
-
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6356
|
+
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
|
|
6360
6357
|
}
|
|
6361
6358
|
const { token, tokenValue } = parser;
|
|
6362
|
-
const expr = parseIdentifier(parser, context | 65536
|
|
6359
|
+
const expr = parseIdentifier(parser, context | 65536);
|
|
6363
6360
|
if (parser.token === 10) {
|
|
6364
6361
|
if (!isLHS)
|
|
6365
6362
|
report(parser, 0);
|
|
@@ -6438,7 +6435,7 @@
|
|
|
6438
6435
|
}
|
|
6439
6436
|
}
|
|
6440
6437
|
function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6441
|
-
let expr = parseIdentifier(parser, context
|
|
6438
|
+
let expr = parseIdentifier(parser, context);
|
|
6442
6439
|
if (parser.token === 67108877) {
|
|
6443
6440
|
return parseImportMetaExpression(parser, context, expr, start, line, column);
|
|
6444
6441
|
}
|
|
@@ -6458,14 +6455,14 @@
|
|
|
6458
6455
|
return finishNode(parser, context, start, line, column, {
|
|
6459
6456
|
type: 'MetaProperty',
|
|
6460
6457
|
meta,
|
|
6461
|
-
property: parseIdentifier(parser, context
|
|
6458
|
+
property: parseIdentifier(parser, context)
|
|
6462
6459
|
});
|
|
6463
6460
|
}
|
|
6464
6461
|
function parseImportExpression(parser, context, inGroup, start, line, column) {
|
|
6465
6462
|
consume(parser, context | 32768, 67174411);
|
|
6466
6463
|
if (parser.token === 14)
|
|
6467
6464
|
report(parser, 139);
|
|
6468
|
-
const source = parseExpression(parser, context, 1,
|
|
6465
|
+
const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6469
6466
|
consume(parser, context, 16);
|
|
6470
6467
|
return finishNode(parser, context, start, line, column, {
|
|
6471
6468
|
type: 'ImportExpression',
|
|
@@ -6554,7 +6551,7 @@
|
|
|
6554
6551
|
function parseSpreadElement(parser, context, start, line, column) {
|
|
6555
6552
|
context = (context | 134217728) ^ 134217728;
|
|
6556
6553
|
consume(parser, context | 32768, 14);
|
|
6557
|
-
const argument = parseExpression(parser, context, 1, 0,
|
|
6554
|
+
const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6558
6555
|
parser.assignable = 1;
|
|
6559
6556
|
return finishNode(parser, context, start, line, column, {
|
|
6560
6557
|
type: 'SpreadElement',
|
|
@@ -6573,7 +6570,7 @@
|
|
|
6573
6570
|
args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6574
6571
|
}
|
|
6575
6572
|
else {
|
|
6576
|
-
args.push(parseExpression(parser, context, 1,
|
|
6573
|
+
args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6577
6574
|
}
|
|
6578
6575
|
if (parser.token !== 18)
|
|
6579
6576
|
break;
|
|
@@ -6584,19 +6581,13 @@
|
|
|
6584
6581
|
consume(parser, context, 16);
|
|
6585
6582
|
return args;
|
|
6586
6583
|
}
|
|
6587
|
-
function parseIdentifier(parser, context
|
|
6584
|
+
function parseIdentifier(parser, context) {
|
|
6588
6585
|
const { tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6589
6586
|
nextToken(parser, context);
|
|
6590
|
-
return finishNode(parser, context, tokenPos, linePos, colPos,
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
pattern: isPattern === 1
|
|
6595
|
-
}
|
|
6596
|
-
: {
|
|
6597
|
-
type: 'Identifier',
|
|
6598
|
-
name: tokenValue
|
|
6599
|
-
});
|
|
6587
|
+
return finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
6588
|
+
type: 'Identifier',
|
|
6589
|
+
name: tokenValue
|
|
6590
|
+
});
|
|
6600
6591
|
}
|
|
6601
6592
|
function parseLiteral(parser, context) {
|
|
6602
6593
|
const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
|
|
@@ -6671,7 +6662,7 @@
|
|
|
6671
6662
|
}
|
|
6672
6663
|
firstRestricted = parser.token;
|
|
6673
6664
|
if (parser.token & 143360) {
|
|
6674
|
-
id = parseIdentifier(parser, context
|
|
6665
|
+
id = parseIdentifier(parser, context);
|
|
6675
6666
|
}
|
|
6676
6667
|
else {
|
|
6677
6668
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
@@ -6681,7 +6672,7 @@
|
|
|
6681
6672
|
((context | 32243712) ^ 32243712) |
|
|
6682
6673
|
67108864 |
|
|
6683
6674
|
((isAsync * 2 + isGenerator) << 21) |
|
|
6684
|
-
(isGenerator ? 0 :
|
|
6675
|
+
(isGenerator ? 0 : 268435456);
|
|
6685
6676
|
if (scope)
|
|
6686
6677
|
functionScope = addChildScope(functionScope, 512);
|
|
6687
6678
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
|
|
@@ -6708,13 +6699,13 @@
|
|
|
6708
6699
|
if (scope)
|
|
6709
6700
|
scope = addChildScope(scope, 256);
|
|
6710
6701
|
firstRestricted = parser.token;
|
|
6711
|
-
id = parseIdentifier(parser, context
|
|
6702
|
+
id = parseIdentifier(parser, context);
|
|
6712
6703
|
}
|
|
6713
6704
|
context =
|
|
6714
6705
|
((context | 32243712) ^ 32243712) |
|
|
6715
6706
|
67108864 |
|
|
6716
6707
|
generatorAndAsyncFlags |
|
|
6717
|
-
(isGenerator ? 0 :
|
|
6708
|
+
(isGenerator ? 0 : 268435456);
|
|
6718
6709
|
if (scope)
|
|
6719
6710
|
scope = addChildScope(scope, 512);
|
|
6720
6711
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
|
|
@@ -6752,14 +6743,14 @@
|
|
|
6752
6743
|
let left;
|
|
6753
6744
|
const { token, tokenPos, linePos, colPos, tokenValue } = parser;
|
|
6754
6745
|
if (token & 143360) {
|
|
6755
|
-
left = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6746
|
+
left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6756
6747
|
if (parser.token === 1077936157) {
|
|
6757
6748
|
if (parser.assignable & 2)
|
|
6758
6749
|
report(parser, 24);
|
|
6759
6750
|
nextToken(parser, context | 32768);
|
|
6760
6751
|
if (scope)
|
|
6761
6752
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
6762
|
-
const right = parseExpression(parser, context, 1,
|
|
6753
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6763
6754
|
left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
6764
6755
|
? {
|
|
6765
6756
|
type: 'AssignmentPattern',
|
|
@@ -6898,7 +6889,7 @@
|
|
|
6898
6889
|
if (!isPattern)
|
|
6899
6890
|
reinterpretToPattern(parser, node);
|
|
6900
6891
|
const { tokenPos, linePos, colPos } = parser;
|
|
6901
|
-
const right = parseExpression(parser, context, 1,
|
|
6892
|
+
const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
|
|
6902
6893
|
parser.destructible =
|
|
6903
6894
|
((destructible | 64 | 8) ^
|
|
6904
6895
|
(8 | 64)) |
|
|
@@ -6924,7 +6915,7 @@
|
|
|
6924
6915
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6925
6916
|
if (token & (4096 | 143360)) {
|
|
6926
6917
|
parser.assignable = 1;
|
|
6927
|
-
argument = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6918
|
+
argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6928
6919
|
token = parser.token;
|
|
6929
6920
|
argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
|
|
6930
6921
|
if (parser.token !== 18 && parser.token !== closingToken) {
|
|
@@ -7019,7 +7010,7 @@
|
|
|
7019
7010
|
if (destructible & 16)
|
|
7020
7011
|
report(parser, 24);
|
|
7021
7012
|
reinterpretToPattern(parser, argument);
|
|
7022
|
-
const right = parseExpression(parser, context, 1,
|
|
7013
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7023
7014
|
argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
7024
7015
|
? {
|
|
7025
7016
|
type: 'AssignmentPattern',
|
|
@@ -7091,7 +7082,7 @@
|
|
|
7091
7082
|
let value;
|
|
7092
7083
|
const t = parser.token;
|
|
7093
7084
|
if (parser.token & (143360 | 4096) || parser.token === 121) {
|
|
7094
|
-
key = parseIdentifier(parser, context
|
|
7085
|
+
key = parseIdentifier(parser, context);
|
|
7095
7086
|
if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
|
|
7096
7087
|
state |= 4;
|
|
7097
7088
|
if (context & 1024 && (token & 537079808) === 537079808) {
|
|
@@ -7104,7 +7095,7 @@
|
|
|
7104
7095
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
7105
7096
|
if (consumeOpt(parser, context | 32768, 1077936157)) {
|
|
7106
7097
|
destructible |= 8;
|
|
7107
|
-
const right = parseExpression(parser, context, 1,
|
|
7098
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7108
7099
|
destructible |=
|
|
7109
7100
|
parser.destructible & 256
|
|
7110
7101
|
? 256
|
|
@@ -7113,7 +7104,7 @@
|
|
|
7113
7104
|
: 0;
|
|
7114
7105
|
value = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7115
7106
|
type: 'AssignmentPattern',
|
|
7116
|
-
left: context &
|
|
7107
|
+
left: context & 536870912 ? Object.assign({}, key) : key,
|
|
7117
7108
|
right
|
|
7118
7109
|
});
|
|
7119
7110
|
}
|
|
@@ -7121,7 +7112,7 @@
|
|
|
7121
7112
|
destructible |=
|
|
7122
7113
|
(token === 209008 ? 128 : 0) |
|
|
7123
7114
|
(token === 121 ? 16 : 0);
|
|
7124
|
-
value = context &
|
|
7115
|
+
value = context & 536870912 ? Object.assign({}, key) : key;
|
|
7125
7116
|
}
|
|
7126
7117
|
}
|
|
7127
7118
|
else if (consumeOpt(parser, context | 32768, 21)) {
|
|
@@ -7132,7 +7123,7 @@
|
|
|
7132
7123
|
const tokenAfterColon = parser.token;
|
|
7133
7124
|
const valueAfterColon = parser.tokenValue;
|
|
7134
7125
|
destructible |= t === 121 ? 16 : 0;
|
|
7135
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7126
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7136
7127
|
const { token } = parser;
|
|
7137
7128
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7138
7129
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7253,7 +7244,7 @@
|
|
|
7253
7244
|
report(parser, 129);
|
|
7254
7245
|
state |= 16;
|
|
7255
7246
|
}
|
|
7256
|
-
key = parseIdentifier(parser, context
|
|
7247
|
+
key = parseIdentifier(parser, context);
|
|
7257
7248
|
state |=
|
|
7258
7249
|
token === 12402
|
|
7259
7250
|
? 256
|
|
@@ -7282,7 +7273,7 @@
|
|
|
7282
7273
|
state |=
|
|
7283
7274
|
8 | 1 | (token === 209007 ? 16 : 0);
|
|
7284
7275
|
if (parser.token & 143360) {
|
|
7285
|
-
key = parseIdentifier(parser, context
|
|
7276
|
+
key = parseIdentifier(parser, context);
|
|
7286
7277
|
}
|
|
7287
7278
|
else if ((parser.token & 134217728) === 134217728) {
|
|
7288
7279
|
key = parseLiteral(parser, context);
|
|
@@ -7322,7 +7313,7 @@
|
|
|
7322
7313
|
if (tokenValue === '__proto__')
|
|
7323
7314
|
prototypeCount++;
|
|
7324
7315
|
if (parser.token & 143360) {
|
|
7325
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7316
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7326
7317
|
const { token, tokenValue: valueAfterColon } = parser;
|
|
7327
7318
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7328
7319
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7423,7 +7414,7 @@
|
|
|
7423
7414
|
nextToken(parser, context | 32768);
|
|
7424
7415
|
const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
|
|
7425
7416
|
if (parser.token & 143360) {
|
|
7426
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7417
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7427
7418
|
const { token } = parser;
|
|
7428
7419
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7429
7420
|
if ((parser.token & 4194304) === 4194304) {
|
|
@@ -7529,7 +7520,7 @@
|
|
|
7529
7520
|
state |= 8;
|
|
7530
7521
|
if (parser.token & 143360) {
|
|
7531
7522
|
const { token, line, index } = parser;
|
|
7532
|
-
key = parseIdentifier(parser, context
|
|
7523
|
+
key = parseIdentifier(parser, context);
|
|
7533
7524
|
state |= 1;
|
|
7534
7525
|
if (parser.token === 67174411) {
|
|
7535
7526
|
destructible |= 16;
|
|
@@ -7643,7 +7634,7 @@
|
|
|
7643
7634
|
if (parser.token === 1077936157) {
|
|
7644
7635
|
nextToken(parser, context | 32768);
|
|
7645
7636
|
isSimpleParameterList = 1;
|
|
7646
|
-
const right = parseExpression(parser, context, 1,
|
|
7637
|
+
const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7647
7638
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7648
7639
|
type: 'AssignmentPattern',
|
|
7649
7640
|
left: left,
|
|
@@ -7670,14 +7661,14 @@
|
|
|
7670
7661
|
}
|
|
7671
7662
|
function parseComputedPropertyName(parser, context, inGroup) {
|
|
7672
7663
|
nextToken(parser, context | 32768);
|
|
7673
|
-
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1,
|
|
7664
|
+
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7674
7665
|
consume(parser, context, 20);
|
|
7675
7666
|
return key;
|
|
7676
7667
|
}
|
|
7677
7668
|
function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
|
|
7678
7669
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
7679
7670
|
const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
|
|
7680
|
-
nextToken(parser, context | 32768 |
|
|
7671
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
7681
7672
|
const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7682
7673
|
context = (context | 134217728) ^ 134217728;
|
|
7683
7674
|
if (consumeOpt(parser, context, 16)) {
|
|
@@ -7696,7 +7687,7 @@
|
|
|
7696
7687
|
if (token & (143360 | 4096)) {
|
|
7697
7688
|
if (scope)
|
|
7698
7689
|
addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
|
|
7699
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7690
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
7700
7691
|
if (parser.token === 16 || parser.token === 18) {
|
|
7701
7692
|
if (parser.assignable & 2) {
|
|
7702
7693
|
destructible |= 16;
|
|
@@ -7723,8 +7714,8 @@
|
|
|
7723
7714
|
else if ((token & 2097152) === 2097152) {
|
|
7724
7715
|
expr =
|
|
7725
7716
|
token === 2162700
|
|
7726
|
-
? parseObjectLiteralOrPattern(parser, context |
|
|
7727
|
-
: parseArrayExpressionOrPattern(parser, context |
|
|
7717
|
+
? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
|
|
7718
|
+
: parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
|
|
7728
7719
|
destructible |= parser.destructible;
|
|
7729
7720
|
isSimpleParameterList = 1;
|
|
7730
7721
|
parser.assignable = 2;
|
|
@@ -7751,7 +7742,7 @@
|
|
|
7751
7742
|
}
|
|
7752
7743
|
else {
|
|
7753
7744
|
destructible |= 16;
|
|
7754
|
-
expr = parseExpression(parser, context, 1,
|
|
7745
|
+
expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
|
|
7755
7746
|
if (isSequence && (parser.token === 16 || parser.token === 18)) {
|
|
7756
7747
|
expressions.push(expr);
|
|
7757
7748
|
}
|
|
@@ -7763,7 +7754,7 @@
|
|
|
7763
7754
|
}
|
|
7764
7755
|
if (isSequence) {
|
|
7765
7756
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
7766
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
7757
|
+
expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
|
|
7767
7758
|
}
|
|
7768
7759
|
parser.assignable = 2;
|
|
7769
7760
|
expr = finishNode(parser, context, iStart, lStart, cStart, {
|
|
@@ -7830,7 +7821,7 @@
|
|
|
7830
7821
|
}
|
|
7831
7822
|
function parseIdentifierOrArrow(parser, context, start, line, column) {
|
|
7832
7823
|
const { tokenValue } = parser;
|
|
7833
|
-
const expr = parseIdentifier(parser, context
|
|
7824
|
+
const expr = parseIdentifier(parser, context);
|
|
7834
7825
|
parser.assignable = 1;
|
|
7835
7826
|
if (parser.token === 10) {
|
|
7836
7827
|
let scope = void 0;
|
|
@@ -7868,7 +7859,7 @@
|
|
|
7868
7859
|
reportScopeError(scope.scopeError);
|
|
7869
7860
|
}
|
|
7870
7861
|
if (expression) {
|
|
7871
|
-
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0,
|
|
7862
|
+
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7872
7863
|
}
|
|
7873
7864
|
else {
|
|
7874
7865
|
if (scope)
|
|
@@ -7949,7 +7940,7 @@
|
|
|
7949
7940
|
if (parser.token === 1077936157) {
|
|
7950
7941
|
nextToken(parser, context | 32768);
|
|
7951
7942
|
isSimpleParameterList = 1;
|
|
7952
|
-
const right = parseExpression(parser, context, 1,
|
|
7943
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7953
7944
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7954
7945
|
type: 'AssignmentPattern',
|
|
7955
7946
|
left,
|
|
@@ -7975,7 +7966,7 @@
|
|
|
7975
7966
|
const { token } = parser;
|
|
7976
7967
|
if (token & 67108864) {
|
|
7977
7968
|
if (token === 67108877) {
|
|
7978
|
-
nextToken(parser, context |
|
|
7969
|
+
nextToken(parser, context | 268435456);
|
|
7979
7970
|
parser.assignable = 1;
|
|
7980
7971
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
7981
7972
|
return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
|
|
@@ -8012,7 +8003,7 @@
|
|
|
8012
8003
|
return expr;
|
|
8013
8004
|
}
|
|
8014
8005
|
function parseNewExpression(parser, context, inGroup, start, line, column) {
|
|
8015
|
-
const id = parseIdentifier(parser, context | 32768
|
|
8006
|
+
const id = parseIdentifier(parser, context | 32768);
|
|
8016
8007
|
const { tokenPos, linePos, colPos } = parser;
|
|
8017
8008
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8018
8009
|
if (context & 67108864 && parser.token === 143494) {
|
|
@@ -8025,7 +8016,7 @@
|
|
|
8025
8016
|
if ((parser.token & 16842752) === 16842752) {
|
|
8026
8017
|
report(parser, 63, KeywordDescTable[parser.token & 255]);
|
|
8027
8018
|
}
|
|
8028
|
-
const expr = parsePrimaryExpression(parser, context, 2, 1, 0,
|
|
8019
|
+
const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
|
|
8029
8020
|
context = (context | 134217728) ^ 134217728;
|
|
8030
8021
|
if (parser.token === 67108991)
|
|
8031
8022
|
report(parser, 163);
|
|
@@ -8038,7 +8029,7 @@
|
|
|
8038
8029
|
});
|
|
8039
8030
|
}
|
|
8040
8031
|
function parseMetaProperty(parser, context, meta, start, line, column) {
|
|
8041
|
-
const property = parseIdentifier(parser, context
|
|
8032
|
+
const property = parseIdentifier(parser, context);
|
|
8042
8033
|
return finishNode(parser, context, start, line, column, {
|
|
8043
8034
|
type: 'MetaProperty',
|
|
8044
8035
|
meta,
|
|
@@ -8054,7 +8045,7 @@
|
|
|
8054
8045
|
if ((parser.token & 537079808) === 537079808) {
|
|
8055
8046
|
parser.flags |= 512;
|
|
8056
8047
|
}
|
|
8057
|
-
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context
|
|
8048
|
+
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
|
|
8058
8049
|
}
|
|
8059
8050
|
function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
|
|
8060
8051
|
nextToken(parser, context | 32768);
|
|
@@ -8084,7 +8075,7 @@
|
|
|
8084
8075
|
if (token & (143360 | 4096)) {
|
|
8085
8076
|
if (scope)
|
|
8086
8077
|
addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
|
|
8087
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
8078
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
8088
8079
|
if (parser.token === 16 || parser.token === 18) {
|
|
8089
8080
|
if (parser.assignable & 2) {
|
|
8090
8081
|
destructible |= 16;
|
|
@@ -8136,11 +8127,11 @@
|
|
|
8136
8127
|
isSimpleParameterList = 1;
|
|
8137
8128
|
}
|
|
8138
8129
|
else {
|
|
8139
|
-
expr = parseExpression(parser, context, 1, 0,
|
|
8130
|
+
expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8140
8131
|
destructible = parser.assignable;
|
|
8141
8132
|
params.push(expr);
|
|
8142
8133
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
8143
|
-
params.push(parseExpression(parser, context, 1, 0,
|
|
8134
|
+
params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
|
|
8144
8135
|
}
|
|
8145
8136
|
destructible |= parser.assignable;
|
|
8146
8137
|
consume(parser, context, 16);
|
|
@@ -8235,7 +8226,7 @@
|
|
|
8235
8226
|
}
|
|
8236
8227
|
}
|
|
8237
8228
|
}
|
|
8238
|
-
id = parseIdentifier(parser, context
|
|
8229
|
+
id = parseIdentifier(parser, context);
|
|
8239
8230
|
}
|
|
8240
8231
|
else {
|
|
8241
8232
|
if ((flags & 1) === 0)
|
|
@@ -8282,7 +8273,7 @@
|
|
|
8282
8273
|
if ((parser.token & 537079808) === 537079808) {
|
|
8283
8274
|
report(parser, 116);
|
|
8284
8275
|
}
|
|
8285
|
-
id = parseIdentifier(parser, context
|
|
8276
|
+
id = parseIdentifier(parser, context);
|
|
8286
8277
|
}
|
|
8287
8278
|
let inheritedContext = context;
|
|
8288
8279
|
if (consumeOpt(parser, context | 32768, 20567)) {
|
|
@@ -8320,7 +8311,7 @@
|
|
|
8320
8311
|
}
|
|
8321
8312
|
function parseDecoratorList(parser, context, start, line, column) {
|
|
8322
8313
|
nextToken(parser, context | 32768);
|
|
8323
|
-
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
8314
|
+
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
|
|
8324
8315
|
expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
|
|
8325
8316
|
return finishNode(parser, context, start, line, column, {
|
|
8326
8317
|
type: 'Decorator',
|
|
@@ -8363,7 +8354,7 @@
|
|
|
8363
8354
|
let key = null;
|
|
8364
8355
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
8365
8356
|
if (token & (143360 | 36864)) {
|
|
8366
|
-
key = parseIdentifier(parser, context
|
|
8357
|
+
key = parseIdentifier(parser, context);
|
|
8367
8358
|
switch (token) {
|
|
8368
8359
|
case 36972:
|
|
8369
8360
|
if (!isStatic &&
|
|
@@ -8421,7 +8412,7 @@
|
|
|
8421
8412
|
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8422
8413
|
}
|
|
8423
8414
|
else if (token === 122) {
|
|
8424
|
-
key = parseIdentifier(parser, context
|
|
8415
|
+
key = parseIdentifier(parser, context);
|
|
8425
8416
|
if (parser.token !== 67174411)
|
|
8426
8417
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
8427
8418
|
}
|
|
@@ -8430,7 +8421,7 @@
|
|
|
8430
8421
|
}
|
|
8431
8422
|
if (kind & (8 | 16 | 768)) {
|
|
8432
8423
|
if (parser.token & 143360) {
|
|
8433
|
-
key = parseIdentifier(parser, context
|
|
8424
|
+
key = parseIdentifier(parser, context);
|
|
8434
8425
|
}
|
|
8435
8426
|
else if ((parser.token & 134217728) === 134217728) {
|
|
8436
8427
|
key = parseLiteral(parser, context);
|
|
@@ -8440,7 +8431,7 @@
|
|
|
8440
8431
|
key = parseComputedPropertyName(parser, context, 0);
|
|
8441
8432
|
}
|
|
8442
8433
|
else if (parser.token === 122) {
|
|
8443
|
-
key = parseIdentifier(parser, context
|
|
8434
|
+
key = parseIdentifier(parser, context);
|
|
8444
8435
|
}
|
|
8445
8436
|
else if (context & 1 && parser.token === 131) {
|
|
8446
8437
|
kind |= 4096;
|
|
@@ -8535,7 +8526,7 @@
|
|
|
8535
8526
|
((context | modifierFlags) ^ modifierFlags) |
|
|
8536
8527
|
((state & 88) << 18) |
|
|
8537
8528
|
100925440;
|
|
8538
|
-
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0,
|
|
8529
|
+
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
|
|
8539
8530
|
if ((parser.token & 1073741824) !== 1073741824 ||
|
|
8540
8531
|
(parser.token & 4194304) === 4194304) {
|
|
8541
8532
|
value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
|
|
@@ -8743,7 +8734,7 @@
|
|
|
8743
8734
|
function parseJSXSpreadAttribute(parser, context, start, line, column) {
|
|
8744
8735
|
nextToken(parser, context);
|
|
8745
8736
|
consume(parser, context, 14);
|
|
8746
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8737
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8747
8738
|
consume(parser, context, 1074790415);
|
|
8748
8739
|
return finishNode(parser, context, start, line, column, {
|
|
8749
8740
|
type: 'JSXSpreadAttribute',
|
|
@@ -8803,7 +8794,7 @@
|
|
|
8803
8794
|
expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
|
|
8804
8795
|
}
|
|
8805
8796
|
else {
|
|
8806
|
-
expression = parseExpression(parser, context, 1, 0,
|
|
8797
|
+
expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8807
8798
|
}
|
|
8808
8799
|
if (inJSXChild) {
|
|
8809
8800
|
consume(parser, context, 1074790415);
|
|
@@ -8818,7 +8809,7 @@
|
|
|
8818
8809
|
}
|
|
8819
8810
|
function parseJSXSpreadChild(parser, context, start, line, column) {
|
|
8820
8811
|
consume(parser, context, 14);
|
|
8821
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8812
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8822
8813
|
consume(parser, context, 1074790415);
|
|
8823
8814
|
return finishNode(parser, context, start, line, column, {
|
|
8824
8815
|
type: 'JSXSpreadChild',
|
|
@@ -8846,7 +8837,7 @@
|
|
|
8846
8837
|
__proto__: null
|
|
8847
8838
|
});
|
|
8848
8839
|
|
|
8849
|
-
var version$1 = "4.4.
|
|
8840
|
+
var version$1 = "4.4.4";
|
|
8850
8841
|
|
|
8851
8842
|
const version = version$1;
|
|
8852
8843
|
function parseScript(source, options) {
|