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.system.js
CHANGED
|
@@ -1535,7 +1535,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
1535
1535
|
return 122;
|
|
1536
1536
|
}
|
|
1537
1537
|
if ((token & 20480) === 20480) {
|
|
1538
|
-
if (context &
|
|
1538
|
+
if (context & 268435456 && (context & 8192) === 0) {
|
|
1539
1539
|
return token;
|
|
1540
1540
|
}
|
|
1541
1541
|
else {
|
|
@@ -1544,12 +1544,12 @@ System.register('meriyah', [], (function (exports) {
|
|
|
1544
1544
|
}
|
|
1545
1545
|
return 143483;
|
|
1546
1546
|
}
|
|
1547
|
-
if (context &
|
|
1547
|
+
if (context & 268435456 &&
|
|
1548
1548
|
(context & 8192) === 0 &&
|
|
1549
1549
|
(token & 20480) === 20480)
|
|
1550
1550
|
return token;
|
|
1551
1551
|
if (token === 241773) {
|
|
1552
|
-
return context &
|
|
1552
|
+
return context & 268435456
|
|
1553
1553
|
? 143483
|
|
1554
1554
|
: context & 2097152
|
|
1555
1555
|
? 121
|
|
@@ -4368,10 +4368,9 @@ System.register('meriyah', [], (function (exports) {
|
|
|
4368
4368
|
return parser.token;
|
|
4369
4369
|
}
|
|
4370
4370
|
|
|
4371
|
-
function matchOrInsertSemicolon(parser, context
|
|
4371
|
+
function matchOrInsertSemicolon(parser, context) {
|
|
4372
4372
|
if ((parser.flags & 1) === 0 &&
|
|
4373
|
-
(parser.token & 1048576) !== 1048576
|
|
4374
|
-
!specDeviation) {
|
|
4373
|
+
(parser.token & 1048576) !== 1048576) {
|
|
4375
4374
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
4376
4375
|
}
|
|
4377
4376
|
if (!consumeOpt(parser, context, 1074790417)) {
|
|
@@ -4763,7 +4762,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
4763
4762
|
if (options.ranges)
|
|
4764
4763
|
context |= 2;
|
|
4765
4764
|
if (options.uniqueKeyInPattern)
|
|
4766
|
-
context |=
|
|
4765
|
+
context |= 536870912;
|
|
4767
4766
|
if (options.lexical)
|
|
4768
4767
|
context |= 64;
|
|
4769
4768
|
if (options.webcompat)
|
|
@@ -4780,10 +4779,6 @@ System.register('meriyah', [], (function (exports) {
|
|
|
4780
4779
|
context |= 1024;
|
|
4781
4780
|
if (options.jsx)
|
|
4782
4781
|
context |= 16;
|
|
4783
|
-
if (options.identifierPattern)
|
|
4784
|
-
context |= 268435456;
|
|
4785
|
-
if (options.specDeviation)
|
|
4786
|
-
context |= 536870912;
|
|
4787
4782
|
if (options.source)
|
|
4788
4783
|
sourceFile = options.source;
|
|
4789
4784
|
if (options.onComment != null) {
|
|
@@ -4835,7 +4830,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
4835
4830
|
return node;
|
|
4836
4831
|
}
|
|
4837
4832
|
function parseStatementList(parser, context, scope) {
|
|
4838
|
-
nextToken(parser, context | 32768 |
|
|
4833
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
4839
4834
|
const statements = [];
|
|
4840
4835
|
while (parser.token === 134283267) {
|
|
4841
4836
|
const { index, tokenPos, tokenValue, linePos, colPos, token } = parser;
|
|
@@ -4968,14 +4963,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
4968
4963
|
let expr;
|
|
4969
4964
|
switch (token) {
|
|
4970
4965
|
case 241739:
|
|
4971
|
-
expr = parseIdentifier(parser, context
|
|
4966
|
+
expr = parseIdentifier(parser, context);
|
|
4972
4967
|
if (context & 1024)
|
|
4973
4968
|
report(parser, 83);
|
|
4974
4969
|
if (parser.token === 69271571)
|
|
4975
4970
|
report(parser, 82);
|
|
4976
4971
|
break;
|
|
4977
4972
|
default:
|
|
4978
|
-
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
4973
|
+
expr = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
4979
4974
|
}
|
|
4980
4975
|
if (token & 143360 && parser.token === 21) {
|
|
4981
4976
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, allowFuncDecl, start, line, column);
|
|
@@ -5037,7 +5032,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5037
5032
|
}
|
|
5038
5033
|
function parseAsyncArrowOrAsyncFunctionDeclaration(parser, context, scope, origin, labels, allowFuncDecl, start, line, column) {
|
|
5039
5034
|
const { token, tokenValue } = parser;
|
|
5040
|
-
let expr = parseIdentifier(parser, context
|
|
5035
|
+
let expr = parseIdentifier(parser, context);
|
|
5041
5036
|
if (parser.token === 21) {
|
|
5042
5037
|
return parseLabelledStatement(parser, context, scope, origin, labels, tokenValue, expr, token, 1, start, line, column);
|
|
5043
5038
|
}
|
|
@@ -5205,7 +5200,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5205
5200
|
let label = null;
|
|
5206
5201
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5207
5202
|
const { tokenValue } = parser;
|
|
5208
|
-
label = parseIdentifier(parser, context | 32768
|
|
5203
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5209
5204
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
5210
5205
|
report(parser, 135, tokenValue);
|
|
5211
5206
|
}
|
|
@@ -5220,7 +5215,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5220
5215
|
let label = null;
|
|
5221
5216
|
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5222
5217
|
const { tokenValue } = parser;
|
|
5223
|
-
label = parseIdentifier(parser, context | 32768
|
|
5218
|
+
label = parseIdentifier(parser, context | 32768);
|
|
5224
5219
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5225
5220
|
report(parser, 135, tokenValue);
|
|
5226
5221
|
}
|
|
@@ -5331,7 +5326,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5331
5326
|
}
|
|
5332
5327
|
function parseLetIdentOrVarDeclarationStatement(parser, context, scope, origin, start, line, column) {
|
|
5333
5328
|
const { token, tokenValue } = parser;
|
|
5334
|
-
let expr = parseIdentifier(parser, context
|
|
5329
|
+
let expr = parseIdentifier(parser, context);
|
|
5335
5330
|
if (parser.token & (143360 | 2097152)) {
|
|
5336
5331
|
const declarations = parseVariableDeclarationList(parser, context, scope, 8, 0);
|
|
5337
5332
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5401,7 +5396,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5401
5396
|
const id = parseBindingPattern(parser, context, scope, kind, origin, tokenPos, linePos, colPos);
|
|
5402
5397
|
if (parser.token === 1077936157) {
|
|
5403
5398
|
nextToken(parser, context | 32768);
|
|
5404
|
-
init = parseExpression(parser, context, 1, 0,
|
|
5399
|
+
init = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5405
5400
|
if (origin & 32 || (token & 2097152) === 0) {
|
|
5406
5401
|
if (parser.token === 274549 ||
|
|
5407
5402
|
(parser.token === 8738868 &&
|
|
@@ -5436,7 +5431,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5436
5431
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
5437
5432
|
if (isVarDecl) {
|
|
5438
5433
|
if (token === 241739) {
|
|
5439
|
-
init = parseIdentifier(parser, context
|
|
5434
|
+
init = parseIdentifier(parser, context);
|
|
5440
5435
|
if (parser.token & (143360 | 2097152)) {
|
|
5441
5436
|
if (parser.token === 8738868) {
|
|
5442
5437
|
if (context & 1024)
|
|
@@ -5504,7 +5499,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5504
5499
|
report(parser, 78, forAwait ? 'await' : 'of');
|
|
5505
5500
|
reinterpretToPattern(parser, init);
|
|
5506
5501
|
nextToken(parser, context | 32768);
|
|
5507
|
-
right = parseExpression(parser, context, 1, 0,
|
|
5502
|
+
right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5508
5503
|
consume(parser, context | 32768, 16);
|
|
5509
5504
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
5510
5505
|
return finishNode(parser, context, start, line, column, {
|
|
@@ -5564,7 +5559,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5564
5559
|
report(parser, 116);
|
|
5565
5560
|
if (scope)
|
|
5566
5561
|
addBlockName(parser, context, scope, parser.tokenValue, 8, 0);
|
|
5567
|
-
return parseIdentifier(parser, context
|
|
5562
|
+
return parseIdentifier(parser, context);
|
|
5568
5563
|
}
|
|
5569
5564
|
function parseImportDeclaration(parser, context, scope) {
|
|
5570
5565
|
const start = parser.tokenPos;
|
|
@@ -5637,7 +5632,9 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5637
5632
|
});
|
|
5638
5633
|
}
|
|
5639
5634
|
function parseModuleSpecifier(parser, context) {
|
|
5640
|
-
consumeOpt(parser, context, 12404)
|
|
5635
|
+
if (!consumeOpt(parser, context, 12404)) {
|
|
5636
|
+
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
5637
|
+
}
|
|
5641
5638
|
if (parser.token !== 134283267)
|
|
5642
5639
|
report(parser, 103, 'Import');
|
|
5643
5640
|
return parseLiteral(parser, context);
|
|
@@ -5646,7 +5643,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5646
5643
|
nextToken(parser, context);
|
|
5647
5644
|
while (parser.token & 143360) {
|
|
5648
5645
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
5649
|
-
const imported = parseIdentifier(parser, context
|
|
5646
|
+
const imported = parseIdentifier(parser, context);
|
|
5650
5647
|
let local;
|
|
5651
5648
|
if (consumeOpt(parser, context, 77934)) {
|
|
5652
5649
|
if ((parser.token & 134217728) === 134217728 || parser.token === 18) {
|
|
@@ -5656,7 +5653,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5656
5653
|
validateBindingIdentifier(parser, context, 16, parser.token, 0);
|
|
5657
5654
|
}
|
|
5658
5655
|
tokenValue = parser.tokenValue;
|
|
5659
|
-
local = parseIdentifier(parser, context
|
|
5656
|
+
local = parseIdentifier(parser, context);
|
|
5660
5657
|
}
|
|
5661
5658
|
else {
|
|
5662
5659
|
validateBindingIdentifier(parser, context, 16, token, 0);
|
|
@@ -5716,7 +5713,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5716
5713
|
break;
|
|
5717
5714
|
case 209007:
|
|
5718
5715
|
const { tokenPos, linePos, colPos } = parser;
|
|
5719
|
-
declaration = parseIdentifier(parser, context
|
|
5716
|
+
declaration = parseIdentifier(parser, context);
|
|
5720
5717
|
const { flags } = parser;
|
|
5721
5718
|
if ((flags & 1) === 0) {
|
|
5722
5719
|
if (parser.token === 86106) {
|
|
@@ -5731,14 +5728,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5731
5728
|
else if (parser.token & 143360) {
|
|
5732
5729
|
if (scope)
|
|
5733
5730
|
scope = createArrowHeadParsingScope(parser, context, parser.tokenValue);
|
|
5734
|
-
declaration = parseIdentifier(parser, context
|
|
5731
|
+
declaration = parseIdentifier(parser, context);
|
|
5735
5732
|
declaration = parseArrowFunctionExpression(parser, context, scope, [declaration], 1, tokenPos, linePos, colPos);
|
|
5736
5733
|
}
|
|
5737
5734
|
}
|
|
5738
5735
|
}
|
|
5739
5736
|
break;
|
|
5740
5737
|
default:
|
|
5741
|
-
declaration = parseExpression(parser, context, 1, 0,
|
|
5738
|
+
declaration = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5742
5739
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
5743
5740
|
}
|
|
5744
5741
|
if (scope)
|
|
@@ -5756,7 +5753,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5756
5753
|
if (isNamedDeclaration) {
|
|
5757
5754
|
if (scope)
|
|
5758
5755
|
declareUnboundVariable(parser, parser.tokenValue);
|
|
5759
|
-
exported = parseIdentifier(parser, context
|
|
5756
|
+
exported = parseIdentifier(parser, context);
|
|
5760
5757
|
}
|
|
5761
5758
|
consume(parser, context, 12404);
|
|
5762
5759
|
if (parser.token !== 134283267)
|
|
@@ -5775,7 +5772,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5775
5772
|
const tmpExportedBindings = [];
|
|
5776
5773
|
while (parser.token & 143360) {
|
|
5777
5774
|
const { tokenPos, tokenValue, linePos, colPos } = parser;
|
|
5778
|
-
const local = parseIdentifier(parser, context
|
|
5775
|
+
const local = parseIdentifier(parser, context);
|
|
5779
5776
|
let exported;
|
|
5780
5777
|
if (parser.token === 77934) {
|
|
5781
5778
|
nextToken(parser, context);
|
|
@@ -5786,7 +5783,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5786
5783
|
tmpExportedNames.push(parser.tokenValue);
|
|
5787
5784
|
tmpExportedBindings.push(tokenValue);
|
|
5788
5785
|
}
|
|
5789
|
-
exported = parseIdentifier(parser, context
|
|
5786
|
+
exported = parseIdentifier(parser, context);
|
|
5790
5787
|
}
|
|
5791
5788
|
else {
|
|
5792
5789
|
if (scope) {
|
|
@@ -5860,15 +5857,15 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5860
5857
|
source
|
|
5861
5858
|
});
|
|
5862
5859
|
}
|
|
5863
|
-
function parseExpression(parser, context, canAssign,
|
|
5864
|
-
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
5860
|
+
function parseExpression(parser, context, canAssign, inGroup, start, line, column) {
|
|
5861
|
+
let expr = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, 1, start, line, column);
|
|
5865
5862
|
expr = parseMemberOrUpdateExpression(parser, context, expr, inGroup, 0, start, line, column);
|
|
5866
5863
|
return parseAssignmentExpression(parser, context, inGroup, 0, start, line, column, expr);
|
|
5867
5864
|
}
|
|
5868
5865
|
function parseSequenceExpression(parser, context, inGroup, start, line, column, expr) {
|
|
5869
5866
|
const expressions = [expr];
|
|
5870
5867
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
5871
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
5868
|
+
expressions.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
5872
5869
|
}
|
|
5873
5870
|
return finishNode(parser, context, start, line, column, {
|
|
5874
5871
|
type: 'SequenceExpression',
|
|
@@ -5876,7 +5873,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5876
5873
|
});
|
|
5877
5874
|
}
|
|
5878
5875
|
function parseExpressions(parser, context, inGroup, canAssign, start, line, column) {
|
|
5879
|
-
const expr = parseExpression(parser, context, canAssign,
|
|
5876
|
+
const expr = parseExpression(parser, context, canAssign, inGroup, start, line, column);
|
|
5880
5877
|
return parser.token === 18
|
|
5881
5878
|
? parseSequenceExpression(parser, context, inGroup, start, line, column, expr)
|
|
5882
5879
|
: expr;
|
|
@@ -5891,7 +5888,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5891
5888
|
reinterpretToPattern(parser, left);
|
|
5892
5889
|
}
|
|
5893
5890
|
nextToken(parser, context | 32768);
|
|
5894
|
-
const right = parseExpression(parser, context, 1,
|
|
5891
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5895
5892
|
parser.assignable = 2;
|
|
5896
5893
|
return finishNode(parser, context, start, line, column, isPattern
|
|
5897
5894
|
? {
|
|
@@ -5917,7 +5914,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5917
5914
|
function parseAssignmentExpressionOrPattern(parser, context, inGroup, isPattern, start, line, column, left) {
|
|
5918
5915
|
const { token } = parser;
|
|
5919
5916
|
nextToken(parser, context | 32768);
|
|
5920
|
-
const right = parseExpression(parser, context, 1,
|
|
5917
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5921
5918
|
left = finishNode(parser, context, start, line, column, isPattern
|
|
5922
5919
|
? {
|
|
5923
5920
|
type: 'AssignmentPattern',
|
|
@@ -5934,10 +5931,10 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5934
5931
|
return left;
|
|
5935
5932
|
}
|
|
5936
5933
|
function parseConditionalExpression(parser, context, test, start, line, column) {
|
|
5937
|
-
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0,
|
|
5934
|
+
const consequent = parseExpression(parser, (context | 134217728) ^ 134217728, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5938
5935
|
consume(parser, context | 32768, 21);
|
|
5939
5936
|
parser.assignable = 1;
|
|
5940
|
-
const alternate = parseExpression(parser, context, 1, 0,
|
|
5937
|
+
const alternate = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5941
5938
|
parser.assignable = 2;
|
|
5942
5939
|
return finishNode(parser, context, start, line, column, {
|
|
5943
5940
|
type: 'ConditionalExpression',
|
|
@@ -5995,9 +5992,9 @@ System.register('meriyah', [], (function (exports) {
|
|
|
5995
5992
|
prefix: true
|
|
5996
5993
|
});
|
|
5997
5994
|
}
|
|
5998
|
-
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
5995
|
+
function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column) {
|
|
5999
5996
|
const { token } = parser;
|
|
6000
|
-
const expr = parseIdentifier(parser, context
|
|
5997
|
+
const expr = parseIdentifier(parser, context);
|
|
6001
5998
|
const { flags } = parser;
|
|
6002
5999
|
if ((flags & 1) === 0) {
|
|
6003
6000
|
if (parser.token === 86106) {
|
|
@@ -6037,7 +6034,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6037
6034
|
if ((parser.flags & 1) === 0) {
|
|
6038
6035
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
6039
6036
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
6040
|
-
argument = parseExpression(parser, context, 1, 0,
|
|
6037
|
+
argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6041
6038
|
}
|
|
6042
6039
|
}
|
|
6043
6040
|
parser.assignable = 2;
|
|
@@ -6140,8 +6137,9 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6140
6137
|
case 67174411: {
|
|
6141
6138
|
if ((context & 524288) === 0)
|
|
6142
6139
|
report(parser, 26);
|
|
6143
|
-
if (context & 16384)
|
|
6140
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6144
6141
|
report(parser, 27);
|
|
6142
|
+
}
|
|
6145
6143
|
parser.assignable = 2;
|
|
6146
6144
|
break;
|
|
6147
6145
|
}
|
|
@@ -6149,8 +6147,9 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6149
6147
|
case 67108877: {
|
|
6150
6148
|
if ((context & 262144) === 0)
|
|
6151
6149
|
report(parser, 27);
|
|
6152
|
-
if (context & 16384)
|
|
6150
|
+
if (context & 16384 && !(context & 33554432)) {
|
|
6153
6151
|
report(parser, 27);
|
|
6152
|
+
}
|
|
6154
6153
|
parser.assignable = 1;
|
|
6155
6154
|
break;
|
|
6156
6155
|
}
|
|
@@ -6160,7 +6159,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6160
6159
|
return finishNode(parser, context, start, line, column, { type: 'Super' });
|
|
6161
6160
|
}
|
|
6162
6161
|
function parseLeftHandSideExpression(parser, context, canAssign, inGroup, isLHS, start, line, column) {
|
|
6163
|
-
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign,
|
|
6162
|
+
const expression = parsePrimaryExpression(parser, context, 2, 0, canAssign, inGroup, isLHS, start, line, column);
|
|
6164
6163
|
return parseMemberOrUpdateExpression(parser, context, expression, inGroup, 0, start, line, column);
|
|
6165
6164
|
}
|
|
6166
6165
|
function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
@@ -6184,7 +6183,10 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6184
6183
|
context = (context | 134217728) ^ 134217728;
|
|
6185
6184
|
switch (parser.token) {
|
|
6186
6185
|
case 67108877: {
|
|
6187
|
-
nextToken(parser, (context |
|
|
6186
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6187
|
+
if (context & 16384 && parser.token === 131 && parser.tokenValue === 'super') {
|
|
6188
|
+
report(parser, 27);
|
|
6189
|
+
}
|
|
6188
6190
|
parser.assignable = 1;
|
|
6189
6191
|
const property = parsePropertyOrPrivatePropertyName(parser, context | 65536);
|
|
6190
6192
|
expr = finishNode(parser, context, start, line, column, {
|
|
@@ -6240,7 +6242,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6240
6242
|
break;
|
|
6241
6243
|
}
|
|
6242
6244
|
case 67108991: {
|
|
6243
|
-
nextToken(parser, (context |
|
|
6245
|
+
nextToken(parser, (context | 268435456 | 8192) ^ 8192);
|
|
6244
6246
|
parser.flags |= 2048;
|
|
6245
6247
|
parser.assignable = 2;
|
|
6246
6248
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6306,7 +6308,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6306
6308
|
else {
|
|
6307
6309
|
if ((parser.token & (143360 | 4096)) === 0)
|
|
6308
6310
|
report(parser, 155);
|
|
6309
|
-
const property = parseIdentifier(parser, context
|
|
6311
|
+
const property = parseIdentifier(parser, context);
|
|
6310
6312
|
parser.assignable = 2;
|
|
6311
6313
|
node = finishNode(parser, context, start, line, column, {
|
|
6312
6314
|
type: 'MemberExpression',
|
|
@@ -6327,7 +6329,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6327
6329
|
}
|
|
6328
6330
|
return context & 1 && parser.token === 131
|
|
6329
6331
|
? parsePrivateIdentifier(parser, context, parser.tokenPos, parser.linePos, parser.colPos)
|
|
6330
|
-
: parseIdentifier(parser, context
|
|
6332
|
+
: parseIdentifier(parser, context);
|
|
6331
6333
|
}
|
|
6332
6334
|
function parseUpdateExpressionPrefixed(parser, context, inNew, isLHS, start, line, column) {
|
|
6333
6335
|
if (inNew)
|
|
@@ -6348,7 +6350,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6348
6350
|
prefix: true
|
|
6349
6351
|
});
|
|
6350
6352
|
}
|
|
6351
|
-
function parsePrimaryExpression(parser, context, kind, inNew, canAssign,
|
|
6353
|
+
function parsePrimaryExpression(parser, context, kind, inNew, canAssign, inGroup, isLHS, start, line, column) {
|
|
6352
6354
|
if ((parser.token & 143360) === 143360) {
|
|
6353
6355
|
switch (parser.token) {
|
|
6354
6356
|
case 209008:
|
|
@@ -6356,10 +6358,10 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6356
6358
|
case 241773:
|
|
6357
6359
|
return parseYieldExpression(parser, context, inGroup, canAssign, start, line, column);
|
|
6358
6360
|
case 209007:
|
|
6359
|
-
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign,
|
|
6361
|
+
return parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, inNew, start, line, column);
|
|
6360
6362
|
}
|
|
6361
6363
|
const { token, tokenValue } = parser;
|
|
6362
|
-
const expr = parseIdentifier(parser, context | 65536
|
|
6364
|
+
const expr = parseIdentifier(parser, context | 65536);
|
|
6363
6365
|
if (parser.token === 10) {
|
|
6364
6366
|
if (!isLHS)
|
|
6365
6367
|
report(parser, 0);
|
|
@@ -6438,7 +6440,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6438
6440
|
}
|
|
6439
6441
|
}
|
|
6440
6442
|
function parseImportCallOrMetaExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6441
|
-
let expr = parseIdentifier(parser, context
|
|
6443
|
+
let expr = parseIdentifier(parser, context);
|
|
6442
6444
|
if (parser.token === 67108877) {
|
|
6443
6445
|
return parseImportMetaExpression(parser, context, expr, start, line, column);
|
|
6444
6446
|
}
|
|
@@ -6458,14 +6460,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6458
6460
|
return finishNode(parser, context, start, line, column, {
|
|
6459
6461
|
type: 'MetaProperty',
|
|
6460
6462
|
meta,
|
|
6461
|
-
property: parseIdentifier(parser, context
|
|
6463
|
+
property: parseIdentifier(parser, context)
|
|
6462
6464
|
});
|
|
6463
6465
|
}
|
|
6464
6466
|
function parseImportExpression(parser, context, inGroup, start, line, column) {
|
|
6465
6467
|
consume(parser, context | 32768, 67174411);
|
|
6466
6468
|
if (parser.token === 14)
|
|
6467
6469
|
report(parser, 139);
|
|
6468
|
-
const source = parseExpression(parser, context, 1,
|
|
6470
|
+
const source = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6469
6471
|
consume(parser, context, 16);
|
|
6470
6472
|
return finishNode(parser, context, start, line, column, {
|
|
6471
6473
|
type: 'ImportExpression',
|
|
@@ -6554,7 +6556,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6554
6556
|
function parseSpreadElement(parser, context, start, line, column) {
|
|
6555
6557
|
context = (context | 134217728) ^ 134217728;
|
|
6556
6558
|
consume(parser, context | 32768, 14);
|
|
6557
|
-
const argument = parseExpression(parser, context, 1, 0,
|
|
6559
|
+
const argument = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6558
6560
|
parser.assignable = 1;
|
|
6559
6561
|
return finishNode(parser, context, start, line, column, {
|
|
6560
6562
|
type: 'SpreadElement',
|
|
@@ -6573,7 +6575,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6573
6575
|
args.push(parseSpreadElement(parser, context, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6574
6576
|
}
|
|
6575
6577
|
else {
|
|
6576
|
-
args.push(parseExpression(parser, context, 1,
|
|
6578
|
+
args.push(parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos));
|
|
6577
6579
|
}
|
|
6578
6580
|
if (parser.token !== 18)
|
|
6579
6581
|
break;
|
|
@@ -6584,19 +6586,13 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6584
6586
|
consume(parser, context, 16);
|
|
6585
6587
|
return args;
|
|
6586
6588
|
}
|
|
6587
|
-
function parseIdentifier(parser, context
|
|
6589
|
+
function parseIdentifier(parser, context) {
|
|
6588
6590
|
const { tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6589
6591
|
nextToken(parser, context);
|
|
6590
|
-
return finishNode(parser, context, tokenPos, linePos, colPos,
|
|
6591
|
-
|
|
6592
|
-
|
|
6593
|
-
|
|
6594
|
-
pattern: isPattern === 1
|
|
6595
|
-
}
|
|
6596
|
-
: {
|
|
6597
|
-
type: 'Identifier',
|
|
6598
|
-
name: tokenValue
|
|
6599
|
-
});
|
|
6592
|
+
return finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
6593
|
+
type: 'Identifier',
|
|
6594
|
+
name: tokenValue
|
|
6595
|
+
});
|
|
6600
6596
|
}
|
|
6601
6597
|
function parseLiteral(parser, context) {
|
|
6602
6598
|
const { tokenValue, tokenRaw, tokenPos, linePos, colPos } = parser;
|
|
@@ -6671,7 +6667,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6671
6667
|
}
|
|
6672
6668
|
firstRestricted = parser.token;
|
|
6673
6669
|
if (parser.token & 143360) {
|
|
6674
|
-
id = parseIdentifier(parser, context
|
|
6670
|
+
id = parseIdentifier(parser, context);
|
|
6675
6671
|
}
|
|
6676
6672
|
else {
|
|
6677
6673
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
@@ -6681,7 +6677,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6681
6677
|
((context | 32243712) ^ 32243712) |
|
|
6682
6678
|
67108864 |
|
|
6683
6679
|
((isAsync * 2 + isGenerator) << 21) |
|
|
6684
|
-
(isGenerator ? 0 :
|
|
6680
|
+
(isGenerator ? 0 : 268435456);
|
|
6685
6681
|
if (scope)
|
|
6686
6682
|
functionScope = addChildScope(functionScope, 512);
|
|
6687
6683
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, functionScope, 0, 1);
|
|
@@ -6708,13 +6704,13 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6708
6704
|
if (scope)
|
|
6709
6705
|
scope = addChildScope(scope, 256);
|
|
6710
6706
|
firstRestricted = parser.token;
|
|
6711
|
-
id = parseIdentifier(parser, context
|
|
6707
|
+
id = parseIdentifier(parser, context);
|
|
6712
6708
|
}
|
|
6713
6709
|
context =
|
|
6714
6710
|
((context | 32243712) ^ 32243712) |
|
|
6715
6711
|
67108864 |
|
|
6716
6712
|
generatorAndAsyncFlags |
|
|
6717
|
-
(isGenerator ? 0 :
|
|
6713
|
+
(isGenerator ? 0 : 268435456);
|
|
6718
6714
|
if (scope)
|
|
6719
6715
|
scope = addChildScope(scope, 512);
|
|
6720
6716
|
const params = parseFormalParametersOrFormalList(parser, context | 8388608, scope, inGroup, 1);
|
|
@@ -6752,14 +6748,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6752
6748
|
let left;
|
|
6753
6749
|
const { token, tokenPos, linePos, colPos, tokenValue } = parser;
|
|
6754
6750
|
if (token & 143360) {
|
|
6755
|
-
left = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6751
|
+
left = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6756
6752
|
if (parser.token === 1077936157) {
|
|
6757
6753
|
if (parser.assignable & 2)
|
|
6758
6754
|
report(parser, 24);
|
|
6759
6755
|
nextToken(parser, context | 32768);
|
|
6760
6756
|
if (scope)
|
|
6761
6757
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
6762
|
-
const right = parseExpression(parser, context, 1,
|
|
6758
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6763
6759
|
left = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
6764
6760
|
? {
|
|
6765
6761
|
type: 'AssignmentPattern',
|
|
@@ -6898,7 +6894,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6898
6894
|
if (!isPattern)
|
|
6899
6895
|
reinterpretToPattern(parser, node);
|
|
6900
6896
|
const { tokenPos, linePos, colPos } = parser;
|
|
6901
|
-
const right = parseExpression(parser, context, 1,
|
|
6897
|
+
const right = parseExpression(parser, context, 1, inGroup, tokenPos, linePos, colPos);
|
|
6902
6898
|
parser.destructible =
|
|
6903
6899
|
((destructible | 64 | 8) ^
|
|
6904
6900
|
(8 | 64)) |
|
|
@@ -6924,7 +6920,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
6924
6920
|
let { token, tokenValue, tokenPos, linePos, colPos } = parser;
|
|
6925
6921
|
if (token & (4096 | 143360)) {
|
|
6926
6922
|
parser.assignable = 1;
|
|
6927
|
-
argument = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
6923
|
+
argument = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
6928
6924
|
token = parser.token;
|
|
6929
6925
|
argument = parseMemberOrUpdateExpression(parser, context, argument, inGroup, 0, tokenPos, linePos, colPos);
|
|
6930
6926
|
if (parser.token !== 18 && parser.token !== closingToken) {
|
|
@@ -7019,7 +7015,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7019
7015
|
if (destructible & 16)
|
|
7020
7016
|
report(parser, 24);
|
|
7021
7017
|
reinterpretToPattern(parser, argument);
|
|
7022
|
-
const right = parseExpression(parser, context, 1,
|
|
7018
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7023
7019
|
argument = finishNode(parser, context, tokenPos, linePos, colPos, isPattern
|
|
7024
7020
|
? {
|
|
7025
7021
|
type: 'AssignmentPattern',
|
|
@@ -7091,7 +7087,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7091
7087
|
let value;
|
|
7092
7088
|
const t = parser.token;
|
|
7093
7089
|
if (parser.token & (143360 | 4096) || parser.token === 121) {
|
|
7094
|
-
key = parseIdentifier(parser, context
|
|
7090
|
+
key = parseIdentifier(parser, context);
|
|
7095
7091
|
if (parser.token === 18 || parser.token === 1074790415 || parser.token === 1077936157) {
|
|
7096
7092
|
state |= 4;
|
|
7097
7093
|
if (context & 1024 && (token & 537079808) === 537079808) {
|
|
@@ -7104,7 +7100,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7104
7100
|
addVarOrBlock(parser, context, scope, tokenValue, kind, origin);
|
|
7105
7101
|
if (consumeOpt(parser, context | 32768, 1077936157)) {
|
|
7106
7102
|
destructible |= 8;
|
|
7107
|
-
const right = parseExpression(parser, context, 1,
|
|
7103
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7108
7104
|
destructible |=
|
|
7109
7105
|
parser.destructible & 256
|
|
7110
7106
|
? 256
|
|
@@ -7113,7 +7109,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7113
7109
|
: 0;
|
|
7114
7110
|
value = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7115
7111
|
type: 'AssignmentPattern',
|
|
7116
|
-
left: context &
|
|
7112
|
+
left: context & 536870912 ? Object.assign({}, key) : key,
|
|
7117
7113
|
right
|
|
7118
7114
|
});
|
|
7119
7115
|
}
|
|
@@ -7121,7 +7117,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7121
7117
|
destructible |=
|
|
7122
7118
|
(token === 209008 ? 128 : 0) |
|
|
7123
7119
|
(token === 121 ? 16 : 0);
|
|
7124
|
-
value = context &
|
|
7120
|
+
value = context & 536870912 ? Object.assign({}, key) : key;
|
|
7125
7121
|
}
|
|
7126
7122
|
}
|
|
7127
7123
|
else if (consumeOpt(parser, context | 32768, 21)) {
|
|
@@ -7132,7 +7128,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7132
7128
|
const tokenAfterColon = parser.token;
|
|
7133
7129
|
const valueAfterColon = parser.tokenValue;
|
|
7134
7130
|
destructible |= t === 121 ? 16 : 0;
|
|
7135
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7131
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7136
7132
|
const { token } = parser;
|
|
7137
7133
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7138
7134
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7253,7 +7249,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7253
7249
|
report(parser, 129);
|
|
7254
7250
|
state |= 16;
|
|
7255
7251
|
}
|
|
7256
|
-
key = parseIdentifier(parser, context
|
|
7252
|
+
key = parseIdentifier(parser, context);
|
|
7257
7253
|
state |=
|
|
7258
7254
|
token === 12402
|
|
7259
7255
|
? 256
|
|
@@ -7282,7 +7278,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7282
7278
|
state |=
|
|
7283
7279
|
8 | 1 | (token === 209007 ? 16 : 0);
|
|
7284
7280
|
if (parser.token & 143360) {
|
|
7285
|
-
key = parseIdentifier(parser, context
|
|
7281
|
+
key = parseIdentifier(parser, context);
|
|
7286
7282
|
}
|
|
7287
7283
|
else if ((parser.token & 134217728) === 134217728) {
|
|
7288
7284
|
key = parseLiteral(parser, context);
|
|
@@ -7322,7 +7318,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7322
7318
|
if (tokenValue === '__proto__')
|
|
7323
7319
|
prototypeCount++;
|
|
7324
7320
|
if (parser.token & 143360) {
|
|
7325
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7321
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7326
7322
|
const { token, tokenValue: valueAfterColon } = parser;
|
|
7327
7323
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7328
7324
|
if (parser.token === 18 || parser.token === 1074790415) {
|
|
@@ -7423,7 +7419,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7423
7419
|
nextToken(parser, context | 32768);
|
|
7424
7420
|
const { tokenPos, linePos, colPos, tokenValue, token: tokenAfterColon } = parser;
|
|
7425
7421
|
if (parser.token & 143360) {
|
|
7426
|
-
value = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7422
|
+
value = parsePrimaryExpression(parser, context, kind, 0, 1, inGroup, 1, tokenPos, linePos, colPos);
|
|
7427
7423
|
const { token } = parser;
|
|
7428
7424
|
value = parseMemberOrUpdateExpression(parser, context, value, inGroup, 0, tokenPos, linePos, colPos);
|
|
7429
7425
|
if ((parser.token & 4194304) === 4194304) {
|
|
@@ -7529,7 +7525,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7529
7525
|
state |= 8;
|
|
7530
7526
|
if (parser.token & 143360) {
|
|
7531
7527
|
const { token, line, index } = parser;
|
|
7532
|
-
key = parseIdentifier(parser, context
|
|
7528
|
+
key = parseIdentifier(parser, context);
|
|
7533
7529
|
state |= 1;
|
|
7534
7530
|
if (parser.token === 67174411) {
|
|
7535
7531
|
destructible |= 16;
|
|
@@ -7643,7 +7639,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7643
7639
|
if (parser.token === 1077936157) {
|
|
7644
7640
|
nextToken(parser, context | 32768);
|
|
7645
7641
|
isSimpleParameterList = 1;
|
|
7646
|
-
const right = parseExpression(parser, context, 1,
|
|
7642
|
+
const right = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7647
7643
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7648
7644
|
type: 'AssignmentPattern',
|
|
7649
7645
|
left: left,
|
|
@@ -7670,14 +7666,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7670
7666
|
}
|
|
7671
7667
|
function parseComputedPropertyName(parser, context, inGroup) {
|
|
7672
7668
|
nextToken(parser, context | 32768);
|
|
7673
|
-
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1,
|
|
7669
|
+
const key = parseExpression(parser, (context | 134217728) ^ 134217728, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7674
7670
|
consume(parser, context, 20);
|
|
7675
7671
|
return key;
|
|
7676
7672
|
}
|
|
7677
7673
|
function parseParenthesizedExpression(parser, context, canAssign, kind, origin, start, line, column) {
|
|
7678
7674
|
parser.flags = (parser.flags | 128) ^ 128;
|
|
7679
7675
|
const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
|
|
7680
|
-
nextToken(parser, context | 32768 |
|
|
7676
|
+
nextToken(parser, context | 32768 | 268435456);
|
|
7681
7677
|
const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7682
7678
|
context = (context | 134217728) ^ 134217728;
|
|
7683
7679
|
if (consumeOpt(parser, context, 16)) {
|
|
@@ -7696,7 +7692,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7696
7692
|
if (token & (143360 | 4096)) {
|
|
7697
7693
|
if (scope)
|
|
7698
7694
|
addBlockName(parser, context, scope, parser.tokenValue, 1, 0);
|
|
7699
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
7695
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
7700
7696
|
if (parser.token === 16 || parser.token === 18) {
|
|
7701
7697
|
if (parser.assignable & 2) {
|
|
7702
7698
|
destructible |= 16;
|
|
@@ -7723,8 +7719,8 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7723
7719
|
else if ((token & 2097152) === 2097152) {
|
|
7724
7720
|
expr =
|
|
7725
7721
|
token === 2162700
|
|
7726
|
-
? parseObjectLiteralOrPattern(parser, context |
|
|
7727
|
-
: parseArrayExpressionOrPattern(parser, context |
|
|
7722
|
+
? parseObjectLiteralOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos)
|
|
7723
|
+
: parseArrayExpressionOrPattern(parser, context | 268435456, scope, 0, 1, 0, kind, origin, tokenPos, linePos, colPos);
|
|
7728
7724
|
destructible |= parser.destructible;
|
|
7729
7725
|
isSimpleParameterList = 1;
|
|
7730
7726
|
parser.assignable = 2;
|
|
@@ -7751,7 +7747,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7751
7747
|
}
|
|
7752
7748
|
else {
|
|
7753
7749
|
destructible |= 16;
|
|
7754
|
-
expr = parseExpression(parser, context, 1,
|
|
7750
|
+
expr = parseExpression(parser, context, 1, 1, tokenPos, linePos, colPos);
|
|
7755
7751
|
if (isSequence && (parser.token === 16 || parser.token === 18)) {
|
|
7756
7752
|
expressions.push(expr);
|
|
7757
7753
|
}
|
|
@@ -7763,7 +7759,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7763
7759
|
}
|
|
7764
7760
|
if (isSequence) {
|
|
7765
7761
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
7766
|
-
expressions.push(parseExpression(parser, context, 1,
|
|
7762
|
+
expressions.push(parseExpression(parser, context, 1, 1, parser.tokenPos, parser.linePos, parser.colPos));
|
|
7767
7763
|
}
|
|
7768
7764
|
parser.assignable = 2;
|
|
7769
7765
|
expr = finishNode(parser, context, iStart, lStart, cStart, {
|
|
@@ -7830,7 +7826,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7830
7826
|
}
|
|
7831
7827
|
function parseIdentifierOrArrow(parser, context, start, line, column) {
|
|
7832
7828
|
const { tokenValue } = parser;
|
|
7833
|
-
const expr = parseIdentifier(parser, context
|
|
7829
|
+
const expr = parseIdentifier(parser, context);
|
|
7834
7830
|
parser.assignable = 1;
|
|
7835
7831
|
if (parser.token === 10) {
|
|
7836
7832
|
let scope = void 0;
|
|
@@ -7868,7 +7864,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7868
7864
|
reportScopeError(scope.scopeError);
|
|
7869
7865
|
}
|
|
7870
7866
|
if (expression) {
|
|
7871
|
-
body = parseExpression(parser, context, 1, 0,
|
|
7867
|
+
body = parseExpression(parser, context & 16384 ? context | 33554432 : context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7872
7868
|
}
|
|
7873
7869
|
else {
|
|
7874
7870
|
if (scope)
|
|
@@ -7949,7 +7945,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7949
7945
|
if (parser.token === 1077936157) {
|
|
7950
7946
|
nextToken(parser, context | 32768);
|
|
7951
7947
|
isSimpleParameterList = 1;
|
|
7952
|
-
const right = parseExpression(parser, context, 1,
|
|
7948
|
+
const right = parseExpression(parser, context, 1, inGroup, parser.tokenPos, parser.linePos, parser.colPos);
|
|
7953
7949
|
left = finishNode(parser, context, tokenPos, linePos, colPos, {
|
|
7954
7950
|
type: 'AssignmentPattern',
|
|
7955
7951
|
left,
|
|
@@ -7975,7 +7971,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
7975
7971
|
const { token } = parser;
|
|
7976
7972
|
if (token & 67108864) {
|
|
7977
7973
|
if (token === 67108877) {
|
|
7978
|
-
nextToken(parser, context |
|
|
7974
|
+
nextToken(parser, context | 268435456);
|
|
7979
7975
|
parser.assignable = 1;
|
|
7980
7976
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
7981
7977
|
return parseMembeExpressionNoCall(parser, context, finishNode(parser, context, start, line, column, {
|
|
@@ -8012,7 +8008,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8012
8008
|
return expr;
|
|
8013
8009
|
}
|
|
8014
8010
|
function parseNewExpression(parser, context, inGroup, start, line, column) {
|
|
8015
|
-
const id = parseIdentifier(parser, context | 32768
|
|
8011
|
+
const id = parseIdentifier(parser, context | 32768);
|
|
8016
8012
|
const { tokenPos, linePos, colPos } = parser;
|
|
8017
8013
|
if (consumeOpt(parser, context, 67108877)) {
|
|
8018
8014
|
if (context & 67108864 && parser.token === 143494) {
|
|
@@ -8025,7 +8021,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8025
8021
|
if ((parser.token & 16842752) === 16842752) {
|
|
8026
8022
|
report(parser, 63, KeywordDescTable[parser.token & 255]);
|
|
8027
8023
|
}
|
|
8028
|
-
const expr = parsePrimaryExpression(parser, context, 2, 1, 0,
|
|
8024
|
+
const expr = parsePrimaryExpression(parser, context, 2, 1, 0, inGroup, 1, tokenPos, linePos, colPos);
|
|
8029
8025
|
context = (context | 134217728) ^ 134217728;
|
|
8030
8026
|
if (parser.token === 67108991)
|
|
8031
8027
|
report(parser, 163);
|
|
@@ -8038,7 +8034,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8038
8034
|
});
|
|
8039
8035
|
}
|
|
8040
8036
|
function parseMetaProperty(parser, context, meta, start, line, column) {
|
|
8041
|
-
const property = parseIdentifier(parser, context
|
|
8037
|
+
const property = parseIdentifier(parser, context);
|
|
8042
8038
|
return finishNode(parser, context, start, line, column, {
|
|
8043
8039
|
type: 'MetaProperty',
|
|
8044
8040
|
meta,
|
|
@@ -8054,7 +8050,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8054
8050
|
if ((parser.token & 537079808) === 537079808) {
|
|
8055
8051
|
parser.flags |= 512;
|
|
8056
8052
|
}
|
|
8057
|
-
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context
|
|
8053
|
+
return parseArrowFromIdentifier(parser, context, parser.tokenValue, parseIdentifier(parser, context), 0, canAssign, 1, start, line, column);
|
|
8058
8054
|
}
|
|
8059
8055
|
function parseAsyncArrowOrCallExpression(parser, context, callee, canAssign, kind, origin, flags, start, line, column) {
|
|
8060
8056
|
nextToken(parser, context | 32768);
|
|
@@ -8084,7 +8080,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8084
8080
|
if (token & (143360 | 4096)) {
|
|
8085
8081
|
if (scope)
|
|
8086
8082
|
addBlockName(parser, context, scope, parser.tokenValue, kind, 0);
|
|
8087
|
-
expr = parsePrimaryExpression(parser, context, kind, 0, 1,
|
|
8083
|
+
expr = parsePrimaryExpression(parser, context, kind, 0, 1, 1, 1, tokenPos, linePos, colPos);
|
|
8088
8084
|
if (parser.token === 16 || parser.token === 18) {
|
|
8089
8085
|
if (parser.assignable & 2) {
|
|
8090
8086
|
destructible |= 16;
|
|
@@ -8136,11 +8132,11 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8136
8132
|
isSimpleParameterList = 1;
|
|
8137
8133
|
}
|
|
8138
8134
|
else {
|
|
8139
|
-
expr = parseExpression(parser, context, 1, 0,
|
|
8135
|
+
expr = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8140
8136
|
destructible = parser.assignable;
|
|
8141
8137
|
params.push(expr);
|
|
8142
8138
|
while (consumeOpt(parser, context | 32768, 18)) {
|
|
8143
|
-
params.push(parseExpression(parser, context, 1, 0,
|
|
8139
|
+
params.push(parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos));
|
|
8144
8140
|
}
|
|
8145
8141
|
destructible |= parser.assignable;
|
|
8146
8142
|
consume(parser, context, 16);
|
|
@@ -8235,7 +8231,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8235
8231
|
}
|
|
8236
8232
|
}
|
|
8237
8233
|
}
|
|
8238
|
-
id = parseIdentifier(parser, context
|
|
8234
|
+
id = parseIdentifier(parser, context);
|
|
8239
8235
|
}
|
|
8240
8236
|
else {
|
|
8241
8237
|
if ((flags & 1) === 0)
|
|
@@ -8282,7 +8278,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8282
8278
|
if ((parser.token & 537079808) === 537079808) {
|
|
8283
8279
|
report(parser, 116);
|
|
8284
8280
|
}
|
|
8285
|
-
id = parseIdentifier(parser, context
|
|
8281
|
+
id = parseIdentifier(parser, context);
|
|
8286
8282
|
}
|
|
8287
8283
|
let inheritedContext = context;
|
|
8288
8284
|
if (consumeOpt(parser, context | 32768, 20567)) {
|
|
@@ -8320,7 +8316,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8320
8316
|
}
|
|
8321
8317
|
function parseDecoratorList(parser, context, start, line, column) {
|
|
8322
8318
|
nextToken(parser, context | 32768);
|
|
8323
|
-
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0,
|
|
8319
|
+
let expression = parsePrimaryExpression(parser, context, 2, 0, 1, 0, 1, start, line, column);
|
|
8324
8320
|
expression = parseMemberOrUpdateExpression(parser, context, expression, 0, 0, start, line, column);
|
|
8325
8321
|
return finishNode(parser, context, start, line, column, {
|
|
8326
8322
|
type: 'Decorator',
|
|
@@ -8363,7 +8359,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8363
8359
|
let key = null;
|
|
8364
8360
|
const { token, tokenPos, linePos, colPos } = parser;
|
|
8365
8361
|
if (token & (143360 | 36864)) {
|
|
8366
|
-
key = parseIdentifier(parser, context
|
|
8362
|
+
key = parseIdentifier(parser, context);
|
|
8367
8363
|
switch (token) {
|
|
8368
8364
|
case 36972:
|
|
8369
8365
|
if (!isStatic &&
|
|
@@ -8421,7 +8417,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8421
8417
|
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8422
8418
|
}
|
|
8423
8419
|
else if (token === 122) {
|
|
8424
|
-
key = parseIdentifier(parser, context
|
|
8420
|
+
key = parseIdentifier(parser, context);
|
|
8425
8421
|
if (parser.token !== 67174411)
|
|
8426
8422
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
8427
8423
|
}
|
|
@@ -8430,7 +8426,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8430
8426
|
}
|
|
8431
8427
|
if (kind & (8 | 16 | 768)) {
|
|
8432
8428
|
if (parser.token & 143360) {
|
|
8433
|
-
key = parseIdentifier(parser, context
|
|
8429
|
+
key = parseIdentifier(parser, context);
|
|
8434
8430
|
}
|
|
8435
8431
|
else if ((parser.token & 134217728) === 134217728) {
|
|
8436
8432
|
key = parseLiteral(parser, context);
|
|
@@ -8440,7 +8436,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8440
8436
|
key = parseComputedPropertyName(parser, context, 0);
|
|
8441
8437
|
}
|
|
8442
8438
|
else if (parser.token === 122) {
|
|
8443
|
-
key = parseIdentifier(parser, context
|
|
8439
|
+
key = parseIdentifier(parser, context);
|
|
8444
8440
|
}
|
|
8445
8441
|
else if (context & 1 && parser.token === 131) {
|
|
8446
8442
|
kind |= 4096;
|
|
@@ -8528,7 +8524,14 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8528
8524
|
const { tokenPos, linePos, colPos } = parser;
|
|
8529
8525
|
if (parser.token === 537079928)
|
|
8530
8526
|
report(parser, 116);
|
|
8531
|
-
|
|
8527
|
+
const modifierFlags = (state & 64) === 0
|
|
8528
|
+
? 31981568
|
|
8529
|
+
: 14680064;
|
|
8530
|
+
context =
|
|
8531
|
+
((context | modifierFlags) ^ modifierFlags) |
|
|
8532
|
+
((state & 88) << 18) |
|
|
8533
|
+
100925440;
|
|
8534
|
+
value = parsePrimaryExpression(parser, context | 16384, 2, 0, 1, 0, 1, tokenPos, linePos, colPos);
|
|
8532
8535
|
if ((parser.token & 1073741824) !== 1073741824 ||
|
|
8533
8536
|
(parser.token & 4194304) === 4194304) {
|
|
8534
8537
|
value = parseMemberOrUpdateExpression(parser, context | 16384, value, 0, 0, tokenPos, linePos, colPos);
|
|
@@ -8736,7 +8739,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8736
8739
|
function parseJSXSpreadAttribute(parser, context, start, line, column) {
|
|
8737
8740
|
nextToken(parser, context);
|
|
8738
8741
|
consume(parser, context, 14);
|
|
8739
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8742
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8740
8743
|
consume(parser, context, 1074790415);
|
|
8741
8744
|
return finishNode(parser, context, start, line, column, {
|
|
8742
8745
|
type: 'JSXSpreadAttribute',
|
|
@@ -8796,7 +8799,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8796
8799
|
expression = parseJSXEmptyExpression(parser, context, parser.startPos, parser.startLine, parser.startColumn);
|
|
8797
8800
|
}
|
|
8798
8801
|
else {
|
|
8799
|
-
expression = parseExpression(parser, context, 1, 0,
|
|
8802
|
+
expression = parseExpression(parser, context, 1, 0, tokenPos, linePos, colPos);
|
|
8800
8803
|
}
|
|
8801
8804
|
if (inJSXChild) {
|
|
8802
8805
|
consume(parser, context, 1074790415);
|
|
@@ -8811,7 +8814,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8811
8814
|
}
|
|
8812
8815
|
function parseJSXSpreadChild(parser, context, start, line, column) {
|
|
8813
8816
|
consume(parser, context, 14);
|
|
8814
|
-
const expression = parseExpression(parser, context, 1, 0,
|
|
8817
|
+
const expression = parseExpression(parser, context, 1, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
8815
8818
|
consume(parser, context, 1074790415);
|
|
8816
8819
|
return finishNode(parser, context, start, line, column, {
|
|
8817
8820
|
type: 'JSXSpreadChild',
|
|
@@ -8840,7 +8843,7 @@ System.register('meriyah', [], (function (exports) {
|
|
|
8840
8843
|
});
|
|
8841
8844
|
exports('ESTree', estree);
|
|
8842
8845
|
|
|
8843
|
-
var version$1 = "4.4.
|
|
8846
|
+
var version$1 = "4.4.4";
|
|
8844
8847
|
|
|
8845
8848
|
const version = exports('version', version$1);
|
|
8846
8849
|
function parseScript(source, options) {
|