meriyah 4.4.3 → 4.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +9 -0
- package/README.md +1 -7
- package/dist/meriyah.amd.js +107 -116
- package/dist/meriyah.amd.min.js +1 -1
- package/dist/meriyah.cjs +107 -116
- package/dist/meriyah.cjs.js +107 -116
- package/dist/meriyah.cjs.min.js +1 -1
- package/dist/meriyah.esm.js +107 -116
- package/dist/meriyah.esm.min.js +1 -1
- package/dist/meriyah.esm.min.mjs +1 -1
- package/dist/meriyah.esm.mjs +107 -116
- package/dist/meriyah.iife.js +107 -116
- package/dist/meriyah.iife.min.js +1 -1
- package/dist/meriyah.min.cjs +1 -1
- package/dist/meriyah.system.js +107 -116
- package/dist/meriyah.system.min.js +1 -1
- package/dist/meriyah.umd.cjs +107 -116
- package/dist/meriyah.umd.es5.js +107 -116
- package/dist/meriyah.umd.es5.min.js +1 -1
- package/dist/meriyah.umd.js +107 -116
- package/dist/meriyah.umd.min.cjs +1 -1
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/src/common.d.ts +3 -5
- package/dist/src/common.d.ts.map +1 -1
- package/dist/src/parser.d.ts +4 -6
- package/dist/src/parser.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/common.ts +4 -7
- package/src/parser.ts +86 -142
package/dist/meriyah.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;
|
|
@@ -6154,7 +6151,7 @@ var meriyah = (function (exports) {
|
|
|
6154
6151
|
return finishNode(parser, context, start, line, column, { type: 'Super' });
|
|
6155
6152
|
}
|
|
6156
6153
|
function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
|
|
6157
|
-
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
6154
|
+
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
|
|
6158
6155
|
return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
|
|
6159
6156
|
}
|
|
6160
6157
|
function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
@@ -6178,7 +6175,7 @@ var meriyah = (function (exports) {
|
|
|
6178
6175
|
context = (context | 134217728) ^ 134217728;
|
|
6179
6176
|
switch (parser.token) {
|
|
6180
6177
|
case 67108877: {
|
|
6181
|
-
nextToken(parser, (context |
|
|
6178
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6182
6179
|
if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
|
|
6183
6180
|
report(parser, 27);
|
|
6184
6181
|
}
|
|
@@ -6237,7 +6234,7 @@ var meriyah = (function (exports) {
|
|
|
6237
6234
|
break;
|
|
6238
6235
|
}
|
|
6239
6236
|
case 67108991: {
|
|
6240
|
-
nextToken(parser, (context |
|
|
6237
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6241
6238
|
parser.flags |= 2048;
|
|
6242
6239
|
parser.assignable = 2;
|
|
6243
6240
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6303,7 +6300,7 @@ var meriyah = (function (exports) {
|
|
|
6303
6300
|
else {
|
|
6304
6301
|
if ((parser.token & (143360 | 4096)) === 0)
|
|
6305
6302
|
report(parser, 155);
|
|
6306
|
-
const property = parseIdentifier(parser, context
|
|
6303
|
+
const property = parseIdentifier(parser, context);
|
|
6307
6304
|
parser.assignable = 2;
|
|
6308
6305
|
node = finishNode(parser, context, start, line, column, {
|
|
6309
6306
|
type: 'MemberExpression',
|
|
@@ -6324,7 +6321,7 @@ var meriyah = (function (exports) {
|
|
|
6324
6321
|
}
|
|
6325
6322
|
return context & 1 && parser.token === 131
|
|
6326
6323
|
? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
|
|
6327
|
-
: parseIdentifier(parser, context
|
|
6324
|
+
: parseIdentifier(parser, context);
|
|
6328
6325
|
}
|
|
6329
6326
|
function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
|
|
6330
6327
|
if (inNew)
|
|
@@ -6345,7 +6342,7 @@ var meriyah = (function (exports) {
|
|
|
6345
6342
|
prefix: true
|
|
6346
6343
|
});
|
|
6347
6344
|
}
|
|
6348
|
-
function parsePrimaryExpression(parser, context, kind, inNew, canAssign,
|
|
6345
|
+
function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
|
|
6349
6346
|
if ((parser.token & 143360) === 143360) {
|
|
6350
6347
|
switch (parser.token) {
|
|
6351
6348
|
case 209008:
|
|
@@ -6353,10 +6350,10 @@ var meriyah = (function (exports) {
|
|
|
6353
6350
|
case 241773:
|
|
6354
6351
|
return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
|
|
6355
6352
|
case 209007:
|
|
6356
|
-
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6353
|
+
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
|
|
6357
6354
|
}
|
|
6358
6355
|
const { token, tokenValue } = parser;
|
|
6359
|
-
const expr = parseIdentifier(parser, context | 65536
|
|
6356
|
+
const expr = parseIdentifier(parser, context | 65536);
|
|
6360
6357
|
if (parser.token === 10) {
|
|
6361
6358
|
if (!isLHS)
|
|
6362
6359
|
report(parser, 0);
|
|
@@ -6435,7 +6432,7 @@ var meriyah = (function (exports) {
|
|
|
6435
6432
|
}
|
|
6436
6433
|
}
|
|
6437
6434
|
function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6438
|
-
let expr = parseIdentifier(parser, context
|
|
6435
|
+
let expr = parseIdentifier(parser, context);
|
|
6439
6436
|
if (parser.token === 67108877) {
|
|
6440
6437
|
return parseImportMetaExpression(parser, context, expr, start, line, column);
|
|
6441
6438
|
}
|
|
@@ -6455,14 +6452,14 @@ var meriyah = (function (exports) {
|
|
|
6455
6452
|
return finishNode(parser, context, start, line, column, {
|
|
6456
6453
|
type: 'MetaProperty',
|
|
6457
6454
|
meta,
|
|
6458
|
-
property: parseIdentifier(parser, context
|
|
6455
|
+
property: parseIdentifier(parser, context)
|
|
6459
6456
|
});
|
|
6460
6457
|
}
|
|
6461
6458
|
function parseImportExpression(parser, context, inGroup, start, line, column) {
|
|
6462
6459
|
consume(parser, context | 32768, 67174411);
|
|
6463
6460
|
if (parser.token === 14)
|
|
6464
6461
|
report(parser, 139);
|
|
6465
|
-
const source = parseExpression(parser, context, 1,
|
|
6462
|
+
const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6466
6463
|
consume(parser, context, 16);
|
|
6467
6464
|
return finishNode(parser, context, start, line, column, {
|
|
6468
6465
|
type: 'ImportExpression',
|
|
@@ -6551,7 +6548,7 @@ var meriyah = (function (exports) {
|
|
|
6551
6548
|
function parseSpreadElement(parser, context, start, line, column) {
|
|
6552
6549
|
context = (context | 134217728) ^ 134217728;
|
|
6553
6550
|
consume(parser, context | 32768, 14);
|
|
6554
|
-
const argument = parseExpression(parser, context, 1, 0,
|
|
6551
|
+
const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6555
6552
|
parser.assignable = 1;
|
|
6556
6553
|
return finishNode(parser, context, start, line, column, {
|
|
6557
6554
|
type: 'SpreadElement',
|
|
@@ -6570,7 +6567,7 @@ var meriyah = (function (exports) {
|
|
|
6570
6567
|
args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6571
6568
|
}
|
|
6572
6569
|
else {
|
|
6573
|
-
args.push(parseExpression(parser, context, 1,
|
|
6570
|
+
args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6574
6571
|
}
|
|
6575
6572
|
if (parser.token !== 18)
|
|
6576
6573
|
break;
|
|
@@ -6581,19 +6578,13 @@ var meriyah = (function (exports) {
|
|
|
6581
6578
|
consume(parser, context, 16);
|
|
6582
6579
|
return args;
|
|
6583
6580
|
}
|
|
6584
|
-
function parseIdentifier(parser, context
|
|
6581
|
+
function parseIdentifier(parser, context) {
|
|
6585
6582
|
const { tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6586
6583
|
nextToken(parser, context);
|
|
6587
|
-
return finishNode(parser, context, tokenPos, linePos, colPos,
|
|
6588
|
-
|
|
6589
|
-
|
|
6590
|
-
|
|
6591
|
-
pattern: isPattern === 1
|
|
6592
|
-
}
|
|
6593
|
-
: {
|
|
6594
|
-
type: 'Identifier',
|
|
6595
|
-
name: tokenValue
|
|
6596
|
-
});
|
|
6584
|
+
return finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
6585
|
+
type: 'Identifier',
|
|
6586
|
+
name: tokenValue
|
|
6587
|
+
});
|
|
6597
6588
|
}
|
|
6598
6589
|
function parseLiteral(parser, context) {
|
|
6599
6590
|
const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
|
|
@@ -6668,7 +6659,7 @@ var meriyah = (function (exports) {
|
|
|
6668
6659
|
}
|
|
6669
6660
|
firstRestricted = parser.token;
|
|
6670
6661
|
if (parser.token & 143360) {
|
|
6671
|
-
id = parseIdentifier(parser, context
|
|
6662
|
+
id = parseIdentifier(parser, context);
|
|
6672
6663
|
}
|
|
6673
6664
|
else {
|
|
6674
6665
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
@@ -6678,7 +6669,7 @@ var meriyah = (function (exports) {
|
|
|
6678
6669
|
((context | 32243712) ^ 32243712) |
|
|
6679
6670
|
67108864 |
|
|
6680
6671
|
((isAsync * 2 + isGenerator) << 21) |
|
|
6681
|
-
(isGenerator ? 0 :
|
|
6672
|
+
(isGenerator ? 0 : 268435456);
|
|
6682
6673
|
if (scope)
|
|
6683
6674
|
functionScope = addChildScope(functionScope, 512);
|
|
6684
6675
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
|
|
@@ -6705,13 +6696,13 @@ var meriyah = (function (exports) {
|
|
|
6705
6696
|
if (scope)
|
|
6706
6697
|
scope = addChildScope(scope, 256);
|
|
6707
6698
|
firstRestricted = parser.token;
|
|
6708
|
-
id = parseIdentifier(parser, context
|
|
6699
|
+
id = parseIdentifier(parser, context);
|
|
6709
6700
|
}
|
|
6710
6701
|
context =
|
|
6711
6702
|
((context | 32243712) ^ 32243712) |
|
|
6712
6703
|
67108864 |
|
|
6713
6704
|
generatorAndAsyncFlags |
|
|
6714
|
-
(isGenerator ? 0 :
|
|
6705
|
+
(isGenerator ? 0 : 268435456);
|
|
6715
6706
|
if (scope)
|
|
6716
6707
|
scope = addChildScope(scope, 512);
|
|
6717
6708
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
|
|
@@ -6749,14 +6740,14 @@ var meriyah = (function (exports) {
|
|
|
6749
6740
|
let left;
|
|
6750
6741
|
const { token, tokenPos, linePos, colPos, tokenValue } = parser;
|
|
6751
6742
|
if (token & 143360) {
|
|
6752
|
-
left = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6743
|
+
left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6753
6744
|
if (parser.token === 1077936157) {
|
|
6754
6745
|
if (parser.assignable & 2)
|
|
6755
6746
|
report(parser, 24);
|
|
6756
6747
|
nextToken(parser, context | 32768);
|
|
6757
6748
|
if (scope)
|
|
6758
6749
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
6759
|
-
const right = parseExpression(parser, context, 1,
|
|
6750
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6760
6751
|
left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
6761
6752
|
? {
|
|
6762
6753
|
type: 'AssignmentPattern',
|
|
@@ -6895,7 +6886,7 @@ var meriyah = (function (exports) {
|
|
|
6895
6886
|
if (!isPattern)
|
|
6896
6887
|
reinterpretToPattern(parser, node);
|
|
6897
6888
|
const { tokenPos, linePos, colPos } = parser;
|
|
6898
|
-
const right = parseExpression(parser, context, 1,
|
|
6889
|
+
const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
|
|
6899
6890
|
parser.destructible =
|
|
6900
6891
|
((destructible | 64 | 8) ^
|
|
6901
6892
|
(8 | 64)) |
|
|
@@ -6921,7 +6912,7 @@ var meriyah = (function (exports) {
|
|
|
6921
6912
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6922
6913
|
if (token & (4096 | 143360)) {
|
|
6923
6914
|
parser.assignable = 1;
|
|
6924
|
-
argument = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6915
|
+
argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6925
6916
|
token = parser.token;
|
|
6926
6917
|
argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
|
|
6927
6918
|
if (parser.token !== 18 && parser.token !== closingToken) {
|
|
@@ -7016,7 +7007,7 @@ var meriyah = (function (exports) {
|
|
|
7016
7007
|
if (destructible & 16)
|
|
7017
7008
|
report(parser, 24);
|
|
7018
7009
|
reinterpretToPattern(parser, argument);
|
|
7019
|
-
const right = parseExpression(parser, context, 1,
|
|
7010
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7020
7011
|
argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
7021
7012
|
? {
|
|
7022
7013
|
type: 'AssignmentPattern',
|
|
@@ -7088,7 +7079,7 @@ var meriyah = (function (exports) {
|
|
|
7088
7079
|
let value;
|
|
7089
7080
|
const t = parser.token;
|
|
7090
7081
|
if (parser.token & (143360 | 4096) || parser.token === 121) {
|
|
7091
|
-
key = parseIdentifier(parser, context
|
|
7082
|
+
key = parseIdentifier(parser, context);
|
|
7092
7083
|
if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
|
|
7093
7084
|
state |= 4;
|
|
7094
7085
|
if (context & 1024 && (token & 537079808) === 537079808) {
|
|
@@ -7101,7 +7092,7 @@ var meriyah = (function (exports) {
|
|
|
7101
7092
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
7102
7093
|
if (consumeOpt(parser, context | 32768, 1077936157)) {
|
|
7103
7094
|
destructible |= 8;
|
|
7104
|
-
const right = parseExpression(parser, context, 1,
|
|
7095
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7105
7096
|
destructible |=
|
|
7106
7097
|
parser.destructible & 256
|
|
7107
7098
|
? 256
|
|
@@ -7110,7 +7101,7 @@ var meriyah = (function (exports) {
|
|
|
7110
7101
|
: 0;
|
|
7111
7102
|
value = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7112
7103
|
type: 'AssignmentPattern',
|
|
7113
|
-
left: context &
|
|
7104
|
+
left: context & 536870912 ? Object.assign({}, key) : key,
|
|
7114
7105
|
right
|
|
7115
7106
|
});
|
|
7116
7107
|
}
|
|
@@ -7118,7 +7109,7 @@ var meriyah = (function (exports) {
|
|
|
7118
7109
|
destructible |=
|
|
7119
7110
|
(token === 209008 ? 128 : 0) |
|
|
7120
7111
|
(token === 121 ? 16 : 0);
|
|
7121
|
-
value = context &
|
|
7112
|
+
value = context & 536870912 ? Object.assign({}, key) : key;
|
|
7122
7113
|
}
|
|
7123
7114
|
}
|
|
7124
7115
|
else if (consumeOpt(parser, context | 32768, 21)) {
|
|
@@ -7129,7 +7120,7 @@ var meriyah = (function (exports) {
|
|
|
7129
7120
|
const tokenAfterColon = parser.token;
|
|
7130
7121
|
const valueAfterColon = parser.tokenValue;
|
|
7131
7122
|
destructible |= t === 121 ? 16 : 0;
|
|
7132
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7123
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7133
7124
|
const { token } = parser;
|
|
7134
7125
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7135
7126
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7250,7 +7241,7 @@ var meriyah = (function (exports) {
|
|
|
7250
7241
|
report(parser, 129);
|
|
7251
7242
|
state |= 16;
|
|
7252
7243
|
}
|
|
7253
|
-
key = parseIdentifier(parser, context
|
|
7244
|
+
key = parseIdentifier(parser, context);
|
|
7254
7245
|
state |=
|
|
7255
7246
|
token === 12402
|
|
7256
7247
|
? 256
|
|
@@ -7279,7 +7270,7 @@ var meriyah = (function (exports) {
|
|
|
7279
7270
|
state |=
|
|
7280
7271
|
8 | 1 | (token === 209007 ? 16 : 0);
|
|
7281
7272
|
if (parser.token & 143360) {
|
|
7282
|
-
key = parseIdentifier(parser, context
|
|
7273
|
+
key = parseIdentifier(parser, context);
|
|
7283
7274
|
}
|
|
7284
7275
|
else if ((parser.token & 134217728) === 134217728) {
|
|
7285
7276
|
key = parseLiteral(parser, context);
|
|
@@ -7319,7 +7310,7 @@ var meriyah = (function (exports) {
|
|
|
7319
7310
|
if (tokenValue === '__proto__')
|
|
7320
7311
|
prototypeCount++;
|
|
7321
7312
|
if (parser.token & 143360) {
|
|
7322
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7313
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7323
7314
|
const { token, tokenValue: valueAfterColon } = parser;
|
|
7324
7315
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7325
7316
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7420,7 +7411,7 @@ var meriyah = (function (exports) {
|
|
|
7420
7411
|
nextToken(parser, context | 32768);
|
|
7421
7412
|
const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
|
|
7422
7413
|
if (parser.token & 143360) {
|
|
7423
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7414
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7424
7415
|
const { token } = parser;
|
|
7425
7416
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7426
7417
|
if ((parser.token & 4194304) === 4194304) {
|
|
@@ -7526,7 +7517,7 @@ var meriyah = (function (exports) {
|
|
|
7526
7517
|
state |= 8;
|
|
7527
7518
|
if (parser.token & 143360) {
|
|
7528
7519
|
const { token, line, index } = parser;
|
|
7529
|
-
key = parseIdentifier(parser, context
|
|
7520
|
+
key = parseIdentifier(parser, context);
|
|
7530
7521
|
state |= 1;
|
|
7531
7522
|
if (parser.token === 67174411) {
|
|
7532
7523
|
destructible |= 16;
|
|
@@ -7640,7 +7631,7 @@ var meriyah = (function (exports) {
|
|
|
7640
7631
|
if (parser.token === 1077936157) {
|
|
7641
7632
|
nextToken(parser, context | 32768);
|
|
7642
7633
|
isSimpleParameterList = 1;
|
|
7643
|
-
const right = parseExpression(parser, context, 1,
|
|
7634
|
+
const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7644
7635
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7645
7636
|
type: 'AssignmentPattern',
|
|
7646
7637
|
left: left,
|
|
@@ -7667,14 +7658,14 @@ var meriyah = (function (exports) {
|
|
|
7667
7658
|
}
|
|
7668
7659
|
function parseComputedPropertyName(parser, context, inGroup) {
|
|
7669
7660
|
nextToken(parser, context | 32768);
|
|
7670
|
-
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1,
|
|
7661
|
+
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7671
7662
|
consume(parser, context, 20);
|
|
7672
7663
|
return key;
|
|
7673
7664
|
}
|
|
7674
7665
|
function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
|
|
7675
7666
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
7676
7667
|
const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
|
|
7677
|
-
nextToken(parser, context | 32768 |
|
|
7668
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
7678
7669
|
const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7679
7670
|
context = (context | 134217728) ^ 134217728;
|
|
7680
7671
|
if (consumeOpt(parser, context, 16)) {
|
|
@@ -7693,7 +7684,7 @@ var meriyah = (function (exports) {
|
|
|
7693
7684
|
if (token & (143360 | 4096)) {
|
|
7694
7685
|
if (scope)
|
|
7695
7686
|
addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
|
|
7696
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7687
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
7697
7688
|
if (parser.token === 16 || parser.token === 18) {
|
|
7698
7689
|
if (parser.assignable & 2) {
|
|
7699
7690
|
destructible |= 16;
|
|
@@ -7720,8 +7711,8 @@ var meriyah = (function (exports) {
|
|
|
7720
7711
|
else if ((token & 2097152) === 2097152) {
|
|
7721
7712
|
expr =
|
|
7722
7713
|
token === 2162700
|
|
7723
|
-
? parseObjectLiteralOrPattern(parser, context |
|
|
7724
|
-
: 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);
|
|
7725
7716
|
destructible |= parser.destructible;
|
|
7726
7717
|
isSimpleParameterList = 1;
|
|
7727
7718
|
parser.assignable = 2;
|
|
@@ -7748,7 +7739,7 @@ var meriyah = (function (exports) {
|
|
|
7748
7739
|
}
|
|
7749
7740
|
else {
|
|
7750
7741
|
destructible |= 16;
|
|
7751
|
-
expr = parseExpression(parser, context, 1,
|
|
7742
|
+
expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
|
|
7752
7743
|
if (isSequence && (parser.token === 16 || parser.token === 18)) {
|
|
7753
7744
|
expressions.push(expr);
|
|
7754
7745
|
}
|
|
@@ -7760,7 +7751,7 @@ var meriyah = (function (exports) {
|
|
|
7760
7751
|
}
|
|
7761
7752
|
if (isSequence) {
|
|
7762
7753
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
7763
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
7754
|
+
expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
|
|
7764
7755
|
}
|
|
7765
7756
|
parser.assignable = 2;
|
|
7766
7757
|
expr = finishNode(parser, context, iStart, lStart, cStart, {
|
|
@@ -7827,7 +7818,7 @@ var meriyah = (function (exports) {
|
|
|
7827
7818
|
}
|
|
7828
7819
|
function parseIdentifierOrArrow(parser, context, start, line, column) {
|
|
7829
7820
|
const { tokenValue } = parser;
|
|
7830
|
-
const expr = parseIdentifier(parser, context
|
|
7821
|
+
const expr = parseIdentifier(parser, context);
|
|
7831
7822
|
parser.assignable = 1;
|
|
7832
7823
|
if (parser.token === 10) {
|
|
7833
7824
|
let scope = void 0;
|
|
@@ -7865,7 +7856,7 @@ var meriyah = (function (exports) {
|
|
|
7865
7856
|
reportScopeError(scope.scopeError);
|
|
7866
7857
|
}
|
|
7867
7858
|
if (expression) {
|
|
7868
|
-
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0,
|
|
7859
|
+
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7869
7860
|
}
|
|
7870
7861
|
else {
|
|
7871
7862
|
if (scope)
|
|
@@ -7946,7 +7937,7 @@ var meriyah = (function (exports) {
|
|
|
7946
7937
|
if (parser.token === 1077936157) {
|
|
7947
7938
|
nextToken(parser, context | 32768);
|
|
7948
7939
|
isSimpleParameterList = 1;
|
|
7949
|
-
const right = parseExpression(parser, context, 1,
|
|
7940
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7950
7941
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7951
7942
|
type: 'AssignmentPattern',
|
|
7952
7943
|
left,
|
|
@@ -7972,7 +7963,7 @@ var meriyah = (function (exports) {
|
|
|
7972
7963
|
const { token } = parser;
|
|
7973
7964
|
if (token & 67108864) {
|
|
7974
7965
|
if (token === 67108877) {
|
|
7975
|
-
nextToken(parser, context |
|
|
7966
|
+
nextToken(parser, context | 268435456);
|
|
7976
7967
|
parser.assignable = 1;
|
|
7977
7968
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
7978
7969
|
return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
|
|
@@ -8009,7 +8000,7 @@ var meriyah = (function (exports) {
|
|
|
8009
8000
|
return expr;
|
|
8010
8001
|
}
|
|
8011
8002
|
function parseNewExpression(parser, context, inGroup, start, line, column) {
|
|
8012
|
-
const id = parseIdentifier(parser, context | 32768
|
|
8003
|
+
const id = parseIdentifier(parser, context | 32768);
|
|
8013
8004
|
const { tokenPos, linePos, colPos } = parser;
|
|
8014
8005
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8015
8006
|
if (context & 67108864 && parser.token === 143494) {
|
|
@@ -8022,7 +8013,7 @@ var meriyah = (function (exports) {
|
|
|
8022
8013
|
if ((parser.token & 16842752) === 16842752) {
|
|
8023
8014
|
report(parser, 63, KeywordDescTable[parser.token & 255]);
|
|
8024
8015
|
}
|
|
8025
|
-
const expr = parsePrimaryExpression(parser, context, 2, 1, 0,
|
|
8016
|
+
const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
|
|
8026
8017
|
context = (context | 134217728) ^ 134217728;
|
|
8027
8018
|
if (parser.token === 67108991)
|
|
8028
8019
|
report(parser, 163);
|
|
@@ -8035,7 +8026,7 @@ var meriyah = (function (exports) {
|
|
|
8035
8026
|
});
|
|
8036
8027
|
}
|
|
8037
8028
|
function parseMetaProperty(parser, context, meta, start, line, column) {
|
|
8038
|
-
const property = parseIdentifier(parser, context
|
|
8029
|
+
const property = parseIdentifier(parser, context);
|
|
8039
8030
|
return finishNode(parser, context, start, line, column, {
|
|
8040
8031
|
type: 'MetaProperty',
|
|
8041
8032
|
meta,
|
|
@@ -8051,7 +8042,7 @@ var meriyah = (function (exports) {
|
|
|
8051
8042
|
if ((parser.token & 537079808) === 537079808) {
|
|
8052
8043
|
parser.flags |= 512;
|
|
8053
8044
|
}
|
|
8054
|
-
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);
|
|
8055
8046
|
}
|
|
8056
8047
|
function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
|
|
8057
8048
|
nextToken(parser, context | 32768);
|
|
@@ -8081,7 +8072,7 @@ var meriyah = (function (exports) {
|
|
|
8081
8072
|
if (token & (143360 | 4096)) {
|
|
8082
8073
|
if (scope)
|
|
8083
8074
|
addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
|
|
8084
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
8075
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
8085
8076
|
if (parser.token === 16 || parser.token === 18) {
|
|
8086
8077
|
if (parser.assignable & 2) {
|
|
8087
8078
|
destructible |= 16;
|
|
@@ -8133,11 +8124,11 @@ var meriyah = (function (exports) {
|
|
|
8133
8124
|
isSimpleParameterList = 1;
|
|
8134
8125
|
}
|
|
8135
8126
|
else {
|
|
8136
|
-
expr = parseExpression(parser, context, 1, 0,
|
|
8127
|
+
expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8137
8128
|
destructible = parser.assignable;
|
|
8138
8129
|
params.push(expr);
|
|
8139
8130
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
8140
|
-
params.push(parseExpression(parser, context, 1, 0,
|
|
8131
|
+
params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
|
|
8141
8132
|
}
|
|
8142
8133
|
destructible |= parser.assignable;
|
|
8143
8134
|
consume(parser, context, 16);
|
|
@@ -8232,7 +8223,7 @@ var meriyah = (function (exports) {
|
|
|
8232
8223
|
}
|
|
8233
8224
|
}
|
|
8234
8225
|
}
|
|
8235
|
-
id = parseIdentifier(parser, context
|
|
8226
|
+
id = parseIdentifier(parser, context);
|
|
8236
8227
|
}
|
|
8237
8228
|
else {
|
|
8238
8229
|
if ((flags & 1) === 0)
|
|
@@ -8279,7 +8270,7 @@ var meriyah = (function (exports) {
|
|
|
8279
8270
|
if ((parser.token & 537079808) === 537079808) {
|
|
8280
8271
|
report(parser, 116);
|
|
8281
8272
|
}
|
|
8282
|
-
id = parseIdentifier(parser, context
|
|
8273
|
+
id = parseIdentifier(parser, context);
|
|
8283
8274
|
}
|
|
8284
8275
|
let inheritedContext = context;
|
|
8285
8276
|
if (consumeOpt(parser, context | 32768, 20567)) {
|
|
@@ -8317,7 +8308,7 @@ var meriyah = (function (exports) {
|
|
|
8317
8308
|
}
|
|
8318
8309
|
function parseDecoratorList(parser, context, start, line, column) {
|
|
8319
8310
|
nextToken(parser, context | 32768);
|
|
8320
|
-
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
8311
|
+
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
|
|
8321
8312
|
expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
|
|
8322
8313
|
return finishNode(parser, context, start, line, column, {
|
|
8323
8314
|
type: 'Decorator',
|
|
@@ -8360,7 +8351,7 @@ var meriyah = (function (exports) {
|
|
|
8360
8351
|
let key = null;
|
|
8361
8352
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
8362
8353
|
if (token & (143360 | 36864)) {
|
|
8363
|
-
key = parseIdentifier(parser, context
|
|
8354
|
+
key = parseIdentifier(parser, context);
|
|
8364
8355
|
switch (token) {
|
|
8365
8356
|
case 36972:
|
|
8366
8357
|
if (!isStatic &&
|
|
@@ -8418,7 +8409,7 @@ var meriyah = (function (exports) {
|
|
|
8418
8409
|
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8419
8410
|
}
|
|
8420
8411
|
else if (token === 122) {
|
|
8421
|
-
key = parseIdentifier(parser, context
|
|
8412
|
+
key = parseIdentifier(parser, context);
|
|
8422
8413
|
if (parser.token !== 67174411)
|
|
8423
8414
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
8424
8415
|
}
|
|
@@ -8427,7 +8418,7 @@ var meriyah = (function (exports) {
|
|
|
8427
8418
|
}
|
|
8428
8419
|
if (kind & (8 | 16 | 768)) {
|
|
8429
8420
|
if (parser.token & 143360) {
|
|
8430
|
-
key = parseIdentifier(parser, context
|
|
8421
|
+
key = parseIdentifier(parser, context);
|
|
8431
8422
|
}
|
|
8432
8423
|
else if ((parser.token & 134217728) === 134217728) {
|
|
8433
8424
|
key = parseLiteral(parser, context);
|
|
@@ -8437,7 +8428,7 @@ var meriyah = (function (exports) {
|
|
|
8437
8428
|
key = parseComputedPropertyName(parser, context, 0);
|
|
8438
8429
|
}
|
|
8439
8430
|
else if (parser.token === 122) {
|
|
8440
|
-
key = parseIdentifier(parser, context
|
|
8431
|
+
key = parseIdentifier(parser, context);
|
|
8441
8432
|
}
|
|
8442
8433
|
else if (context & 1 && parser.token === 131) {
|
|
8443
8434
|
kind |= 4096;
|
|
@@ -8532,7 +8523,7 @@ var meriyah = (function (exports) {
|
|
|
8532
8523
|
((context | modifierFlags) ^ modifierFlags) |
|
|
8533
8524
|
((state & 88) << 18) |
|
|
8534
8525
|
100925440;
|
|
8535
|
-
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0,
|
|
8526
|
+
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
|
|
8536
8527
|
if ((parser.token & 1073741824) !== 1073741824 ||
|
|
8537
8528
|
(parser.token & 4194304) === 4194304) {
|
|
8538
8529
|
value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
|
|
@@ -8740,7 +8731,7 @@ var meriyah = (function (exports) {
|
|
|
8740
8731
|
function parseJSXSpreadAttribute(parser, context, start, line, column) {
|
|
8741
8732
|
nextToken(parser, context);
|
|
8742
8733
|
consume(parser, context, 14);
|
|
8743
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8734
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8744
8735
|
consume(parser, context, 1074790415);
|
|
8745
8736
|
return finishNode(parser, context, start, line, column, {
|
|
8746
8737
|
type: 'JSXSpreadAttribute',
|
|
@@ -8800,7 +8791,7 @@ var meriyah = (function (exports) {
|
|
|
8800
8791
|
expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
|
|
8801
8792
|
}
|
|
8802
8793
|
else {
|
|
8803
|
-
expression = parseExpression(parser, context, 1, 0,
|
|
8794
|
+
expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8804
8795
|
}
|
|
8805
8796
|
if (inJSXChild) {
|
|
8806
8797
|
consume(parser, context, 1074790415);
|
|
@@ -8815,7 +8806,7 @@ var meriyah = (function (exports) {
|
|
|
8815
8806
|
}
|
|
8816
8807
|
function parseJSXSpreadChild(parser, context, start, line, column) {
|
|
8817
8808
|
consume(parser, context, 14);
|
|
8818
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8809
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8819
8810
|
consume(parser, context, 1074790415);
|
|
8820
8811
|
return finishNode(parser, context, start, line, column, {
|
|
8821
8812
|
type: 'JSXSpreadChild',
|
|
@@ -8843,7 +8834,7 @@ var meriyah = (function (exports) {
|
|
|
8843
8834
|
__proto__: null
|
|
8844
8835
|
});
|
|
8845
8836
|
|
|
8846
|
-
var version$1 = "4.4.
|
|
8837
|
+
var version$1 = "4.4.4";
|
|
8847
8838
|
|
|
8848
8839
|
const version = version$1;
|
|
8849
8840
|
function parseScript(source, options) {
|