meriyah 4.4.2 → 4.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +13 -0
- package/README.md +1 -7
- package/dist/meriyah.amd.js +121 -118
- package/dist/meriyah.amd.min.js +1 -1
- package/dist/meriyah.cjs +121 -118
- package/dist/meriyah.cjs.js +121 -118
- package/dist/meriyah.cjs.min.js +1 -1
- package/dist/meriyah.esm.js +121 -118
- package/dist/meriyah.esm.min.js +1 -1
- package/dist/meriyah.esm.min.mjs +1 -1
- package/dist/meriyah.esm.mjs +121 -118
- package/dist/meriyah.iife.js +121 -118
- package/dist/meriyah.iife.min.js +1 -1
- package/dist/meriyah.min.cjs +1 -1
- package/dist/meriyah.system.js +121 -118
- package/dist/meriyah.system.min.js +1 -1
- package/dist/meriyah.umd.cjs +121 -118
- package/dist/meriyah.umd.es5.js +121 -118
- package/dist/meriyah.umd.es5.min.js +1 -1
- package/dist/meriyah.umd.js +121 -118
- 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 +115 -144
package/dist/meriyah.umd.es5.js
CHANGED
|
@@ -1588,7 +1588,7 @@
|
|
|
1588
1588
|
return 122;
|
|
1589
1589
|
}
|
|
1590
1590
|
if ((token & 20480) === 20480) {
|
|
1591
|
-
if (context &
|
|
1591
|
+
if (context & 268435456 && (context & 8192) === 0) {
|
|
1592
1592
|
return token;
|
|
1593
1593
|
}
|
|
1594
1594
|
else {
|
|
@@ -1597,12 +1597,12 @@
|
|
|
1597
1597
|
}
|
|
1598
1598
|
return 143483;
|
|
1599
1599
|
}
|
|
1600
|
-
if (context &
|
|
1600
|
+
if (context & 268435456 &&
|
|
1601
1601
|
(context & 8192) === 0 &&
|
|
1602
1602
|
(token & 20480) === 20480)
|
|
1603
1603
|
return token;
|
|
1604
1604
|
if (token === 241773) {
|
|
1605
|
-
return context &
|
|
1605
|
+
return context & 268435456
|
|
1606
1606
|
? 143483
|
|
1607
1607
|
: context & 2097152
|
|
1608
1608
|
? 121
|
|
@@ -4421,11 +4421,10 @@
|
|
|
4421
4421
|
return parser.token;
|
|
4422
4422
|
}
|
|
4423
4423
|
|
|
4424
|
-
function matchOrInsertSemicolon(parser, context
|
|
4424
|
+
function matchOrInsertSemicolon(parser, context) {
|
|
4425
4425
|
var _a;
|
|
4426
4426
|
if ((parser.flags & 1) === 0 &&
|
|
4427
|
-
(parser.token & 1048576) !== 1048576
|
|
4428
|
-
!specDeviation) {
|
|
4427
|
+
(parser.token & 1048576) !== 1048576) {
|
|
4429
4428
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
4430
4429
|
}
|
|
4431
4430
|
if (!consumeOpt(parser, context, 1074790417)) {
|
|
@@ -4821,7 +4820,7 @@
|
|
|
4821
4820
|
if (options.ranges)
|
|
4822
4821
|
context |= 2;
|
|
4823
4822
|
if (options.uniqueKeyInPattern)
|
|
4824
|
-
context |=
|
|
4823
|
+
context |= 536870912;
|
|
4825
4824
|
if (options.lexical)
|
|
4826
4825
|
context |= 64;
|
|
4827
4826
|
if (options.webcompat)
|
|
@@ -4838,10 +4837,6 @@
|
|
|
4838
4837
|
context |= 1024;
|
|
4839
4838
|
if (options.jsx)
|
|
4840
4839
|
context |= 16;
|
|
4841
|
-
if (options.identifierPattern)
|
|
4842
|
-
context |= 268435456;
|
|
4843
|
-
if (options.specDeviation)
|
|
4844
|
-
context |= 536870912;
|
|
4845
4840
|
if (options.source)
|
|
4846
4841
|
sourceFile = options.source;
|
|
4847
4842
|
if (options.onComment != null) {
|
|
@@ -4893,7 +4888,7 @@
|
|
|
4893
4888
|
return node;
|
|
4894
4889
|
}
|
|
4895
4890
|
function parseStatementList(parser, context, scope) {
|
|
4896
|
-
nextToken(parser, context | 32768 |
|
|
4891
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
4897
4892
|
var statements = [];
|
|
4898
4893
|
while (parser.token === 134283267) {
|
|
4899
4894
|
var index = parser.index, tokenPos = parser.tokenPos, tokenValue = parser.tokenValue, linePos = parser.linePos, colPos = parser.colPos, token = parser.token;
|
|
@@ -5026,14 +5021,14 @@
|
|
|
5026
5021
|
var expr;
|
|
5027
5022
|
switch (token) {
|
|
5028
5023
|
case 241739:
|
|
5029
|
-
expr = parseIdentifier(parser, context
|
|
5024
|
+
expr = parseIdentifier(parser, context);
|
|
5030
5025
|
if (context & 1024)
|
|
5031
5026
|
report(parser, 83);
|
|
5032
5027
|
if (parser.token === 69271571)
|
|
5033
5028
|
report(parser, 82);
|
|
5034
5029
|
break;
|
|
5035
5030
|
default:
|
|
5036
|
-
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
5031
|
+
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5037
5032
|
}
|
|
5038
5033
|
if (token & 143360 && parser.token === 21) {
|
|
5039
5034
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
|
|
@@ -5095,7 +5090,7 @@
|
|
|
5095
5090
|
}
|
|
5096
5091
|
function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
|
|
5097
5092
|
var token = parser.token, tokenValue = parser.tokenValue;
|
|
5098
|
-
var expr = parseIdentifier(parser, context
|
|
5093
|
+
var expr = parseIdentifier(parser, context);
|
|
5099
5094
|
if (parser.token === 21) {
|
|
5100
5095
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
|
|
5101
5096
|
}
|
|
@@ -5263,7 +5258,7 @@
|
|
|
5263
5258
|
var label = null;
|
|
5264
5259
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5265
5260
|
var tokenValue = parser.tokenValue;
|
|
5266
|
-
label = parseIdentifier(parser, context | 32768
|
|
5261
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5267
5262
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
5268
5263
|
report(parser, 135, tokenValue);
|
|
5269
5264
|
}
|
|
@@ -5278,7 +5273,7 @@
|
|
|
5278
5273
|
var label = null;
|
|
5279
5274
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5280
5275
|
var tokenValue = parser.tokenValue;
|
|
5281
|
-
label = parseIdentifier(parser, context | 32768
|
|
5276
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5282
5277
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5283
5278
|
report(parser, 135, tokenValue);
|
|
5284
5279
|
}
|
|
@@ -5389,7 +5384,7 @@
|
|
|
5389
5384
|
}
|
|
5390
5385
|
function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
|
|
5391
5386
|
var token = parser.token, tokenValue = parser.tokenValue;
|
|
5392
|
-
var expr = parseIdentifier(parser, context
|
|
5387
|
+
var expr = parseIdentifier(parser, context);
|
|
5393
5388
|
if (parser.token & (143360 | 2097152)) {
|
|
5394
5389
|
var declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
|
|
5395
5390
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5459,7 +5454,7 @@
|
|
|
5459
5454
|
var id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
|
|
5460
5455
|
if (parser.token === 1077936157) {
|
|
5461
5456
|
nextToken(parser, context | 32768);
|
|
5462
|
-
init = parseExpression(parser, context, 1, 0,
|
|
5457
|
+
init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5463
5458
|
if (origin & 32 || (token & 2097152) === 0) {
|
|
5464
5459
|
if (parser.token === 274549 ||
|
|
5465
5460
|
(parser.token === 8738868 &&
|
|
@@ -5494,7 +5489,7 @@
|
|
|
5494
5489
|
var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
5495
5490
|
if (isVarDecl) {
|
|
5496
5491
|
if (token === 241739) {
|
|
5497
|
-
init = parseIdentifier(parser, context
|
|
5492
|
+
init = parseIdentifier(parser, context);
|
|
5498
5493
|
if (parser.token & (143360 | 2097152)) {
|
|
5499
5494
|
if (parser.token === 8738868) {
|
|
5500
5495
|
if (context & 1024)
|
|
@@ -5562,7 +5557,7 @@
|
|
|
5562
5557
|
report(parser, 78, forAwait ? 'await' : 'of');
|
|
5563
5558
|
reinterpretToPattern(parser, init);
|
|
5564
5559
|
nextToken(parser, context | 32768);
|
|
5565
|
-
right = parseExpression(parser, context, 1, 0,
|
|
5560
|
+
right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5566
5561
|
consume(parser, context | 32768, 16);
|
|
5567
5562
|
var body_1 = parseIterationStatementBody(parser, context, scope, labels);
|
|
5568
5563
|
return finishNode(parser, context, start, line, column, {
|
|
@@ -5622,7 +5617,7 @@
|
|
|
5622
5617
|
report(parser, 116);
|
|
5623
5618
|
if (scope)
|
|
5624
5619
|
addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
|
|
5625
|
-
return parseIdentifier(parser, context
|
|
5620
|
+
return parseIdentifier(parser, context);
|
|
5626
5621
|
}
|
|
5627
5622
|
function parseImportDeclaration(parser, context, scope) {
|
|
5628
5623
|
var start = parser.tokenPos;
|
|
@@ -5695,7 +5690,9 @@
|
|
|
5695
5690
|
});
|
|
5696
5691
|
}
|
|
5697
5692
|
function parseModuleSpecifier(parser, context) {
|
|
5698
|
-
consumeOpt(parser, context, 12404)
|
|
5693
|
+
if (!consumeOpt(parser, context, 12404)) {
|
|
5694
|
+
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
5695
|
+
}
|
|
5699
5696
|
if (parser.token !== 134283267)
|
|
5700
5697
|
report(parser, 103, 'Import');
|
|
5701
5698
|
return parseLiteral(parser, context);
|
|
@@ -5704,7 +5701,7 @@
|
|
|
5704
5701
|
nextToken(parser, context);
|
|
5705
5702
|
while (parser.token & 143360) {
|
|
5706
5703
|
var token = parser.token, tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
5707
|
-
var imported = parseIdentifier(parser, context
|
|
5704
|
+
var imported = parseIdentifier(parser, context);
|
|
5708
5705
|
var local = void 0;
|
|
5709
5706
|
if (consumeOpt(parser, context, 77934)) {
|
|
5710
5707
|
if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
|
|
@@ -5714,7 +5711,7 @@
|
|
|
5714
5711
|
validateBindingIdentifier(parser, context, 16, parser.token, 0);
|
|
5715
5712
|
}
|
|
5716
5713
|
tokenValue = parser.tokenValue;
|
|
5717
|
-
local = parseIdentifier(parser, context
|
|
5714
|
+
local = parseIdentifier(parser, context);
|
|
5718
5715
|
}
|
|
5719
5716
|
else {
|
|
5720
5717
|
validateBindingIdentifier(parser, context, 16, token, 0);
|
|
@@ -5774,7 +5771,7 @@
|
|
|
5774
5771
|
break;
|
|
5775
5772
|
case 209007:
|
|
5776
5773
|
var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
5777
|
-
declaration = parseIdentifier(parser, context
|
|
5774
|
+
declaration = parseIdentifier(parser, context);
|
|
5778
5775
|
var flags = parser.flags;
|
|
5779
5776
|
if ((flags & 1) === 0) {
|
|
5780
5777
|
if (parser.token === 86106) {
|
|
@@ -5789,14 +5786,14 @@
|
|
|
5789
5786
|
else if (parser.token & 143360) {
|
|
5790
5787
|
if (scope)
|
|
5791
5788
|
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
|
|
5792
|
-
declaration = parseIdentifier(parser, context
|
|
5789
|
+
declaration = parseIdentifier(parser, context);
|
|
5793
5790
|
declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
|
|
5794
5791
|
}
|
|
5795
5792
|
}
|
|
5796
5793
|
}
|
|
5797
5794
|
break;
|
|
5798
5795
|
default:
|
|
5799
|
-
declaration = parseExpression(parser, context, 1, 0,
|
|
5796
|
+
declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5800
5797
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
5801
5798
|
}
|
|
5802
5799
|
if (scope)
|
|
@@ -5814,7 +5811,7 @@
|
|
|
5814
5811
|
if (isNamedDeclaration) {
|
|
5815
5812
|
if (scope)
|
|
5816
5813
|
declareUnboundVariable(parser, parser.tokenValue);
|
|
5817
|
-
exported = parseIdentifier(parser, context
|
|
5814
|
+
exported = parseIdentifier(parser, context);
|
|
5818
5815
|
}
|
|
5819
5816
|
consume(parser, context, 12404);
|
|
5820
5817
|
if (parser.token !== 134283267)
|
|
@@ -5833,7 +5830,7 @@
|
|
|
5833
5830
|
var tmpExportedBindings = [];
|
|
5834
5831
|
while (parser.token & 143360) {
|
|
5835
5832
|
var tokenPos_1 = parser.tokenPos, tokenValue = parser.tokenValue, linePos_1 = parser.linePos, colPos_1 = parser.colPos;
|
|
5836
|
-
var local = parseIdentifier(parser, context
|
|
5833
|
+
var local = parseIdentifier(parser, context);
|
|
5837
5834
|
var exported = void 0;
|
|
5838
5835
|
if (parser.token === 77934) {
|
|
5839
5836
|
nextToken(parser, context);
|
|
@@ -5844,7 +5841,7 @@
|
|
|
5844
5841
|
tmpExportedNames.push(parser.tokenValue);
|
|
5845
5842
|
tmpExportedBindings.push(tokenValue);
|
|
5846
5843
|
}
|
|
5847
|
-
exported = parseIdentifier(parser, context
|
|
5844
|
+
exported = parseIdentifier(parser, context);
|
|
5848
5845
|
}
|
|
5849
5846
|
else {
|
|
5850
5847
|
if (scope) {
|
|
@@ -5918,15 +5915,15 @@
|
|
|
5918
5915
|
source: source
|
|
5919
5916
|
});
|
|
5920
5917
|
}
|
|
5921
|
-
function parseExpression(parser, context, canAssign,
|
|
5922
|
-
var expr = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
5918
|
+
function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
|
|
5919
|
+
var expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
|
|
5923
5920
|
expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
|
|
5924
5921
|
return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
|
|
5925
5922
|
}
|
|
5926
5923
|
function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
|
|
5927
5924
|
var expressions = [expr];
|
|
5928
5925
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
5929
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
5926
|
+
expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
5930
5927
|
}
|
|
5931
5928
|
return finishNode(parser, context, start, line, column, {
|
|
5932
5929
|
type: 'SequenceExpression',
|
|
@@ -5934,7 +5931,7 @@
|
|
|
5934
5931
|
});
|
|
5935
5932
|
}
|
|
5936
5933
|
function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
|
|
5937
|
-
var expr = parseExpression(parser, context, canAssign,
|
|
5934
|
+
var expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
|
|
5938
5935
|
return parser.token === 18
|
|
5939
5936
|
? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
|
|
5940
5937
|
: expr;
|
|
@@ -5949,7 +5946,7 @@
|
|
|
5949
5946
|
reinterpretToPattern(parser, left);
|
|
5950
5947
|
}
|
|
5951
5948
|
nextToken(parser, context | 32768);
|
|
5952
|
-
var right = parseExpression(parser, context, 1,
|
|
5949
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5953
5950
|
parser.assignable = 2;
|
|
5954
5951
|
return finishNode(parser, context, start, line, column, isPattern
|
|
5955
5952
|
? {
|
|
@@ -5975,7 +5972,7 @@
|
|
|
5975
5972
|
function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
|
|
5976
5973
|
var token = parser.token;
|
|
5977
5974
|
nextToken(parser, context | 32768);
|
|
5978
|
-
var right = parseExpression(parser, context, 1,
|
|
5975
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5979
5976
|
left = finishNode(parser, context, start, line, column, isPattern
|
|
5980
5977
|
? {
|
|
5981
5978
|
type: 'AssignmentPattern',
|
|
@@ -5992,10 +5989,10 @@
|
|
|
5992
5989
|
return left;
|
|
5993
5990
|
}
|
|
5994
5991
|
function parseConditionalExpression(parser, context, test, start, line, column) {
|
|
5995
|
-
var consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0,
|
|
5992
|
+
var consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5996
5993
|
consume(parser, context | 32768, 21);
|
|
5997
5994
|
parser.assignable = 1;
|
|
5998
|
-
var alternate = parseExpression(parser, context, 1, 0,
|
|
5995
|
+
var alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5999
5996
|
parser.assignable = 2;
|
|
6000
5997
|
return finishNode(parser, context, start, line, column, {
|
|
6001
5998
|
type: 'ConditionalExpression',
|
|
@@ -6053,9 +6050,9 @@
|
|
|
6053
6050
|
prefix: true
|
|
6054
6051
|
});
|
|
6055
6052
|
}
|
|
6056
|
-
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6053
|
+
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
|
|
6057
6054
|
var token = parser.token;
|
|
6058
|
-
var expr = parseIdentifier(parser, context
|
|
6055
|
+
var expr = parseIdentifier(parser, context);
|
|
6059
6056
|
var flags = parser.flags;
|
|
6060
6057
|
if ((flags & 1) === 0) {
|
|
6061
6058
|
if (parser.token === 86106) {
|
|
@@ -6095,7 +6092,7 @@
|
|
|
6095
6092
|
if ((parser.flags & 1) === 0) {
|
|
6096
6093
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
6097
6094
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
6098
|
-
argument = parseExpression(parser, context, 1, 0,
|
|
6095
|
+
argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6099
6096
|
}
|
|
6100
6097
|
}
|
|
6101
6098
|
parser.assignable = 2;
|
|
@@ -6198,8 +6195,9 @@
|
|
|
6198
6195
|
case 67174411: {
|
|
6199
6196
|
if ((context & 524288) === 0)
|
|
6200
6197
|
report(parser, 26);
|
|
6201
|
-
if (context & 16384)
|
|
6198
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6202
6199
|
report(parser, 27);
|
|
6200
|
+
}
|
|
6203
6201
|
parser.assignable = 2;
|
|
6204
6202
|
break;
|
|
6205
6203
|
}
|
|
@@ -6207,8 +6205,9 @@
|
|
|
6207
6205
|
case 67108877: {
|
|
6208
6206
|
if ((context & 262144) === 0)
|
|
6209
6207
|
report(parser, 27);
|
|
6210
|
-
if (context & 16384)
|
|
6208
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6211
6209
|
report(parser, 27);
|
|
6210
|
+
}
|
|
6212
6211
|
parser.assignable = 1;
|
|
6213
6212
|
break;
|
|
6214
6213
|
}
|
|
@@ -6218,7 +6217,7 @@
|
|
|
6218
6217
|
return finishNode(parser, context, start, line, column, { type: 'Super' });
|
|
6219
6218
|
}
|
|
6220
6219
|
function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
|
|
6221
|
-
var expression = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
6220
|
+
var expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
|
|
6222
6221
|
return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
|
|
6223
6222
|
}
|
|
6224
6223
|
function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
@@ -6242,7 +6241,10 @@
|
|
|
6242
6241
|
context = (context | 134217728) ^ 134217728;
|
|
6243
6242
|
switch (parser.token) {
|
|
6244
6243
|
case 67108877: {
|
|
6245
|
-
nextToken(parser, (context |
|
|
6244
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6245
|
+
if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
|
|
6246
|
+
report(parser, 27);
|
|
6247
|
+
}
|
|
6246
6248
|
parser.assignable = 1;
|
|
6247
6249
|
var property = parsePropertyOrPrivatePropertyName(parser, context | 65536);
|
|
6248
6250
|
expr = finishNode(parser, context, start, line, column, {
|
|
@@ -6298,7 +6300,7 @@
|
|
|
6298
6300
|
break;
|
|
6299
6301
|
}
|
|
6300
6302
|
case 67108991: {
|
|
6301
|
-
nextToken(parser, (context |
|
|
6303
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6302
6304
|
parser.flags |= 2048;
|
|
6303
6305
|
parser.assignable = 2;
|
|
6304
6306
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6364,7 +6366,7 @@
|
|
|
6364
6366
|
else {
|
|
6365
6367
|
if ((parser.token & (143360 | 4096)) === 0)
|
|
6366
6368
|
report(parser, 155);
|
|
6367
|
-
var property = parseIdentifier(parser, context
|
|
6369
|
+
var property = parseIdentifier(parser, context);
|
|
6368
6370
|
parser.assignable = 2;
|
|
6369
6371
|
node = finishNode(parser, context, start, line, column, {
|
|
6370
6372
|
type: 'MemberExpression',
|
|
@@ -6385,7 +6387,7 @@
|
|
|
6385
6387
|
}
|
|
6386
6388
|
return context & 1 && parser.token === 131
|
|
6387
6389
|
? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
|
|
6388
|
-
: parseIdentifier(parser, context
|
|
6390
|
+
: parseIdentifier(parser, context);
|
|
6389
6391
|
}
|
|
6390
6392
|
function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
|
|
6391
6393
|
if (inNew)
|
|
@@ -6406,7 +6408,7 @@
|
|
|
6406
6408
|
prefix: true
|
|
6407
6409
|
});
|
|
6408
6410
|
}
|
|
6409
|
-
function parsePrimaryExpression(parser, context, kind, inNew, canAssign,
|
|
6411
|
+
function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
|
|
6410
6412
|
if ((parser.token & 143360) === 143360) {
|
|
6411
6413
|
switch (parser.token) {
|
|
6412
6414
|
case 209008:
|
|
@@ -6414,10 +6416,10 @@
|
|
|
6414
6416
|
case 241773:
|
|
6415
6417
|
return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
|
|
6416
6418
|
case 209007:
|
|
6417
|
-
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6419
|
+
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
|
|
6418
6420
|
}
|
|
6419
6421
|
var token = parser.token, tokenValue = parser.tokenValue;
|
|
6420
|
-
var expr = parseIdentifier(parser, context | 65536
|
|
6422
|
+
var expr = parseIdentifier(parser, context | 65536);
|
|
6421
6423
|
if (parser.token === 10) {
|
|
6422
6424
|
if (!isLHS)
|
|
6423
6425
|
report(parser, 0);
|
|
@@ -6496,7 +6498,7 @@
|
|
|
6496
6498
|
}
|
|
6497
6499
|
}
|
|
6498
6500
|
function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6499
|
-
var expr = parseIdentifier(parser, context
|
|
6501
|
+
var expr = parseIdentifier(parser, context);
|
|
6500
6502
|
if (parser.token === 67108877) {
|
|
6501
6503
|
return parseImportMetaExpression(parser, context, expr, start, line, column);
|
|
6502
6504
|
}
|
|
@@ -6516,14 +6518,14 @@
|
|
|
6516
6518
|
return finishNode(parser, context, start, line, column, {
|
|
6517
6519
|
type: 'MetaProperty',
|
|
6518
6520
|
meta: meta,
|
|
6519
|
-
property: parseIdentifier(parser, context
|
|
6521
|
+
property: parseIdentifier(parser, context)
|
|
6520
6522
|
});
|
|
6521
6523
|
}
|
|
6522
6524
|
function parseImportExpression(parser, context, inGroup, start, line, column) {
|
|
6523
6525
|
consume(parser, context | 32768, 67174411);
|
|
6524
6526
|
if (parser.token === 14)
|
|
6525
6527
|
report(parser, 139);
|
|
6526
|
-
var source = parseExpression(parser, context, 1,
|
|
6528
|
+
var source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6527
6529
|
consume(parser, context, 16);
|
|
6528
6530
|
return finishNode(parser, context, start, line, column, {
|
|
6529
6531
|
type: 'ImportExpression',
|
|
@@ -6612,7 +6614,7 @@
|
|
|
6612
6614
|
function parseSpreadElement(parser, context, start, line, column) {
|
|
6613
6615
|
context = (context | 134217728) ^ 134217728;
|
|
6614
6616
|
consume(parser, context | 32768, 14);
|
|
6615
|
-
var argument = parseExpression(parser, context, 1, 0,
|
|
6617
|
+
var argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6616
6618
|
parser.assignable = 1;
|
|
6617
6619
|
return finishNode(parser, context, start, line, column, {
|
|
6618
6620
|
type: 'SpreadElement',
|
|
@@ -6631,7 +6633,7 @@
|
|
|
6631
6633
|
args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6632
6634
|
}
|
|
6633
6635
|
else {
|
|
6634
|
-
args.push(parseExpression(parser, context, 1,
|
|
6636
|
+
args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6635
6637
|
}
|
|
6636
6638
|
if (parser.token !== 18)
|
|
6637
6639
|
break;
|
|
@@ -6642,19 +6644,13 @@
|
|
|
6642
6644
|
consume(parser, context, 16);
|
|
6643
6645
|
return args;
|
|
6644
6646
|
}
|
|
6645
|
-
function parseIdentifier(parser, context
|
|
6647
|
+
function parseIdentifier(parser, context) {
|
|
6646
6648
|
var tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
6647
6649
|
nextToken(parser, context);
|
|
6648
|
-
return finishNode(parser, context, tokenPos, linePos, colPos,
|
|
6649
|
-
|
|
6650
|
-
|
|
6651
|
-
|
|
6652
|
-
pattern: isPattern === 1
|
|
6653
|
-
}
|
|
6654
|
-
: {
|
|
6655
|
-
type: 'Identifier',
|
|
6656
|
-
name: tokenValue
|
|
6657
|
-
});
|
|
6650
|
+
return finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
6651
|
+
type: 'Identifier',
|
|
6652
|
+
name: tokenValue
|
|
6653
|
+
});
|
|
6658
6654
|
}
|
|
6659
6655
|
function parseLiteral(parser, context) {
|
|
6660
6656
|
var tokenValue = parser.tokenValue, tokenRaw = parser.tokenRaw, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
@@ -6729,7 +6725,7 @@
|
|
|
6729
6725
|
}
|
|
6730
6726
|
firstRestricted = parser.token;
|
|
6731
6727
|
if (parser.token & 143360) {
|
|
6732
|
-
id = parseIdentifier(parser, context
|
|
6728
|
+
id = parseIdentifier(parser, context);
|
|
6733
6729
|
}
|
|
6734
6730
|
else {
|
|
6735
6731
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
@@ -6739,7 +6735,7 @@
|
|
|
6739
6735
|
((context | 32243712) ^ 32243712) |
|
|
6740
6736
|
67108864 |
|
|
6741
6737
|
((isAsync * 2 + isGenerator) << 21) |
|
|
6742
|
-
(isGenerator ? 0 :
|
|
6738
|
+
(isGenerator ? 0 : 268435456);
|
|
6743
6739
|
if (scope)
|
|
6744
6740
|
functionScope = addChildScope(functionScope, 512);
|
|
6745
6741
|
var params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
|
|
@@ -6766,13 +6762,13 @@
|
|
|
6766
6762
|
if (scope)
|
|
6767
6763
|
scope = addChildScope(scope, 256);
|
|
6768
6764
|
firstRestricted = parser.token;
|
|
6769
|
-
id = parseIdentifier(parser, context
|
|
6765
|
+
id = parseIdentifier(parser, context);
|
|
6770
6766
|
}
|
|
6771
6767
|
context =
|
|
6772
6768
|
((context | 32243712) ^ 32243712) |
|
|
6773
6769
|
67108864 |
|
|
6774
6770
|
generatorAndAsyncFlags |
|
|
6775
|
-
(isGenerator ? 0 :
|
|
6771
|
+
(isGenerator ? 0 : 268435456);
|
|
6776
6772
|
if (scope)
|
|
6777
6773
|
scope = addChildScope(scope, 512);
|
|
6778
6774
|
var params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
|
|
@@ -6810,14 +6806,14 @@
|
|
|
6810
6806
|
var left = void 0;
|
|
6811
6807
|
var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos, tokenValue = parser.tokenValue;
|
|
6812
6808
|
if (token & 143360) {
|
|
6813
|
-
left = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6809
|
+
left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6814
6810
|
if (parser.token === 1077936157) {
|
|
6815
6811
|
if (parser.assignable & 2)
|
|
6816
6812
|
report(parser, 24);
|
|
6817
6813
|
nextToken(parser, context | 32768);
|
|
6818
6814
|
if (scope)
|
|
6819
6815
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
6820
|
-
var right = parseExpression(parser, context, 1,
|
|
6816
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6821
6817
|
left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
6822
6818
|
? {
|
|
6823
6819
|
type: 'AssignmentPattern',
|
|
@@ -6956,7 +6952,7 @@
|
|
|
6956
6952
|
if (!isPattern)
|
|
6957
6953
|
reinterpretToPattern(parser, node);
|
|
6958
6954
|
var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
6959
|
-
var right = parseExpression(parser, context, 1,
|
|
6955
|
+
var right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
|
|
6960
6956
|
parser.destructible =
|
|
6961
6957
|
((destructible | 64 | 8) ^
|
|
6962
6958
|
(8 | 64)) |
|
|
@@ -6982,7 +6978,7 @@
|
|
|
6982
6978
|
var token = parser.token, tokenValue = parser.tokenValue, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
6983
6979
|
if (token & (4096 | 143360)) {
|
|
6984
6980
|
parser.assignable = 1;
|
|
6985
|
-
argument = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6981
|
+
argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6986
6982
|
token = parser.token;
|
|
6987
6983
|
argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
|
|
6988
6984
|
if (parser.token !== 18 && parser.token !== closingToken) {
|
|
@@ -7077,7 +7073,7 @@
|
|
|
7077
7073
|
if (destructible & 16)
|
|
7078
7074
|
report(parser, 24);
|
|
7079
7075
|
reinterpretToPattern(parser, argument);
|
|
7080
|
-
var right = parseExpression(parser, context, 1,
|
|
7076
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7081
7077
|
argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
7082
7078
|
? {
|
|
7083
7079
|
type: 'AssignmentPattern',
|
|
@@ -7149,7 +7145,7 @@
|
|
|
7149
7145
|
var value = void 0;
|
|
7150
7146
|
var t = parser.token;
|
|
7151
7147
|
if (parser.token & (143360 | 4096) || parser.token === 121) {
|
|
7152
|
-
key = parseIdentifier(parser, context
|
|
7148
|
+
key = parseIdentifier(parser, context);
|
|
7153
7149
|
if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
|
|
7154
7150
|
state |= 4;
|
|
7155
7151
|
if (context & 1024 && (token & 537079808) === 537079808) {
|
|
@@ -7162,7 +7158,7 @@
|
|
|
7162
7158
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
7163
7159
|
if (consumeOpt(parser, context | 32768, 1077936157)) {
|
|
7164
7160
|
destructible |= 8;
|
|
7165
|
-
var right = parseExpression(parser, context, 1,
|
|
7161
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7166
7162
|
destructible |=
|
|
7167
7163
|
parser.destructible & 256
|
|
7168
7164
|
? 256
|
|
@@ -7171,7 +7167,7 @@
|
|
|
7171
7167
|
: 0;
|
|
7172
7168
|
value = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7173
7169
|
type: 'AssignmentPattern',
|
|
7174
|
-
left: context &
|
|
7170
|
+
left: context & 536870912 ? Object.assign({}, key) : key,
|
|
7175
7171
|
right: right
|
|
7176
7172
|
});
|
|
7177
7173
|
}
|
|
@@ -7179,7 +7175,7 @@
|
|
|
7179
7175
|
destructible |=
|
|
7180
7176
|
(token === 209008 ? 128 : 0) |
|
|
7181
7177
|
(token === 121 ? 16 : 0);
|
|
7182
|
-
value = context &
|
|
7178
|
+
value = context & 536870912 ? Object.assign({}, key) : key;
|
|
7183
7179
|
}
|
|
7184
7180
|
}
|
|
7185
7181
|
else if (consumeOpt(parser, context | 32768, 21)) {
|
|
@@ -7190,7 +7186,7 @@
|
|
|
7190
7186
|
var tokenAfterColon = parser.token;
|
|
7191
7187
|
var valueAfterColon = parser.tokenValue;
|
|
7192
7188
|
destructible |= t === 121 ? 16 : 0;
|
|
7193
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7189
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos_6, linePos_5, colPos_5);
|
|
7194
7190
|
var token_2 = parser.token;
|
|
7195
7191
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_6, linePos_5, colPos_5);
|
|
7196
7192
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7311,7 +7307,7 @@
|
|
|
7311
7307
|
report(parser, 129);
|
|
7312
7308
|
state |= 16;
|
|
7313
7309
|
}
|
|
7314
|
-
key = parseIdentifier(parser, context
|
|
7310
|
+
key = parseIdentifier(parser, context);
|
|
7315
7311
|
state |=
|
|
7316
7312
|
token === 12402
|
|
7317
7313
|
? 256
|
|
@@ -7340,7 +7336,7 @@
|
|
|
7340
7336
|
state |=
|
|
7341
7337
|
8 | 1 | (token === 209007 ? 16 : 0);
|
|
7342
7338
|
if (parser.token & 143360) {
|
|
7343
|
-
key = parseIdentifier(parser, context
|
|
7339
|
+
key = parseIdentifier(parser, context);
|
|
7344
7340
|
}
|
|
7345
7341
|
else if ((parser.token & 134217728) === 134217728) {
|
|
7346
7342
|
key = parseLiteral(parser, context);
|
|
@@ -7380,7 +7376,7 @@
|
|
|
7380
7376
|
if (tokenValue === '__proto__')
|
|
7381
7377
|
prototypeCount++;
|
|
7382
7378
|
if (parser.token & 143360) {
|
|
7383
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7379
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos_7, linePos_6, colPos_6);
|
|
7384
7380
|
var token_3 = parser.token, valueAfterColon = parser.tokenValue;
|
|
7385
7381
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_7, linePos_6, colPos_6);
|
|
7386
7382
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7481,7 +7477,7 @@
|
|
|
7481
7477
|
nextToken(parser, context | 32768);
|
|
7482
7478
|
var tokenPos_8 = parser.tokenPos, linePos_7 = parser.linePos, colPos_7 = parser.colPos, tokenValue_3 = parser.tokenValue, tokenAfterColon = parser.token;
|
|
7483
7479
|
if (parser.token & 143360) {
|
|
7484
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7480
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos_8, linePos_7, colPos_7);
|
|
7485
7481
|
var token_4 = parser.token;
|
|
7486
7482
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos_8, linePos_7, colPos_7);
|
|
7487
7483
|
if ((parser.token & 4194304) === 4194304) {
|
|
@@ -7587,7 +7583,7 @@
|
|
|
7587
7583
|
state |= 8;
|
|
7588
7584
|
if (parser.token & 143360) {
|
|
7589
7585
|
var token_5 = parser.token, line_1 = parser.line, index = parser.index;
|
|
7590
|
-
key = parseIdentifier(parser, context
|
|
7586
|
+
key = parseIdentifier(parser, context);
|
|
7591
7587
|
state |= 1;
|
|
7592
7588
|
if (parser.token === 67174411) {
|
|
7593
7589
|
destructible |= 16;
|
|
@@ -7701,7 +7697,7 @@
|
|
|
7701
7697
|
if (parser.token === 1077936157) {
|
|
7702
7698
|
nextToken(parser, context | 32768);
|
|
7703
7699
|
isSimpleParameterList = 1;
|
|
7704
|
-
var right = parseExpression(parser, context, 1,
|
|
7700
|
+
var right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7705
7701
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7706
7702
|
type: 'AssignmentPattern',
|
|
7707
7703
|
left: left,
|
|
@@ -7728,14 +7724,14 @@
|
|
|
7728
7724
|
}
|
|
7729
7725
|
function parseComputedPropertyName(parser, context, inGroup) {
|
|
7730
7726
|
nextToken(parser, context | 32768);
|
|
7731
|
-
var key = parseExpression(parser, (context | 134217728) ^ 134217728, 1,
|
|
7727
|
+
var key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7732
7728
|
consume(parser, context, 20);
|
|
7733
7729
|
return key;
|
|
7734
7730
|
}
|
|
7735
7731
|
function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
|
|
7736
7732
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
7737
7733
|
var piStart = parser.tokenPos, plStart = parser.linePos, pcStart = parser.colPos;
|
|
7738
|
-
nextToken(parser, context | 32768 |
|
|
7734
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
7739
7735
|
var scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7740
7736
|
context = (context | 134217728) ^ 134217728;
|
|
7741
7737
|
if (consumeOpt(parser, context, 16)) {
|
|
@@ -7754,7 +7750,7 @@
|
|
|
7754
7750
|
if (token & (143360 | 4096)) {
|
|
7755
7751
|
if (scope)
|
|
7756
7752
|
addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
|
|
7757
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7753
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
7758
7754
|
if (parser.token === 16 || parser.token === 18) {
|
|
7759
7755
|
if (parser.assignable & 2) {
|
|
7760
7756
|
destructible |= 16;
|
|
@@ -7781,8 +7777,8 @@
|
|
|
7781
7777
|
else if ((token & 2097152) === 2097152) {
|
|
7782
7778
|
expr =
|
|
7783
7779
|
token === 2162700
|
|
7784
|
-
? parseObjectLiteralOrPattern(parser, context |
|
|
7785
|
-
: parseArrayExpressionOrPattern(parser, context |
|
|
7780
|
+
? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
|
|
7781
|
+
: parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
|
|
7786
7782
|
destructible |= parser.destructible;
|
|
7787
7783
|
isSimpleParameterList = 1;
|
|
7788
7784
|
parser.assignable = 2;
|
|
@@ -7809,7 +7805,7 @@
|
|
|
7809
7805
|
}
|
|
7810
7806
|
else {
|
|
7811
7807
|
destructible |= 16;
|
|
7812
|
-
expr = parseExpression(parser, context, 1,
|
|
7808
|
+
expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
|
|
7813
7809
|
if (isSequence && (parser.token === 16 || parser.token === 18)) {
|
|
7814
7810
|
expressions.push(expr);
|
|
7815
7811
|
}
|
|
@@ -7821,7 +7817,7 @@
|
|
|
7821
7817
|
}
|
|
7822
7818
|
if (isSequence) {
|
|
7823
7819
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
7824
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
7820
|
+
expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
|
|
7825
7821
|
}
|
|
7826
7822
|
parser.assignable = 2;
|
|
7827
7823
|
expr = finishNode(parser, context, iStart, lStart, cStart, {
|
|
@@ -7888,7 +7884,7 @@
|
|
|
7888
7884
|
}
|
|
7889
7885
|
function parseIdentifierOrArrow(parser, context, start, line, column) {
|
|
7890
7886
|
var tokenValue = parser.tokenValue;
|
|
7891
|
-
var expr = parseIdentifier(parser, context
|
|
7887
|
+
var expr = parseIdentifier(parser, context);
|
|
7892
7888
|
parser.assignable = 1;
|
|
7893
7889
|
if (parser.token === 10) {
|
|
7894
7890
|
var scope = void 0;
|
|
@@ -7926,7 +7922,7 @@
|
|
|
7926
7922
|
reportScopeError(scope.scopeError);
|
|
7927
7923
|
}
|
|
7928
7924
|
if (expression) {
|
|
7929
|
-
body = parseExpression(parser, context, 1, 0,
|
|
7925
|
+
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7930
7926
|
}
|
|
7931
7927
|
else {
|
|
7932
7928
|
if (scope)
|
|
@@ -8007,7 +8003,7 @@
|
|
|
8007
8003
|
if (parser.token === 1077936157) {
|
|
8008
8004
|
nextToken(parser, context | 32768);
|
|
8009
8005
|
isSimpleParameterList = 1;
|
|
8010
|
-
var right = parseExpression(parser, context, 1,
|
|
8006
|
+
var right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8011
8007
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
8012
8008
|
type: 'AssignmentPattern',
|
|
8013
8009
|
left: left,
|
|
@@ -8033,7 +8029,7 @@
|
|
|
8033
8029
|
var token = parser.token;
|
|
8034
8030
|
if (token & 67108864) {
|
|
8035
8031
|
if (token === 67108877) {
|
|
8036
|
-
nextToken(parser, context |
|
|
8032
|
+
nextToken(parser, context | 268435456);
|
|
8037
8033
|
parser.assignable = 1;
|
|
8038
8034
|
var property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
8039
8035
|
return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
|
|
@@ -8070,7 +8066,7 @@
|
|
|
8070
8066
|
return expr;
|
|
8071
8067
|
}
|
|
8072
8068
|
function parseNewExpression(parser, context, inGroup, start, line, column) {
|
|
8073
|
-
var id = parseIdentifier(parser, context | 32768
|
|
8069
|
+
var id = parseIdentifier(parser, context | 32768);
|
|
8074
8070
|
var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
8075
8071
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8076
8072
|
if (context & 67108864 && parser.token === 143494) {
|
|
@@ -8083,7 +8079,7 @@
|
|
|
8083
8079
|
if ((parser.token & 16842752) === 16842752) {
|
|
8084
8080
|
report(parser, 63, KeywordDescTable[parser.token & 255]);
|
|
8085
8081
|
}
|
|
8086
|
-
var expr = parsePrimaryExpression(parser, context, 2, 1, 0,
|
|
8082
|
+
var expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
|
|
8087
8083
|
context = (context | 134217728) ^ 134217728;
|
|
8088
8084
|
if (parser.token === 67108991)
|
|
8089
8085
|
report(parser, 163);
|
|
@@ -8096,7 +8092,7 @@
|
|
|
8096
8092
|
});
|
|
8097
8093
|
}
|
|
8098
8094
|
function parseMetaProperty(parser, context, meta, start, line, column) {
|
|
8099
|
-
var property = parseIdentifier(parser, context
|
|
8095
|
+
var property = parseIdentifier(parser, context);
|
|
8100
8096
|
return finishNode(parser, context, start, line, column, {
|
|
8101
8097
|
type: 'MetaProperty',
|
|
8102
8098
|
meta: meta,
|
|
@@ -8112,7 +8108,7 @@
|
|
|
8112
8108
|
if ((parser.token & 537079808) === 537079808) {
|
|
8113
8109
|
parser.flags |= 512;
|
|
8114
8110
|
}
|
|
8115
|
-
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context
|
|
8111
|
+
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
|
|
8116
8112
|
}
|
|
8117
8113
|
function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
|
|
8118
8114
|
nextToken(parser, context | 32768);
|
|
@@ -8142,7 +8138,7 @@
|
|
|
8142
8138
|
if (token & (143360 | 4096)) {
|
|
8143
8139
|
if (scope)
|
|
8144
8140
|
addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
|
|
8145
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
8141
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
8146
8142
|
if (parser.token === 16 || parser.token === 18) {
|
|
8147
8143
|
if (parser.assignable & 2) {
|
|
8148
8144
|
destructible |= 16;
|
|
@@ -8194,11 +8190,11 @@
|
|
|
8194
8190
|
isSimpleParameterList = 1;
|
|
8195
8191
|
}
|
|
8196
8192
|
else {
|
|
8197
|
-
expr = parseExpression(parser, context, 1, 0,
|
|
8193
|
+
expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8198
8194
|
destructible = parser.assignable;
|
|
8199
8195
|
params.push(expr);
|
|
8200
8196
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
8201
|
-
params.push(parseExpression(parser, context, 1, 0,
|
|
8197
|
+
params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
|
|
8202
8198
|
}
|
|
8203
8199
|
destructible |= parser.assignable;
|
|
8204
8200
|
consume(parser, context, 16);
|
|
@@ -8294,7 +8290,7 @@
|
|
|
8294
8290
|
}
|
|
8295
8291
|
}
|
|
8296
8292
|
}
|
|
8297
|
-
id = parseIdentifier(parser, context
|
|
8293
|
+
id = parseIdentifier(parser, context);
|
|
8298
8294
|
}
|
|
8299
8295
|
else {
|
|
8300
8296
|
if ((flags & 1) === 0)
|
|
@@ -8341,7 +8337,7 @@
|
|
|
8341
8337
|
if ((parser.token & 537079808) === 537079808) {
|
|
8342
8338
|
report(parser, 116);
|
|
8343
8339
|
}
|
|
8344
|
-
id = parseIdentifier(parser, context
|
|
8340
|
+
id = parseIdentifier(parser, context);
|
|
8345
8341
|
}
|
|
8346
8342
|
var inheritedContext = context;
|
|
8347
8343
|
if (consumeOpt(parser, context | 32768, 20567)) {
|
|
@@ -8379,7 +8375,7 @@
|
|
|
8379
8375
|
}
|
|
8380
8376
|
function parseDecoratorList(parser, context, start, line, column) {
|
|
8381
8377
|
nextToken(parser, context | 32768);
|
|
8382
|
-
var expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
8378
|
+
var expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
|
|
8383
8379
|
expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
|
|
8384
8380
|
return finishNode(parser, context, start, line, column, {
|
|
8385
8381
|
type: 'Decorator',
|
|
@@ -8422,7 +8418,7 @@
|
|
|
8422
8418
|
var key = null;
|
|
8423
8419
|
var token = parser.token, tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
8424
8420
|
if (token & (143360 | 36864)) {
|
|
8425
|
-
key = parseIdentifier(parser, context
|
|
8421
|
+
key = parseIdentifier(parser, context);
|
|
8426
8422
|
switch (token) {
|
|
8427
8423
|
case 36972:
|
|
8428
8424
|
if (!isStatic &&
|
|
@@ -8480,7 +8476,7 @@
|
|
|
8480
8476
|
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8481
8477
|
}
|
|
8482
8478
|
else if (token === 122) {
|
|
8483
|
-
key = parseIdentifier(parser, context
|
|
8479
|
+
key = parseIdentifier(parser, context);
|
|
8484
8480
|
if (parser.token !== 67174411)
|
|
8485
8481
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
8486
8482
|
}
|
|
@@ -8489,7 +8485,7 @@
|
|
|
8489
8485
|
}
|
|
8490
8486
|
if (kind & (8 | 16 | 768)) {
|
|
8491
8487
|
if (parser.token & 143360) {
|
|
8492
|
-
key = parseIdentifier(parser, context
|
|
8488
|
+
key = parseIdentifier(parser, context);
|
|
8493
8489
|
}
|
|
8494
8490
|
else if ((parser.token & 134217728) === 134217728) {
|
|
8495
8491
|
key = parseLiteral(parser, context);
|
|
@@ -8499,7 +8495,7 @@
|
|
|
8499
8495
|
key = parseComputedPropertyName(parser, context, 0);
|
|
8500
8496
|
}
|
|
8501
8497
|
else if (parser.token === 122) {
|
|
8502
|
-
key = parseIdentifier(parser, context
|
|
8498
|
+
key = parseIdentifier(parser, context);
|
|
8503
8499
|
}
|
|
8504
8500
|
else if (context & 1 && parser.token === 131) {
|
|
8505
8501
|
kind |= 4096;
|
|
@@ -8587,7 +8583,14 @@
|
|
|
8587
8583
|
var tokenPos = parser.tokenPos, linePos = parser.linePos, colPos = parser.colPos;
|
|
8588
8584
|
if (parser.token === 537079928)
|
|
8589
8585
|
report(parser, 116);
|
|
8590
|
-
|
|
8586
|
+
var modifierFlags = (state & 64) === 0
|
|
8587
|
+
? 31981568
|
|
8588
|
+
: 14680064;
|
|
8589
|
+
context =
|
|
8590
|
+
((context | modifierFlags) ^ modifierFlags) |
|
|
8591
|
+
((state & 88) << 18) |
|
|
8592
|
+
100925440;
|
|
8593
|
+
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
|
|
8591
8594
|
if ((parser.token & 1073741824) !== 1073741824 ||
|
|
8592
8595
|
(parser.token & 4194304) === 4194304) {
|
|
8593
8596
|
value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
|
|
@@ -8795,7 +8798,7 @@
|
|
|
8795
8798
|
function parseJSXSpreadAttribute(parser, context, start, line, column) {
|
|
8796
8799
|
nextToken(parser, context);
|
|
8797
8800
|
consume(parser, context, 14);
|
|
8798
|
-
var expression = parseExpression(parser, context, 1, 0,
|
|
8801
|
+
var expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8799
8802
|
consume(parser, context, 1074790415);
|
|
8800
8803
|
return finishNode(parser, context, start, line, column, {
|
|
8801
8804
|
type: 'JSXSpreadAttribute',
|
|
@@ -8855,7 +8858,7 @@
|
|
|
8855
8858
|
expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
|
|
8856
8859
|
}
|
|
8857
8860
|
else {
|
|
8858
|
-
expression = parseExpression(parser, context, 1, 0,
|
|
8861
|
+
expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8859
8862
|
}
|
|
8860
8863
|
if (inJSXChild) {
|
|
8861
8864
|
consume(parser, context, 1074790415);
|
|
@@ -8870,7 +8873,7 @@
|
|
|
8870
8873
|
}
|
|
8871
8874
|
function parseJSXSpreadChild(parser, context, start, line, column) {
|
|
8872
8875
|
consume(parser, context, 14);
|
|
8873
|
-
var expression = parseExpression(parser, context, 1, 0,
|
|
8876
|
+
var expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8874
8877
|
consume(parser, context, 1074790415);
|
|
8875
8878
|
return finishNode(parser, context, start, line, column, {
|
|
8876
8879
|
type: 'JSXSpreadChild',
|
|
@@ -8898,7 +8901,7 @@
|
|
|
8898
8901
|
__proto__: null
|
|
8899
8902
|
});
|
|
8900
8903
|
|
|
8901
|
-
var version$1 = "4.4.
|
|
8904
|
+
var version$1 = "4.4.4";
|
|
8902
8905
|
|
|
8903
8906
|
var version = version$1;
|
|
8904
8907
|
function parseScript(source, options) {
|