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.iife.js
CHANGED
|
@@ -1527,7 +1527,7 @@ var meriyah = (function (exports) {
|
|
|
1527
1527
|
return 122;
|
|
1528
1528
|
}
|
|
1529
1529
|
if ((token & 20480) === 20480) {
|
|
1530
|
-
if (context &
|
|
1530
|
+
if (context & 268435456 && (context & 8192) === 0) {
|
|
1531
1531
|
return token;
|
|
1532
1532
|
}
|
|
1533
1533
|
else {
|
|
@@ -1536,12 +1536,12 @@ var meriyah = (function (exports) {
|
|
|
1536
1536
|
}
|
|
1537
1537
|
return 143483;
|
|
1538
1538
|
}
|
|
1539
|
-
if (context &
|
|
1539
|
+
if (context & 268435456 &&
|
|
1540
1540
|
(context & 8192) === 0 &&
|
|
1541
1541
|
(token & 20480) === 20480)
|
|
1542
1542
|
return token;
|
|
1543
1543
|
if (token === 241773) {
|
|
1544
|
-
return context &
|
|
1544
|
+
return context & 268435456
|
|
1545
1545
|
? 143483
|
|
1546
1546
|
: context & 2097152
|
|
1547
1547
|
? 121
|
|
@@ -4360,10 +4360,9 @@ var meriyah = (function (exports) {
|
|
|
4360
4360
|
return parser.token;
|
|
4361
4361
|
}
|
|
4362
4362
|
|
|
4363
|
-
function matchOrInsertSemicolon(parser, context
|
|
4363
|
+
function matchOrInsertSemicolon(parser, context) {
|
|
4364
4364
|
if ((parser.flags & 1) === 0 &&
|
|
4365
|
-
(parser.token & 1048576) !== 1048576
|
|
4366
|
-
!specDeviation) {
|
|
4365
|
+
(parser.token & 1048576) !== 1048576) {
|
|
4367
4366
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
4368
4367
|
}
|
|
4369
4368
|
if (!consumeOpt(parser, context, 1074790417)) {
|
|
@@ -4755,7 +4754,7 @@ var meriyah = (function (exports) {
|
|
|
4755
4754
|
if (options.ranges)
|
|
4756
4755
|
context |= 2;
|
|
4757
4756
|
if (options.uniqueKeyInPattern)
|
|
4758
|
-
context |=
|
|
4757
|
+
context |= 536870912;
|
|
4759
4758
|
if (options.lexical)
|
|
4760
4759
|
context |= 64;
|
|
4761
4760
|
if (options.webcompat)
|
|
@@ -4772,10 +4771,6 @@ var meriyah = (function (exports) {
|
|
|
4772
4771
|
context |= 1024;
|
|
4773
4772
|
if (options.jsx)
|
|
4774
4773
|
context |= 16;
|
|
4775
|
-
if (options.identifierPattern)
|
|
4776
|
-
context |= 268435456;
|
|
4777
|
-
if (options.specDeviation)
|
|
4778
|
-
context |= 536870912;
|
|
4779
4774
|
if (options.source)
|
|
4780
4775
|
sourceFile = options.source;
|
|
4781
4776
|
if (options.onComment != null) {
|
|
@@ -4827,7 +4822,7 @@ var meriyah = (function (exports) {
|
|
|
4827
4822
|
return node;
|
|
4828
4823
|
}
|
|
4829
4824
|
function parseStatementList(parser, context, scope) {
|
|
4830
|
-
nextToken(parser, context | 32768 |
|
|
4825
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
4831
4826
|
const statements = [];
|
|
4832
4827
|
while (parser.token === 134283267) {
|
|
4833
4828
|
const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
|
|
@@ -4960,14 +4955,14 @@ var meriyah = (function (exports) {
|
|
|
4960
4955
|
let expr;
|
|
4961
4956
|
switch (token) {
|
|
4962
4957
|
case 241739:
|
|
4963
|
-
expr = parseIdentifier(parser, context
|
|
4958
|
+
expr = parseIdentifier(parser, context);
|
|
4964
4959
|
if (context & 1024)
|
|
4965
4960
|
report(parser, 83);
|
|
4966
4961
|
if (parser.token === 69271571)
|
|
4967
4962
|
report(parser, 82);
|
|
4968
4963
|
break;
|
|
4969
4964
|
default:
|
|
4970
|
-
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
4965
|
+
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
4971
4966
|
}
|
|
4972
4967
|
if (token & 143360 && parser.token === 21) {
|
|
4973
4968
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
|
|
@@ -5029,7 +5024,7 @@ var meriyah = (function (exports) {
|
|
|
5029
5024
|
}
|
|
5030
5025
|
function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
|
|
5031
5026
|
const { token, tokenValue } = parser;
|
|
5032
|
-
let expr = parseIdentifier(parser, context
|
|
5027
|
+
let expr = parseIdentifier(parser, context);
|
|
5033
5028
|
if (parser.token === 21) {
|
|
5034
5029
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
|
|
5035
5030
|
}
|
|
@@ -5197,7 +5192,7 @@ var meriyah = (function (exports) {
|
|
|
5197
5192
|
let label = null;
|
|
5198
5193
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5199
5194
|
const { tokenValue } = parser;
|
|
5200
|
-
label = parseIdentifier(parser, context | 32768
|
|
5195
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5201
5196
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
5202
5197
|
report(parser, 135, tokenValue);
|
|
5203
5198
|
}
|
|
@@ -5212,7 +5207,7 @@ var meriyah = (function (exports) {
|
|
|
5212
5207
|
let label = null;
|
|
5213
5208
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5214
5209
|
const { tokenValue } = parser;
|
|
5215
|
-
label = parseIdentifier(parser, context | 32768
|
|
5210
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5216
5211
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5217
5212
|
report(parser, 135, tokenValue);
|
|
5218
5213
|
}
|
|
@@ -5323,7 +5318,7 @@ var meriyah = (function (exports) {
|
|
|
5323
5318
|
}
|
|
5324
5319
|
function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
|
|
5325
5320
|
const { token, tokenValue } = parser;
|
|
5326
|
-
let expr = parseIdentifier(parser, context
|
|
5321
|
+
let expr = parseIdentifier(parser, context);
|
|
5327
5322
|
if (parser.token & (143360 | 2097152)) {
|
|
5328
5323
|
const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
|
|
5329
5324
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5393,7 +5388,7 @@ var meriyah = (function (exports) {
|
|
|
5393
5388
|
const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
|
|
5394
5389
|
if (parser.token === 1077936157) {
|
|
5395
5390
|
nextToken(parser, context | 32768);
|
|
5396
|
-
init = parseExpression(parser, context, 1, 0,
|
|
5391
|
+
init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5397
5392
|
if (origin & 32 || (token & 2097152) === 0) {
|
|
5398
5393
|
if (parser.token === 274549 ||
|
|
5399
5394
|
(parser.token === 8738868 &&
|
|
@@ -5428,7 +5423,7 @@ var meriyah = (function (exports) {
|
|
|
5428
5423
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
5429
5424
|
if (isVarDecl) {
|
|
5430
5425
|
if (token === 241739) {
|
|
5431
|
-
init = parseIdentifier(parser, context
|
|
5426
|
+
init = parseIdentifier(parser, context);
|
|
5432
5427
|
if (parser.token & (143360 | 2097152)) {
|
|
5433
5428
|
if (parser.token === 8738868) {
|
|
5434
5429
|
if (context & 1024)
|
|
@@ -5496,7 +5491,7 @@ var meriyah = (function (exports) {
|
|
|
5496
5491
|
report(parser, 78, forAwait ? 'await' : 'of');
|
|
5497
5492
|
reinterpretToPattern(parser, init);
|
|
5498
5493
|
nextToken(parser, context | 32768);
|
|
5499
|
-
right = parseExpression(parser, context, 1, 0,
|
|
5494
|
+
right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5500
5495
|
consume(parser, context | 32768, 16);
|
|
5501
5496
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
5502
5497
|
return finishNode(parser, context, start, line, column, {
|
|
@@ -5556,7 +5551,7 @@ var meriyah = (function (exports) {
|
|
|
5556
5551
|
report(parser, 116);
|
|
5557
5552
|
if (scope)
|
|
5558
5553
|
addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
|
|
5559
|
-
return parseIdentifier(parser, context
|
|
5554
|
+
return parseIdentifier(parser, context);
|
|
5560
5555
|
}
|
|
5561
5556
|
function parseImportDeclaration(parser, context, scope) {
|
|
5562
5557
|
const start = parser.tokenPos;
|
|
@@ -5629,7 +5624,9 @@ var meriyah = (function (exports) {
|
|
|
5629
5624
|
});
|
|
5630
5625
|
}
|
|
5631
5626
|
function parseModuleSpecifier(parser, context) {
|
|
5632
|
-
consumeOpt(parser, context, 12404)
|
|
5627
|
+
if (!consumeOpt(parser, context, 12404)) {
|
|
5628
|
+
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
5629
|
+
}
|
|
5633
5630
|
if (parser.token !== 134283267)
|
|
5634
5631
|
report(parser, 103, 'Import');
|
|
5635
5632
|
return parseLiteral(parser, context);
|
|
@@ -5638,7 +5635,7 @@ var meriyah = (function (exports) {
|
|
|
5638
5635
|
nextToken(parser, context);
|
|
5639
5636
|
while (parser.token & 143360) {
|
|
5640
5637
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
5641
|
-
const imported = parseIdentifier(parser, context
|
|
5638
|
+
const imported = parseIdentifier(parser, context);
|
|
5642
5639
|
let local;
|
|
5643
5640
|
if (consumeOpt(parser, context, 77934)) {
|
|
5644
5641
|
if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
|
|
@@ -5648,7 +5645,7 @@ var meriyah = (function (exports) {
|
|
|
5648
5645
|
validateBindingIdentifier(parser, context, 16, parser.token, 0);
|
|
5649
5646
|
}
|
|
5650
5647
|
tokenValue = parser.tokenValue;
|
|
5651
|
-
local = parseIdentifier(parser, context
|
|
5648
|
+
local = parseIdentifier(parser, context);
|
|
5652
5649
|
}
|
|
5653
5650
|
else {
|
|
5654
5651
|
validateBindingIdentifier(parser, context, 16, token, 0);
|
|
@@ -5708,7 +5705,7 @@ var meriyah = (function (exports) {
|
|
|
5708
5705
|
break;
|
|
5709
5706
|
case 209007:
|
|
5710
5707
|
const { tokenPos, linePos, colPos } = parser;
|
|
5711
|
-
declaration = parseIdentifier(parser, context
|
|
5708
|
+
declaration = parseIdentifier(parser, context);
|
|
5712
5709
|
const { flags } = parser;
|
|
5713
5710
|
if ((flags & 1) === 0) {
|
|
5714
5711
|
if (parser.token === 86106) {
|
|
@@ -5723,14 +5720,14 @@ var meriyah = (function (exports) {
|
|
|
5723
5720
|
else if (parser.token & 143360) {
|
|
5724
5721
|
if (scope)
|
|
5725
5722
|
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
|
|
5726
|
-
declaration = parseIdentifier(parser, context
|
|
5723
|
+
declaration = parseIdentifier(parser, context);
|
|
5727
5724
|
declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
|
|
5728
5725
|
}
|
|
5729
5726
|
}
|
|
5730
5727
|
}
|
|
5731
5728
|
break;
|
|
5732
5729
|
default:
|
|
5733
|
-
declaration = parseExpression(parser, context, 1, 0,
|
|
5730
|
+
declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5734
5731
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
5735
5732
|
}
|
|
5736
5733
|
if (scope)
|
|
@@ -5748,7 +5745,7 @@ var meriyah = (function (exports) {
|
|
|
5748
5745
|
if (isNamedDeclaration) {
|
|
5749
5746
|
if (scope)
|
|
5750
5747
|
declareUnboundVariable(parser, parser.tokenValue);
|
|
5751
|
-
exported = parseIdentifier(parser, context
|
|
5748
|
+
exported = parseIdentifier(parser, context);
|
|
5752
5749
|
}
|
|
5753
5750
|
consume(parser, context, 12404);
|
|
5754
5751
|
if (parser.token !== 134283267)
|
|
@@ -5767,7 +5764,7 @@ var meriyah = (function (exports) {
|
|
|
5767
5764
|
const tmpExportedBindings = [];
|
|
5768
5765
|
while (parser.token & 143360) {
|
|
5769
5766
|
const { tokenPos, tokenValue, linePos, colPos } = parser;
|
|
5770
|
-
const local = parseIdentifier(parser, context
|
|
5767
|
+
const local = parseIdentifier(parser, context);
|
|
5771
5768
|
let exported;
|
|
5772
5769
|
if (parser.token === 77934) {
|
|
5773
5770
|
nextToken(parser, context);
|
|
@@ -5778,7 +5775,7 @@ var meriyah = (function (exports) {
|
|
|
5778
5775
|
tmpExportedNames.push(parser.tokenValue);
|
|
5779
5776
|
tmpExportedBindings.push(tokenValue);
|
|
5780
5777
|
}
|
|
5781
|
-
exported = parseIdentifier(parser, context
|
|
5778
|
+
exported = parseIdentifier(parser, context);
|
|
5782
5779
|
}
|
|
5783
5780
|
else {
|
|
5784
5781
|
if (scope) {
|
|
@@ -5852,15 +5849,15 @@ var meriyah = (function (exports) {
|
|
|
5852
5849
|
source
|
|
5853
5850
|
});
|
|
5854
5851
|
}
|
|
5855
|
-
function parseExpression(parser, context, canAssign,
|
|
5856
|
-
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
5852
|
+
function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
|
|
5853
|
+
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
|
|
5857
5854
|
expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
|
|
5858
5855
|
return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
|
|
5859
5856
|
}
|
|
5860
5857
|
function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
|
|
5861
5858
|
const expressions = [expr];
|
|
5862
5859
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
5863
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
5860
|
+
expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
5864
5861
|
}
|
|
5865
5862
|
return finishNode(parser, context, start, line, column, {
|
|
5866
5863
|
type: 'SequenceExpression',
|
|
@@ -5868,7 +5865,7 @@ var meriyah = (function (exports) {
|
|
|
5868
5865
|
});
|
|
5869
5866
|
}
|
|
5870
5867
|
function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
|
|
5871
|
-
const expr = parseExpression(parser, context, canAssign,
|
|
5868
|
+
const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
|
|
5872
5869
|
return parser.token === 18
|
|
5873
5870
|
? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
|
|
5874
5871
|
: expr;
|
|
@@ -5883,7 +5880,7 @@ var meriyah = (function (exports) {
|
|
|
5883
5880
|
reinterpretToPattern(parser, left);
|
|
5884
5881
|
}
|
|
5885
5882
|
nextToken(parser, context | 32768);
|
|
5886
|
-
const right = parseExpression(parser, context, 1,
|
|
5883
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5887
5884
|
parser.assignable = 2;
|
|
5888
5885
|
return finishNode(parser, context, start, line, column, isPattern
|
|
5889
5886
|
? {
|
|
@@ -5909,7 +5906,7 @@ var meriyah = (function (exports) {
|
|
|
5909
5906
|
function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
|
|
5910
5907
|
const { token } = parser;
|
|
5911
5908
|
nextToken(parser, context | 32768);
|
|
5912
|
-
const right = parseExpression(parser, context, 1,
|
|
5909
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5913
5910
|
left = finishNode(parser, context, start, line, column, isPattern
|
|
5914
5911
|
? {
|
|
5915
5912
|
type: 'AssignmentPattern',
|
|
@@ -5926,10 +5923,10 @@ var meriyah = (function (exports) {
|
|
|
5926
5923
|
return left;
|
|
5927
5924
|
}
|
|
5928
5925
|
function parseConditionalExpression(parser, context, test, start, line, column) {
|
|
5929
|
-
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0,
|
|
5926
|
+
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5930
5927
|
consume(parser, context | 32768, 21);
|
|
5931
5928
|
parser.assignable = 1;
|
|
5932
|
-
const alternate = parseExpression(parser, context, 1, 0,
|
|
5929
|
+
const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5933
5930
|
parser.assignable = 2;
|
|
5934
5931
|
return finishNode(parser, context, start, line, column, {
|
|
5935
5932
|
type: 'ConditionalExpression',
|
|
@@ -5987,9 +5984,9 @@ var meriyah = (function (exports) {
|
|
|
5987
5984
|
prefix: true
|
|
5988
5985
|
});
|
|
5989
5986
|
}
|
|
5990
|
-
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
5987
|
+
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
|
|
5991
5988
|
const { token } = parser;
|
|
5992
|
-
const expr = parseIdentifier(parser, context
|
|
5989
|
+
const expr = parseIdentifier(parser, context);
|
|
5993
5990
|
const { flags } = parser;
|
|
5994
5991
|
if ((flags & 1) === 0) {
|
|
5995
5992
|
if (parser.token === 86106) {
|
|
@@ -6029,7 +6026,7 @@ var meriyah = (function (exports) {
|
|
|
6029
6026
|
if ((parser.flags & 1) === 0) {
|
|
6030
6027
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
6031
6028
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
6032
|
-
argument = parseExpression(parser, context, 1, 0,
|
|
6029
|
+
argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6033
6030
|
}
|
|
6034
6031
|
}
|
|
6035
6032
|
parser.assignable = 2;
|
|
@@ -6132,8 +6129,9 @@ var meriyah = (function (exports) {
|
|
|
6132
6129
|
case 67174411: {
|
|
6133
6130
|
if ((context & 524288) === 0)
|
|
6134
6131
|
report(parser, 26);
|
|
6135
|
-
if (context & 16384)
|
|
6132
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6136
6133
|
report(parser, 27);
|
|
6134
|
+
}
|
|
6137
6135
|
parser.assignable = 2;
|
|
6138
6136
|
break;
|
|
6139
6137
|
}
|
|
@@ -6141,8 +6139,9 @@ var meriyah = (function (exports) {
|
|
|
6141
6139
|
case 67108877: {
|
|
6142
6140
|
if ((context & 262144) === 0)
|
|
6143
6141
|
report(parser, 27);
|
|
6144
|
-
if (context & 16384)
|
|
6142
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6145
6143
|
report(parser, 27);
|
|
6144
|
+
}
|
|
6146
6145
|
parser.assignable = 1;
|
|
6147
6146
|
break;
|
|
6148
6147
|
}
|
|
@@ -6152,7 +6151,7 @@ var meriyah = (function (exports) {
|
|
|
6152
6151
|
return finishNode(parser, context, start, line, column, { type: 'Super' });
|
|
6153
6152
|
}
|
|
6154
6153
|
function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
|
|
6155
|
-
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
6154
|
+
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
|
|
6156
6155
|
return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
|
|
6157
6156
|
}
|
|
6158
6157
|
function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
@@ -6176,7 +6175,10 @@ var meriyah = (function (exports) {
|
|
|
6176
6175
|
context = (context | 134217728) ^ 134217728;
|
|
6177
6176
|
switch (parser.token) {
|
|
6178
6177
|
case 67108877: {
|
|
6179
|
-
nextToken(parser, (context |
|
|
6178
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6179
|
+
if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
|
|
6180
|
+
report(parser, 27);
|
|
6181
|
+
}
|
|
6180
6182
|
parser.assignable = 1;
|
|
6181
6183
|
const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);
|
|
6182
6184
|
expr = finishNode(parser, context, start, line, column, {
|
|
@@ -6232,7 +6234,7 @@ var meriyah = (function (exports) {
|
|
|
6232
6234
|
break;
|
|
6233
6235
|
}
|
|
6234
6236
|
case 67108991: {
|
|
6235
|
-
nextToken(parser, (context |
|
|
6237
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6236
6238
|
parser.flags |= 2048;
|
|
6237
6239
|
parser.assignable = 2;
|
|
6238
6240
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6298,7 +6300,7 @@ var meriyah = (function (exports) {
|
|
|
6298
6300
|
else {
|
|
6299
6301
|
if ((parser.token & (143360 | 4096)) === 0)
|
|
6300
6302
|
report(parser, 155);
|
|
6301
|
-
const property = parseIdentifier(parser, context
|
|
6303
|
+
const property = parseIdentifier(parser, context);
|
|
6302
6304
|
parser.assignable = 2;
|
|
6303
6305
|
node = finishNode(parser, context, start, line, column, {
|
|
6304
6306
|
type: 'MemberExpression',
|
|
@@ -6319,7 +6321,7 @@ var meriyah = (function (exports) {
|
|
|
6319
6321
|
}
|
|
6320
6322
|
return context & 1 && parser.token === 131
|
|
6321
6323
|
? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
|
|
6322
|
-
: parseIdentifier(parser, context
|
|
6324
|
+
: parseIdentifier(parser, context);
|
|
6323
6325
|
}
|
|
6324
6326
|
function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
|
|
6325
6327
|
if (inNew)
|
|
@@ -6340,7 +6342,7 @@ var meriyah = (function (exports) {
|
|
|
6340
6342
|
prefix: true
|
|
6341
6343
|
});
|
|
6342
6344
|
}
|
|
6343
|
-
function parsePrimaryExpression(parser, context, kind, inNew, canAssign,
|
|
6345
|
+
function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
|
|
6344
6346
|
if ((parser.token & 143360) === 143360) {
|
|
6345
6347
|
switch (parser.token) {
|
|
6346
6348
|
case 209008:
|
|
@@ -6348,10 +6350,10 @@ var meriyah = (function (exports) {
|
|
|
6348
6350
|
case 241773:
|
|
6349
6351
|
return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
|
|
6350
6352
|
case 209007:
|
|
6351
|
-
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6353
|
+
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
|
|
6352
6354
|
}
|
|
6353
6355
|
const { token, tokenValue } = parser;
|
|
6354
|
-
const expr = parseIdentifier(parser, context | 65536
|
|
6356
|
+
const expr = parseIdentifier(parser, context | 65536);
|
|
6355
6357
|
if (parser.token === 10) {
|
|
6356
6358
|
if (!isLHS)
|
|
6357
6359
|
report(parser, 0);
|
|
@@ -6430,7 +6432,7 @@ var meriyah = (function (exports) {
|
|
|
6430
6432
|
}
|
|
6431
6433
|
}
|
|
6432
6434
|
function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6433
|
-
let expr = parseIdentifier(parser, context
|
|
6435
|
+
let expr = parseIdentifier(parser, context);
|
|
6434
6436
|
if (parser.token === 67108877) {
|
|
6435
6437
|
return parseImportMetaExpression(parser, context, expr, start, line, column);
|
|
6436
6438
|
}
|
|
@@ -6450,14 +6452,14 @@ var meriyah = (function (exports) {
|
|
|
6450
6452
|
return finishNode(parser, context, start, line, column, {
|
|
6451
6453
|
type: 'MetaProperty',
|
|
6452
6454
|
meta,
|
|
6453
|
-
property: parseIdentifier(parser, context
|
|
6455
|
+
property: parseIdentifier(parser, context)
|
|
6454
6456
|
});
|
|
6455
6457
|
}
|
|
6456
6458
|
function parseImportExpression(parser, context, inGroup, start, line, column) {
|
|
6457
6459
|
consume(parser, context | 32768, 67174411);
|
|
6458
6460
|
if (parser.token === 14)
|
|
6459
6461
|
report(parser, 139);
|
|
6460
|
-
const source = parseExpression(parser, context, 1,
|
|
6462
|
+
const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6461
6463
|
consume(parser, context, 16);
|
|
6462
6464
|
return finishNode(parser, context, start, line, column, {
|
|
6463
6465
|
type: 'ImportExpression',
|
|
@@ -6546,7 +6548,7 @@ var meriyah = (function (exports) {
|
|
|
6546
6548
|
function parseSpreadElement(parser, context, start, line, column) {
|
|
6547
6549
|
context = (context | 134217728) ^ 134217728;
|
|
6548
6550
|
consume(parser, context | 32768, 14);
|
|
6549
|
-
const argument = parseExpression(parser, context, 1, 0,
|
|
6551
|
+
const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6550
6552
|
parser.assignable = 1;
|
|
6551
6553
|
return finishNode(parser, context, start, line, column, {
|
|
6552
6554
|
type: 'SpreadElement',
|
|
@@ -6565,7 +6567,7 @@ var meriyah = (function (exports) {
|
|
|
6565
6567
|
args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6566
6568
|
}
|
|
6567
6569
|
else {
|
|
6568
|
-
args.push(parseExpression(parser, context, 1,
|
|
6570
|
+
args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6569
6571
|
}
|
|
6570
6572
|
if (parser.token !== 18)
|
|
6571
6573
|
break;
|
|
@@ -6576,19 +6578,13 @@ var meriyah = (function (exports) {
|
|
|
6576
6578
|
consume(parser, context, 16);
|
|
6577
6579
|
return args;
|
|
6578
6580
|
}
|
|
6579
|
-
function parseIdentifier(parser, context
|
|
6581
|
+
function parseIdentifier(parser, context) {
|
|
6580
6582
|
const { tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6581
6583
|
nextToken(parser, context);
|
|
6582
|
-
return finishNode(parser, context, tokenPos, linePos, colPos,
|
|
6583
|
-
|
|
6584
|
-
|
|
6585
|
-
|
|
6586
|
-
pattern: isPattern === 1
|
|
6587
|
-
}
|
|
6588
|
-
: {
|
|
6589
|
-
type: 'Identifier',
|
|
6590
|
-
name: tokenValue
|
|
6591
|
-
});
|
|
6584
|
+
return finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
6585
|
+
type: 'Identifier',
|
|
6586
|
+
name: tokenValue
|
|
6587
|
+
});
|
|
6592
6588
|
}
|
|
6593
6589
|
function parseLiteral(parser, context) {
|
|
6594
6590
|
const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
|
|
@@ -6663,7 +6659,7 @@ var meriyah = (function (exports) {
|
|
|
6663
6659
|
}
|
|
6664
6660
|
firstRestricted = parser.token;
|
|
6665
6661
|
if (parser.token & 143360) {
|
|
6666
|
-
id = parseIdentifier(parser, context
|
|
6662
|
+
id = parseIdentifier(parser, context);
|
|
6667
6663
|
}
|
|
6668
6664
|
else {
|
|
6669
6665
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
@@ -6673,7 +6669,7 @@ var meriyah = (function (exports) {
|
|
|
6673
6669
|
((context | 32243712) ^ 32243712) |
|
|
6674
6670
|
67108864 |
|
|
6675
6671
|
((isAsync * 2 + isGenerator) << 21) |
|
|
6676
|
-
(isGenerator ? 0 :
|
|
6672
|
+
(isGenerator ? 0 : 268435456);
|
|
6677
6673
|
if (scope)
|
|
6678
6674
|
functionScope = addChildScope(functionScope, 512);
|
|
6679
6675
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
|
|
@@ -6700,13 +6696,13 @@ var meriyah = (function (exports) {
|
|
|
6700
6696
|
if (scope)
|
|
6701
6697
|
scope = addChildScope(scope, 256);
|
|
6702
6698
|
firstRestricted = parser.token;
|
|
6703
|
-
id = parseIdentifier(parser, context
|
|
6699
|
+
id = parseIdentifier(parser, context);
|
|
6704
6700
|
}
|
|
6705
6701
|
context =
|
|
6706
6702
|
((context | 32243712) ^ 32243712) |
|
|
6707
6703
|
67108864 |
|
|
6708
6704
|
generatorAndAsyncFlags |
|
|
6709
|
-
(isGenerator ? 0 :
|
|
6705
|
+
(isGenerator ? 0 : 268435456);
|
|
6710
6706
|
if (scope)
|
|
6711
6707
|
scope = addChildScope(scope, 512);
|
|
6712
6708
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
|
|
@@ -6744,14 +6740,14 @@ var meriyah = (function (exports) {
|
|
|
6744
6740
|
let left;
|
|
6745
6741
|
const { token, tokenPos, linePos, colPos, tokenValue } = parser;
|
|
6746
6742
|
if (token & 143360) {
|
|
6747
|
-
left = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6743
|
+
left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6748
6744
|
if (parser.token === 1077936157) {
|
|
6749
6745
|
if (parser.assignable & 2)
|
|
6750
6746
|
report(parser, 24);
|
|
6751
6747
|
nextToken(parser, context | 32768);
|
|
6752
6748
|
if (scope)
|
|
6753
6749
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
6754
|
-
const right = parseExpression(parser, context, 1,
|
|
6750
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6755
6751
|
left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
6756
6752
|
? {
|
|
6757
6753
|
type: 'AssignmentPattern',
|
|
@@ -6890,7 +6886,7 @@ var meriyah = (function (exports) {
|
|
|
6890
6886
|
if (!isPattern)
|
|
6891
6887
|
reinterpretToPattern(parser, node);
|
|
6892
6888
|
const { tokenPos, linePos, colPos } = parser;
|
|
6893
|
-
const right = parseExpression(parser, context, 1,
|
|
6889
|
+
const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
|
|
6894
6890
|
parser.destructible =
|
|
6895
6891
|
((destructible | 64 | 8) ^
|
|
6896
6892
|
(8 | 64)) |
|
|
@@ -6916,7 +6912,7 @@ var meriyah = (function (exports) {
|
|
|
6916
6912
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6917
6913
|
if (token & (4096 | 143360)) {
|
|
6918
6914
|
parser.assignable = 1;
|
|
6919
|
-
argument = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6915
|
+
argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6920
6916
|
token = parser.token;
|
|
6921
6917
|
argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
|
|
6922
6918
|
if (parser.token !== 18 && parser.token !== closingToken) {
|
|
@@ -7011,7 +7007,7 @@ var meriyah = (function (exports) {
|
|
|
7011
7007
|
if (destructible & 16)
|
|
7012
7008
|
report(parser, 24);
|
|
7013
7009
|
reinterpretToPattern(parser, argument);
|
|
7014
|
-
const right = parseExpression(parser, context, 1,
|
|
7010
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7015
7011
|
argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
7016
7012
|
? {
|
|
7017
7013
|
type: 'AssignmentPattern',
|
|
@@ -7083,7 +7079,7 @@ var meriyah = (function (exports) {
|
|
|
7083
7079
|
let value;
|
|
7084
7080
|
const t = parser.token;
|
|
7085
7081
|
if (parser.token & (143360 | 4096) || parser.token === 121) {
|
|
7086
|
-
key = parseIdentifier(parser, context
|
|
7082
|
+
key = parseIdentifier(parser, context);
|
|
7087
7083
|
if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
|
|
7088
7084
|
state |= 4;
|
|
7089
7085
|
if (context & 1024 && (token & 537079808) === 537079808) {
|
|
@@ -7096,7 +7092,7 @@ var meriyah = (function (exports) {
|
|
|
7096
7092
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
7097
7093
|
if (consumeOpt(parser, context | 32768, 1077936157)) {
|
|
7098
7094
|
destructible |= 8;
|
|
7099
|
-
const right = parseExpression(parser, context, 1,
|
|
7095
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7100
7096
|
destructible |=
|
|
7101
7097
|
parser.destructible & 256
|
|
7102
7098
|
? 256
|
|
@@ -7105,7 +7101,7 @@ var meriyah = (function (exports) {
|
|
|
7105
7101
|
: 0;
|
|
7106
7102
|
value = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7107
7103
|
type: 'AssignmentPattern',
|
|
7108
|
-
left: context &
|
|
7104
|
+
left: context & 536870912 ? Object.assign({}, key) : key,
|
|
7109
7105
|
right
|
|
7110
7106
|
});
|
|
7111
7107
|
}
|
|
@@ -7113,7 +7109,7 @@ var meriyah = (function (exports) {
|
|
|
7113
7109
|
destructible |=
|
|
7114
7110
|
(token === 209008 ? 128 : 0) |
|
|
7115
7111
|
(token === 121 ? 16 : 0);
|
|
7116
|
-
value = context &
|
|
7112
|
+
value = context & 536870912 ? Object.assign({}, key) : key;
|
|
7117
7113
|
}
|
|
7118
7114
|
}
|
|
7119
7115
|
else if (consumeOpt(parser, context | 32768, 21)) {
|
|
@@ -7124,7 +7120,7 @@ var meriyah = (function (exports) {
|
|
|
7124
7120
|
const tokenAfterColon = parser.token;
|
|
7125
7121
|
const valueAfterColon = parser.tokenValue;
|
|
7126
7122
|
destructible |= t === 121 ? 16 : 0;
|
|
7127
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7123
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7128
7124
|
const { token } = parser;
|
|
7129
7125
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7130
7126
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7245,7 +7241,7 @@ var meriyah = (function (exports) {
|
|
|
7245
7241
|
report(parser, 129);
|
|
7246
7242
|
state |= 16;
|
|
7247
7243
|
}
|
|
7248
|
-
key = parseIdentifier(parser, context
|
|
7244
|
+
key = parseIdentifier(parser, context);
|
|
7249
7245
|
state |=
|
|
7250
7246
|
token === 12402
|
|
7251
7247
|
? 256
|
|
@@ -7274,7 +7270,7 @@ var meriyah = (function (exports) {
|
|
|
7274
7270
|
state |=
|
|
7275
7271
|
8 | 1 | (token === 209007 ? 16 : 0);
|
|
7276
7272
|
if (parser.token & 143360) {
|
|
7277
|
-
key = parseIdentifier(parser, context
|
|
7273
|
+
key = parseIdentifier(parser, context);
|
|
7278
7274
|
}
|
|
7279
7275
|
else if ((parser.token & 134217728) === 134217728) {
|
|
7280
7276
|
key = parseLiteral(parser, context);
|
|
@@ -7314,7 +7310,7 @@ var meriyah = (function (exports) {
|
|
|
7314
7310
|
if (tokenValue === '__proto__')
|
|
7315
7311
|
prototypeCount++;
|
|
7316
7312
|
if (parser.token & 143360) {
|
|
7317
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7313
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7318
7314
|
const { token, tokenValue: valueAfterColon } = parser;
|
|
7319
7315
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7320
7316
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7415,7 +7411,7 @@ var meriyah = (function (exports) {
|
|
|
7415
7411
|
nextToken(parser, context | 32768);
|
|
7416
7412
|
const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
|
|
7417
7413
|
if (parser.token & 143360) {
|
|
7418
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7414
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7419
7415
|
const { token } = parser;
|
|
7420
7416
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7421
7417
|
if ((parser.token & 4194304) === 4194304) {
|
|
@@ -7521,7 +7517,7 @@ var meriyah = (function (exports) {
|
|
|
7521
7517
|
state |= 8;
|
|
7522
7518
|
if (parser.token & 143360) {
|
|
7523
7519
|
const { token, line, index } = parser;
|
|
7524
|
-
key = parseIdentifier(parser, context
|
|
7520
|
+
key = parseIdentifier(parser, context);
|
|
7525
7521
|
state |= 1;
|
|
7526
7522
|
if (parser.token === 67174411) {
|
|
7527
7523
|
destructible |= 16;
|
|
@@ -7635,7 +7631,7 @@ var meriyah = (function (exports) {
|
|
|
7635
7631
|
if (parser.token === 1077936157) {
|
|
7636
7632
|
nextToken(parser, context | 32768);
|
|
7637
7633
|
isSimpleParameterList = 1;
|
|
7638
|
-
const right = parseExpression(parser, context, 1,
|
|
7634
|
+
const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7639
7635
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7640
7636
|
type: 'AssignmentPattern',
|
|
7641
7637
|
left: left,
|
|
@@ -7662,14 +7658,14 @@ var meriyah = (function (exports) {
|
|
|
7662
7658
|
}
|
|
7663
7659
|
function parseComputedPropertyName(parser, context, inGroup) {
|
|
7664
7660
|
nextToken(parser, context | 32768);
|
|
7665
|
-
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1,
|
|
7661
|
+
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7666
7662
|
consume(parser, context, 20);
|
|
7667
7663
|
return key;
|
|
7668
7664
|
}
|
|
7669
7665
|
function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
|
|
7670
7666
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
7671
7667
|
const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
|
|
7672
|
-
nextToken(parser, context | 32768 |
|
|
7668
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
7673
7669
|
const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7674
7670
|
context = (context | 134217728) ^ 134217728;
|
|
7675
7671
|
if (consumeOpt(parser, context, 16)) {
|
|
@@ -7688,7 +7684,7 @@ var meriyah = (function (exports) {
|
|
|
7688
7684
|
if (token & (143360 | 4096)) {
|
|
7689
7685
|
if (scope)
|
|
7690
7686
|
addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
|
|
7691
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7687
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
7692
7688
|
if (parser.token === 16 || parser.token === 18) {
|
|
7693
7689
|
if (parser.assignable & 2) {
|
|
7694
7690
|
destructible |= 16;
|
|
@@ -7715,8 +7711,8 @@ var meriyah = (function (exports) {
|
|
|
7715
7711
|
else if ((token & 2097152) === 2097152) {
|
|
7716
7712
|
expr =
|
|
7717
7713
|
token === 2162700
|
|
7718
|
-
? parseObjectLiteralOrPattern(parser, context |
|
|
7719
|
-
: parseArrayExpressionOrPattern(parser, context |
|
|
7714
|
+
? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
|
|
7715
|
+
: parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
|
|
7720
7716
|
destructible |= parser.destructible;
|
|
7721
7717
|
isSimpleParameterList = 1;
|
|
7722
7718
|
parser.assignable = 2;
|
|
@@ -7743,7 +7739,7 @@ var meriyah = (function (exports) {
|
|
|
7743
7739
|
}
|
|
7744
7740
|
else {
|
|
7745
7741
|
destructible |= 16;
|
|
7746
|
-
expr = parseExpression(parser, context, 1,
|
|
7742
|
+
expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
|
|
7747
7743
|
if (isSequence && (parser.token === 16 || parser.token === 18)) {
|
|
7748
7744
|
expressions.push(expr);
|
|
7749
7745
|
}
|
|
@@ -7755,7 +7751,7 @@ var meriyah = (function (exports) {
|
|
|
7755
7751
|
}
|
|
7756
7752
|
if (isSequence) {
|
|
7757
7753
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
7758
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
7754
|
+
expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
|
|
7759
7755
|
}
|
|
7760
7756
|
parser.assignable = 2;
|
|
7761
7757
|
expr = finishNode(parser, context, iStart, lStart, cStart, {
|
|
@@ -7822,7 +7818,7 @@ var meriyah = (function (exports) {
|
|
|
7822
7818
|
}
|
|
7823
7819
|
function parseIdentifierOrArrow(parser, context, start, line, column) {
|
|
7824
7820
|
const { tokenValue } = parser;
|
|
7825
|
-
const expr = parseIdentifier(parser, context
|
|
7821
|
+
const expr = parseIdentifier(parser, context);
|
|
7826
7822
|
parser.assignable = 1;
|
|
7827
7823
|
if (parser.token === 10) {
|
|
7828
7824
|
let scope = void 0;
|
|
@@ -7860,7 +7856,7 @@ var meriyah = (function (exports) {
|
|
|
7860
7856
|
reportScopeError(scope.scopeError);
|
|
7861
7857
|
}
|
|
7862
7858
|
if (expression) {
|
|
7863
|
-
body = parseExpression(parser, context, 1, 0,
|
|
7859
|
+
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7864
7860
|
}
|
|
7865
7861
|
else {
|
|
7866
7862
|
if (scope)
|
|
@@ -7941,7 +7937,7 @@ var meriyah = (function (exports) {
|
|
|
7941
7937
|
if (parser.token === 1077936157) {
|
|
7942
7938
|
nextToken(parser, context | 32768);
|
|
7943
7939
|
isSimpleParameterList = 1;
|
|
7944
|
-
const right = parseExpression(parser, context, 1,
|
|
7940
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7945
7941
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7946
7942
|
type: 'AssignmentPattern',
|
|
7947
7943
|
left,
|
|
@@ -7967,7 +7963,7 @@ var meriyah = (function (exports) {
|
|
|
7967
7963
|
const { token } = parser;
|
|
7968
7964
|
if (token & 67108864) {
|
|
7969
7965
|
if (token === 67108877) {
|
|
7970
|
-
nextToken(parser, context |
|
|
7966
|
+
nextToken(parser, context | 268435456);
|
|
7971
7967
|
parser.assignable = 1;
|
|
7972
7968
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
7973
7969
|
return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
|
|
@@ -8004,7 +8000,7 @@ var meriyah = (function (exports) {
|
|
|
8004
8000
|
return expr;
|
|
8005
8001
|
}
|
|
8006
8002
|
function parseNewExpression(parser, context, inGroup, start, line, column) {
|
|
8007
|
-
const id = parseIdentifier(parser, context | 32768
|
|
8003
|
+
const id = parseIdentifier(parser, context | 32768);
|
|
8008
8004
|
const { tokenPos, linePos, colPos } = parser;
|
|
8009
8005
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8010
8006
|
if (context & 67108864 && parser.token === 143494) {
|
|
@@ -8017,7 +8013,7 @@ var meriyah = (function (exports) {
|
|
|
8017
8013
|
if ((parser.token & 16842752) === 16842752) {
|
|
8018
8014
|
report(parser, 63, KeywordDescTable[parser.token & 255]);
|
|
8019
8015
|
}
|
|
8020
|
-
const expr = parsePrimaryExpression(parser, context, 2, 1, 0,
|
|
8016
|
+
const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
|
|
8021
8017
|
context = (context | 134217728) ^ 134217728;
|
|
8022
8018
|
if (parser.token === 67108991)
|
|
8023
8019
|
report(parser, 163);
|
|
@@ -8030,7 +8026,7 @@ var meriyah = (function (exports) {
|
|
|
8030
8026
|
});
|
|
8031
8027
|
}
|
|
8032
8028
|
function parseMetaProperty(parser, context, meta, start, line, column) {
|
|
8033
|
-
const property = parseIdentifier(parser, context
|
|
8029
|
+
const property = parseIdentifier(parser, context);
|
|
8034
8030
|
return finishNode(parser, context, start, line, column, {
|
|
8035
8031
|
type: 'MetaProperty',
|
|
8036
8032
|
meta,
|
|
@@ -8046,7 +8042,7 @@ var meriyah = (function (exports) {
|
|
|
8046
8042
|
if ((parser.token & 537079808) === 537079808) {
|
|
8047
8043
|
parser.flags |= 512;
|
|
8048
8044
|
}
|
|
8049
|
-
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context
|
|
8045
|
+
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
|
|
8050
8046
|
}
|
|
8051
8047
|
function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
|
|
8052
8048
|
nextToken(parser, context | 32768);
|
|
@@ -8076,7 +8072,7 @@ var meriyah = (function (exports) {
|
|
|
8076
8072
|
if (token & (143360 | 4096)) {
|
|
8077
8073
|
if (scope)
|
|
8078
8074
|
addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
|
|
8079
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
8075
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
8080
8076
|
if (parser.token === 16 || parser.token === 18) {
|
|
8081
8077
|
if (parser.assignable & 2) {
|
|
8082
8078
|
destructible |= 16;
|
|
@@ -8128,11 +8124,11 @@ var meriyah = (function (exports) {
|
|
|
8128
8124
|
isSimpleParameterList = 1;
|
|
8129
8125
|
}
|
|
8130
8126
|
else {
|
|
8131
|
-
expr = parseExpression(parser, context, 1, 0,
|
|
8127
|
+
expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8132
8128
|
destructible = parser.assignable;
|
|
8133
8129
|
params.push(expr);
|
|
8134
8130
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
8135
|
-
params.push(parseExpression(parser, context, 1, 0,
|
|
8131
|
+
params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
|
|
8136
8132
|
}
|
|
8137
8133
|
destructible |= parser.assignable;
|
|
8138
8134
|
consume(parser, context, 16);
|
|
@@ -8227,7 +8223,7 @@ var meriyah = (function (exports) {
|
|
|
8227
8223
|
}
|
|
8228
8224
|
}
|
|
8229
8225
|
}
|
|
8230
|
-
id = parseIdentifier(parser, context
|
|
8226
|
+
id = parseIdentifier(parser, context);
|
|
8231
8227
|
}
|
|
8232
8228
|
else {
|
|
8233
8229
|
if ((flags & 1) === 0)
|
|
@@ -8274,7 +8270,7 @@ var meriyah = (function (exports) {
|
|
|
8274
8270
|
if ((parser.token & 537079808) === 537079808) {
|
|
8275
8271
|
report(parser, 116);
|
|
8276
8272
|
}
|
|
8277
|
-
id = parseIdentifier(parser, context
|
|
8273
|
+
id = parseIdentifier(parser, context);
|
|
8278
8274
|
}
|
|
8279
8275
|
let inheritedContext = context;
|
|
8280
8276
|
if (consumeOpt(parser, context | 32768, 20567)) {
|
|
@@ -8312,7 +8308,7 @@ var meriyah = (function (exports) {
|
|
|
8312
8308
|
}
|
|
8313
8309
|
function parseDecoratorList(parser, context, start, line, column) {
|
|
8314
8310
|
nextToken(parser, context | 32768);
|
|
8315
|
-
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
8311
|
+
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
|
|
8316
8312
|
expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
|
|
8317
8313
|
return finishNode(parser, context, start, line, column, {
|
|
8318
8314
|
type: 'Decorator',
|
|
@@ -8355,7 +8351,7 @@ var meriyah = (function (exports) {
|
|
|
8355
8351
|
let key = null;
|
|
8356
8352
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
8357
8353
|
if (token & (143360 | 36864)) {
|
|
8358
|
-
key = parseIdentifier(parser, context
|
|
8354
|
+
key = parseIdentifier(parser, context);
|
|
8359
8355
|
switch (token) {
|
|
8360
8356
|
case 36972:
|
|
8361
8357
|
if (!isStatic &&
|
|
@@ -8413,7 +8409,7 @@ var meriyah = (function (exports) {
|
|
|
8413
8409
|
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8414
8410
|
}
|
|
8415
8411
|
else if (token === 122) {
|
|
8416
|
-
key = parseIdentifier(parser, context
|
|
8412
|
+
key = parseIdentifier(parser, context);
|
|
8417
8413
|
if (parser.token !== 67174411)
|
|
8418
8414
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
8419
8415
|
}
|
|
@@ -8422,7 +8418,7 @@ var meriyah = (function (exports) {
|
|
|
8422
8418
|
}
|
|
8423
8419
|
if (kind & (8 | 16 | 768)) {
|
|
8424
8420
|
if (parser.token & 143360) {
|
|
8425
|
-
key = parseIdentifier(parser, context
|
|
8421
|
+
key = parseIdentifier(parser, context);
|
|
8426
8422
|
}
|
|
8427
8423
|
else if ((parser.token & 134217728) === 134217728) {
|
|
8428
8424
|
key = parseLiteral(parser, context);
|
|
@@ -8432,7 +8428,7 @@ var meriyah = (function (exports) {
|
|
|
8432
8428
|
key = parseComputedPropertyName(parser, context, 0);
|
|
8433
8429
|
}
|
|
8434
8430
|
else if (parser.token === 122) {
|
|
8435
|
-
key = parseIdentifier(parser, context
|
|
8431
|
+
key = parseIdentifier(parser, context);
|
|
8436
8432
|
}
|
|
8437
8433
|
else if (context & 1 && parser.token === 131) {
|
|
8438
8434
|
kind |= 4096;
|
|
@@ -8520,7 +8516,14 @@ var meriyah = (function (exports) {
|
|
|
8520
8516
|
const { tokenPos, linePos, colPos } = parser;
|
|
8521
8517
|
if (parser.token === 537079928)
|
|
8522
8518
|
report(parser, 116);
|
|
8523
|
-
|
|
8519
|
+
const modifierFlags = (state & 64) === 0
|
|
8520
|
+
? 31981568
|
|
8521
|
+
: 14680064;
|
|
8522
|
+
context =
|
|
8523
|
+
((context | modifierFlags) ^ modifierFlags) |
|
|
8524
|
+
((state & 88) << 18) |
|
|
8525
|
+
100925440;
|
|
8526
|
+
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
|
|
8524
8527
|
if ((parser.token & 1073741824) !== 1073741824 ||
|
|
8525
8528
|
(parser.token & 4194304) === 4194304) {
|
|
8526
8529
|
value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
|
|
@@ -8728,7 +8731,7 @@ var meriyah = (function (exports) {
|
|
|
8728
8731
|
function parseJSXSpreadAttribute(parser, context, start, line, column) {
|
|
8729
8732
|
nextToken(parser, context);
|
|
8730
8733
|
consume(parser, context, 14);
|
|
8731
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8734
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8732
8735
|
consume(parser, context, 1074790415);
|
|
8733
8736
|
return finishNode(parser, context, start, line, column, {
|
|
8734
8737
|
type: 'JSXSpreadAttribute',
|
|
@@ -8788,7 +8791,7 @@ var meriyah = (function (exports) {
|
|
|
8788
8791
|
expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
|
|
8789
8792
|
}
|
|
8790
8793
|
else {
|
|
8791
|
-
expression = parseExpression(parser, context, 1, 0,
|
|
8794
|
+
expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8792
8795
|
}
|
|
8793
8796
|
if (inJSXChild) {
|
|
8794
8797
|
consume(parser, context, 1074790415);
|
|
@@ -8803,7 +8806,7 @@ var meriyah = (function (exports) {
|
|
|
8803
8806
|
}
|
|
8804
8807
|
function parseJSXSpreadChild(parser, context, start, line, column) {
|
|
8805
8808
|
consume(parser, context, 14);
|
|
8806
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8809
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8807
8810
|
consume(parser, context, 1074790415);
|
|
8808
8811
|
return finishNode(parser, context, start, line, column, {
|
|
8809
8812
|
type: 'JSXSpreadChild',
|
|
@@ -8831,7 +8834,7 @@ var meriyah = (function (exports) {
|
|
|
8831
8834
|
__proto__: null
|
|
8832
8835
|
});
|
|
8833
8836
|
|
|
8834
|
-
var version$1 = "4.4.
|
|
8837
|
+
var version$1 = "4.4.4";
|
|
8835
8838
|
|
|
8836
8839
|
const version = version$1;
|
|
8837
8840
|
function parseScript(source, options) {
|