meriyah 7.0.0 → 7.1.0
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 +19 -0
- package/README.md +18 -1
- package/dist/meriyah.cjs +76 -38
- package/dist/meriyah.min.mjs +1 -1
- package/dist/meriyah.mjs +76 -39
- package/dist/meriyah.umd.js +76 -38
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/types/common.d.ts +4 -3
- package/dist/types/errors.d.ts +1 -0
- package/dist/types/meriyah.d.ts +1 -0
- package/dist/types/parser/parser.d.ts +3 -3
- package/dist/types/token.d.ts +3 -3
- package/package.json +1 -66
package/dist/meriyah.mjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
var version$1 = "7.
|
|
1
|
+
var version$1 = "7.1.0";
|
|
2
2
|
|
|
3
3
|
const unicodeLookup = ((compressed, lookup) => {
|
|
4
4
|
const result = new Uint32Array(69632);
|
|
@@ -805,6 +805,7 @@ class ParseError extends SyntaxError {
|
|
|
805
805
|
this.description = description;
|
|
806
806
|
}
|
|
807
807
|
}
|
|
808
|
+
const isParseError = (error) => error instanceof ParseError;
|
|
808
809
|
|
|
809
810
|
function getOwnProperty(object, key) {
|
|
810
811
|
return Object.hasOwn(object, key) ? object[key] : undefined;
|
|
@@ -2003,7 +2004,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2003
2004
|
advanceChar(parser);
|
|
2004
2005
|
if (parser.currentChar === 61) {
|
|
2005
2006
|
advanceChar(parser);
|
|
2006
|
-
return
|
|
2007
|
+
return 4718632;
|
|
2007
2008
|
}
|
|
2008
2009
|
return 8913465;
|
|
2009
2010
|
}
|
|
@@ -2046,7 +2047,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2046
2047
|
advanceChar(parser);
|
|
2047
2048
|
if (parser.currentChar === 61) {
|
|
2048
2049
|
advanceChar(parser);
|
|
2049
|
-
return
|
|
2050
|
+
return 4718633;
|
|
2050
2051
|
}
|
|
2051
2052
|
return 8913720;
|
|
2052
2053
|
}
|
|
@@ -2062,7 +2063,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
2062
2063
|
advanceChar(parser);
|
|
2063
2064
|
if (parser.currentChar === 61) {
|
|
2064
2065
|
advanceChar(parser);
|
|
2065
|
-
return
|
|
2066
|
+
return 4718634;
|
|
2066
2067
|
}
|
|
2067
2068
|
return 276824445;
|
|
2068
2069
|
}
|
|
@@ -4728,7 +4729,7 @@ class Parser {
|
|
|
4728
4729
|
currentChar = 0;
|
|
4729
4730
|
exportedNames = new Set();
|
|
4730
4731
|
exportedBindings = new Set();
|
|
4731
|
-
assignable =
|
|
4732
|
+
assignable = 0;
|
|
4732
4733
|
destructible = 0;
|
|
4733
4734
|
leadingDecorators = { decorators: [] };
|
|
4734
4735
|
constructor(source, rawOptions = {}) {
|
|
@@ -6017,6 +6018,8 @@ function parseAssignmentExpression(parser, context, privateScope, inGroup, isPat
|
|
|
6017
6018
|
if ((token & 4194304) === 4194304) {
|
|
6018
6019
|
if (parser.assignable & 2)
|
|
6019
6020
|
parser.report(26);
|
|
6021
|
+
if ((token & 524288) === 524288 && parser.assignable & 4)
|
|
6022
|
+
parser.report(26);
|
|
6020
6023
|
if ((!isPattern && token === 1077936155 && left.type === 'ArrayExpression') ||
|
|
6021
6024
|
left.type === 'ObjectExpression') {
|
|
6022
6025
|
reinterpretToPattern(parser, left);
|
|
@@ -6382,7 +6385,12 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6382
6385
|
parser.flags = (parser.flags | 2048) ^ 2048;
|
|
6383
6386
|
}
|
|
6384
6387
|
const args = parseArguments(parser, context, privateScope, inGroup);
|
|
6385
|
-
parser.
|
|
6388
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
6389
|
+
parser.assignable = 4;
|
|
6390
|
+
}
|
|
6391
|
+
else {
|
|
6392
|
+
parser.assignable = 2;
|
|
6393
|
+
}
|
|
6386
6394
|
expr = parser.finishNode({
|
|
6387
6395
|
type: 'CallExpression',
|
|
6388
6396
|
callee: expr,
|
|
@@ -6450,7 +6458,12 @@ function parseOptionalChain(parser, context, privateScope, expr, start) {
|
|
|
6450
6458
|
}
|
|
6451
6459
|
else if (parser.getToken() === 67174411) {
|
|
6452
6460
|
const args = parseArguments(parser, context, privateScope, 0);
|
|
6453
|
-
parser.
|
|
6461
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
6462
|
+
parser.assignable = 4;
|
|
6463
|
+
}
|
|
6464
|
+
else {
|
|
6465
|
+
parser.assignable = 2;
|
|
6466
|
+
}
|
|
6454
6467
|
node = parser.finishNode({
|
|
6455
6468
|
type: 'CallExpression',
|
|
6456
6469
|
callee: expr,
|
|
@@ -7055,9 +7068,9 @@ function parseArrayExpressionOrPattern(parser, context, scope, privateScope, ski
|
|
|
7055
7068
|
}
|
|
7056
7069
|
else if (parser.getToken() !== 1077936155) {
|
|
7057
7070
|
destructible |=
|
|
7058
|
-
parser.assignable &
|
|
7059
|
-
?
|
|
7060
|
-
:
|
|
7071
|
+
parser.assignable & 1
|
|
7072
|
+
? 32
|
|
7073
|
+
: 16;
|
|
7061
7074
|
}
|
|
7062
7075
|
}
|
|
7063
7076
|
}
|
|
@@ -7087,9 +7100,9 @@ function parseArrayExpressionOrPattern(parser, context, scope, privateScope, ski
|
|
|
7087
7100
|
}
|
|
7088
7101
|
else if (parser.getToken() !== 1077936155) {
|
|
7089
7102
|
destructible |=
|
|
7090
|
-
parser.assignable &
|
|
7091
|
-
?
|
|
7092
|
-
:
|
|
7103
|
+
parser.assignable & 1
|
|
7104
|
+
? 32
|
|
7105
|
+
: 16;
|
|
7093
7106
|
}
|
|
7094
7107
|
}
|
|
7095
7108
|
}
|
|
@@ -7206,7 +7219,7 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
7206
7219
|
if (parser.destructible & 8)
|
|
7207
7220
|
parser.report(71);
|
|
7208
7221
|
argument = parseMemberOrUpdateExpression(parser, context, privateScope, argument, inGroup, 0, tokenStart);
|
|
7209
|
-
destructible |= parser.assignable &
|
|
7222
|
+
destructible |= parser.assignable & 1 ? 0 : 16;
|
|
7210
7223
|
if ((parser.getToken() & 4194304) === 4194304) {
|
|
7211
7224
|
if (parser.getToken() !== 1077936155)
|
|
7212
7225
|
destructible |= 16;
|
|
@@ -7220,9 +7233,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
7220
7233
|
argument = parseConditionalExpression(parser, context, privateScope, argument, tokenStart);
|
|
7221
7234
|
}
|
|
7222
7235
|
destructible |=
|
|
7223
|
-
parser.assignable &
|
|
7224
|
-
?
|
|
7225
|
-
:
|
|
7236
|
+
parser.assignable & 1
|
|
7237
|
+
? 32
|
|
7238
|
+
: 16;
|
|
7226
7239
|
}
|
|
7227
7240
|
}
|
|
7228
7241
|
else {
|
|
@@ -7251,7 +7264,9 @@ function parseSpreadOrRestElement(parser, context, scope, privateScope, closingT
|
|
|
7251
7264
|
argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);
|
|
7252
7265
|
}
|
|
7253
7266
|
destructible |=
|
|
7254
|
-
parser.assignable & 1
|
|
7267
|
+
parser.assignable & 1
|
|
7268
|
+
? 32
|
|
7269
|
+
: 16;
|
|
7255
7270
|
}
|
|
7256
7271
|
parser.destructible = destructible;
|
|
7257
7272
|
if (parser.getToken() !== closingToken && parser.getToken() !== 18)
|
|
@@ -7443,7 +7458,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7443
7458
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7444
7459
|
destructible = parser.destructible;
|
|
7445
7460
|
parser.assignable =
|
|
7446
|
-
destructible & 16
|
|
7461
|
+
destructible & 16
|
|
7462
|
+
? 2
|
|
7463
|
+
: 1;
|
|
7447
7464
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7448
7465
|
if (parser.assignable & 2)
|
|
7449
7466
|
destructible |= 16;
|
|
@@ -7465,9 +7482,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7465
7482
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7466
7483
|
}
|
|
7467
7484
|
destructible |=
|
|
7468
|
-
parser.assignable &
|
|
7469
|
-
?
|
|
7470
|
-
:
|
|
7485
|
+
parser.assignable & 1
|
|
7486
|
+
? 32
|
|
7487
|
+
: 16;
|
|
7471
7488
|
}
|
|
7472
7489
|
}
|
|
7473
7490
|
}
|
|
@@ -7624,7 +7641,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7624
7641
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7625
7642
|
destructible = parser.destructible;
|
|
7626
7643
|
parser.assignable =
|
|
7627
|
-
destructible & 16
|
|
7644
|
+
destructible & 16
|
|
7645
|
+
? 2
|
|
7646
|
+
: 1;
|
|
7628
7647
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7629
7648
|
if (parser.assignable & 2) {
|
|
7630
7649
|
destructible |= 16;
|
|
@@ -7644,9 +7663,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7644
7663
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7645
7664
|
}
|
|
7646
7665
|
destructible |=
|
|
7647
|
-
parser.assignable &
|
|
7648
|
-
?
|
|
7649
|
-
:
|
|
7666
|
+
parser.assignable & 1
|
|
7667
|
+
? 32
|
|
7668
|
+
: 16;
|
|
7650
7669
|
}
|
|
7651
7670
|
}
|
|
7652
7671
|
}
|
|
@@ -7675,7 +7694,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7675
7694
|
else if (parser.getToken() === 67174411) {
|
|
7676
7695
|
state |= 1;
|
|
7677
7696
|
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
|
|
7678
|
-
destructible =
|
|
7697
|
+
destructible = 16;
|
|
7679
7698
|
}
|
|
7680
7699
|
else {
|
|
7681
7700
|
parser.report(134);
|
|
@@ -7695,11 +7714,11 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7695
7714
|
value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);
|
|
7696
7715
|
if ((parser.getToken() & 4194304) === 4194304) {
|
|
7697
7716
|
destructible |=
|
|
7698
|
-
parser.assignable &
|
|
7699
|
-
?
|
|
7700
|
-
: token === 1077936155
|
|
7717
|
+
parser.assignable & 1
|
|
7718
|
+
? token === 1077936155
|
|
7701
7719
|
? 0
|
|
7702
|
-
: 32
|
|
7720
|
+
: 32
|
|
7721
|
+
: 16;
|
|
7703
7722
|
value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);
|
|
7704
7723
|
}
|
|
7705
7724
|
else if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
@@ -7730,7 +7749,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7730
7749
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7731
7750
|
destructible = parser.destructible;
|
|
7732
7751
|
parser.assignable =
|
|
7733
|
-
destructible & 16
|
|
7752
|
+
destructible & 16
|
|
7753
|
+
? 2
|
|
7754
|
+
: 1;
|
|
7734
7755
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7735
7756
|
if (parser.assignable & 2)
|
|
7736
7757
|
destructible |= 16;
|
|
@@ -7755,9 +7776,9 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7755
7776
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7756
7777
|
}
|
|
7757
7778
|
destructible |=
|
|
7758
|
-
parser.assignable &
|
|
7759
|
-
?
|
|
7760
|
-
:
|
|
7779
|
+
parser.assignable & 1
|
|
7780
|
+
? 32
|
|
7781
|
+
: 16;
|
|
7761
7782
|
}
|
|
7762
7783
|
}
|
|
7763
7784
|
}
|
|
@@ -8362,6 +8383,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8362
8383
|
parser.report(48);
|
|
8363
8384
|
return parseParenthesizedArrow(parser, context, scope, privateScope, [], canAssign, 1, start);
|
|
8364
8385
|
}
|
|
8386
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8387
|
+
parser.assignable = 4;
|
|
8388
|
+
}
|
|
8389
|
+
else {
|
|
8390
|
+
parser.assignable = 2;
|
|
8391
|
+
}
|
|
8365
8392
|
return parser.finishNode({
|
|
8366
8393
|
type: 'CallExpression',
|
|
8367
8394
|
callee,
|
|
@@ -8435,7 +8462,7 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8435
8462
|
}
|
|
8436
8463
|
else {
|
|
8437
8464
|
expr = parseExpression(parser, context, privateScope, 1, 0, tokenStart);
|
|
8438
|
-
destructible =
|
|
8465
|
+
destructible = 0;
|
|
8439
8466
|
params.push(expr);
|
|
8440
8467
|
while (consumeOpt(parser, context | 32, 18)) {
|
|
8441
8468
|
params.push(parseExpression(parser, context, privateScope, 1, 0, tokenStart));
|
|
@@ -8443,7 +8470,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8443
8470
|
destructible |= parser.assignable;
|
|
8444
8471
|
consume(parser, context, 16);
|
|
8445
8472
|
parser.destructible = destructible | 16;
|
|
8446
|
-
parser.
|
|
8473
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8474
|
+
parser.assignable = 4;
|
|
8475
|
+
}
|
|
8476
|
+
else {
|
|
8477
|
+
parser.assignable = 2;
|
|
8478
|
+
}
|
|
8447
8479
|
return parser.finishNode({
|
|
8448
8480
|
type: 'CallExpression',
|
|
8449
8481
|
callee,
|
|
@@ -8481,7 +8513,12 @@ function parseAsyncArrowOrCallExpression(parser, context, privateScope, callee,
|
|
|
8481
8513
|
if (destructible & 8) {
|
|
8482
8514
|
parser.report(62);
|
|
8483
8515
|
}
|
|
8484
|
-
parser.
|
|
8516
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8517
|
+
parser.assignable = 4;
|
|
8518
|
+
}
|
|
8519
|
+
else {
|
|
8520
|
+
parser.assignable = 2;
|
|
8521
|
+
}
|
|
8485
8522
|
return parser.finishNode({
|
|
8486
8523
|
type: 'CallExpression',
|
|
8487
8524
|
callee,
|
|
@@ -9205,4 +9242,4 @@ function parse(source, options) {
|
|
|
9205
9242
|
return parseSource(source, options);
|
|
9206
9243
|
}
|
|
9207
9244
|
|
|
9208
|
-
export { parse, parseModule, parseScript, version };
|
|
9245
|
+
export { isParseError, parse, parseModule, parseScript, version };
|
package/dist/meriyah.umd.js
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global.meriyah = {}));
|
|
5
5
|
})(this, (function (exports) { 'use strict';
|
|
6
6
|
|
|
7
|
-
var version$1 = "7.
|
|
7
|
+
var version$1 = "7.1.0";
|
|
8
8
|
|
|
9
9
|
const unicodeLookup = ((compressed, lookup) => {
|
|
10
10
|
const result = new Uint32Array(69632);
|
|
@@ -811,6 +811,7 @@
|
|
|
811
811
|
this.description = description;
|
|
812
812
|
}
|
|
813
813
|
}
|
|
814
|
+
const isParseError = (error) => error instanceof ParseError;
|
|
814
815
|
|
|
815
816
|
function getOwnProperty(object, key) {
|
|
816
817
|
return Object.hasOwn(object, key) ? object[key] : undefined;
|
|
@@ -2009,7 +2010,7 @@
|
|
|
2009
2010
|
advanceChar(parser);
|
|
2010
2011
|
if (parser.currentChar === 61) {
|
|
2011
2012
|
advanceChar(parser);
|
|
2012
|
-
return
|
|
2013
|
+
return 4718632;
|
|
2013
2014
|
}
|
|
2014
2015
|
return 8913465;
|
|
2015
2016
|
}
|
|
@@ -2052,7 +2053,7 @@
|
|
|
2052
2053
|
advanceChar(parser);
|
|
2053
2054
|
if (parser.currentChar === 61) {
|
|
2054
2055
|
advanceChar(parser);
|
|
2055
|
-
return
|
|
2056
|
+
return 4718633;
|
|
2056
2057
|
}
|
|
2057
2058
|
return 8913720;
|
|
2058
2059
|
}
|
|
@@ -2068,7 +2069,7 @@
|
|
|
2068
2069
|
advanceChar(parser);
|
|
2069
2070
|
if (parser.currentChar === 61) {
|
|
2070
2071
|
advanceChar(parser);
|
|
2071
|
-
return
|
|
2072
|
+
return 4718634;
|
|
2072
2073
|
}
|
|
2073
2074
|
return 276824445;
|
|
2074
2075
|
}
|
|
@@ -4734,7 +4735,7 @@
|
|
|
4734
4735
|
currentChar = 0;
|
|
4735
4736
|
exportedNames = new Set();
|
|
4736
4737
|
exportedBindings = new Set();
|
|
4737
|
-
assignable =
|
|
4738
|
+
assignable = 0;
|
|
4738
4739
|
destructible = 0;
|
|
4739
4740
|
leadingDecorators = { decorators: [] };
|
|
4740
4741
|
constructor(source, rawOptions = {}) {
|
|
@@ -6023,6 +6024,8 @@
|
|
|
6023
6024
|
if ((token & 4194304) === 4194304) {
|
|
6024
6025
|
if (parser.assignable & 2)
|
|
6025
6026
|
parser.report(26);
|
|
6027
|
+
if ((token & 524288) === 524288 && parser.assignable & 4)
|
|
6028
|
+
parser.report(26);
|
|
6026
6029
|
if ((!isPattern && token === 1077936155 && left.type === 'ArrayExpression') ||
|
|
6027
6030
|
left.type === 'ObjectExpression') {
|
|
6028
6031
|
reinterpretToPattern(parser, left);
|
|
@@ -6388,7 +6391,12 @@
|
|
|
6388
6391
|
parser.flags = (parser.flags | 2048) ^ 2048;
|
|
6389
6392
|
}
|
|
6390
6393
|
const args = parseArguments(parser, context, privateScope, inGroup);
|
|
6391
|
-
parser.
|
|
6394
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
6395
|
+
parser.assignable = 4;
|
|
6396
|
+
}
|
|
6397
|
+
else {
|
|
6398
|
+
parser.assignable = 2;
|
|
6399
|
+
}
|
|
6392
6400
|
expr = parser.finishNode({
|
|
6393
6401
|
type: 'CallExpression',
|
|
6394
6402
|
callee: expr,
|
|
@@ -6456,7 +6464,12 @@
|
|
|
6456
6464
|
}
|
|
6457
6465
|
else if (parser.getToken() === 67174411) {
|
|
6458
6466
|
const args = parseArguments(parser, context, privateScope, 0);
|
|
6459
|
-
parser.
|
|
6467
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
6468
|
+
parser.assignable = 4;
|
|
6469
|
+
}
|
|
6470
|
+
else {
|
|
6471
|
+
parser.assignable = 2;
|
|
6472
|
+
}
|
|
6460
6473
|
node = parser.finishNode({
|
|
6461
6474
|
type: 'CallExpression',
|
|
6462
6475
|
callee: expr,
|
|
@@ -7061,9 +7074,9 @@
|
|
|
7061
7074
|
}
|
|
7062
7075
|
else if (parser.getToken() !== 1077936155) {
|
|
7063
7076
|
destructible |=
|
|
7064
|
-
parser.assignable &
|
|
7065
|
-
?
|
|
7066
|
-
:
|
|
7077
|
+
parser.assignable & 1
|
|
7078
|
+
? 32
|
|
7079
|
+
: 16;
|
|
7067
7080
|
}
|
|
7068
7081
|
}
|
|
7069
7082
|
}
|
|
@@ -7093,9 +7106,9 @@
|
|
|
7093
7106
|
}
|
|
7094
7107
|
else if (parser.getToken() !== 1077936155) {
|
|
7095
7108
|
destructible |=
|
|
7096
|
-
parser.assignable &
|
|
7097
|
-
?
|
|
7098
|
-
:
|
|
7109
|
+
parser.assignable & 1
|
|
7110
|
+
? 32
|
|
7111
|
+
: 16;
|
|
7099
7112
|
}
|
|
7100
7113
|
}
|
|
7101
7114
|
}
|
|
@@ -7212,7 +7225,7 @@
|
|
|
7212
7225
|
if (parser.destructible & 8)
|
|
7213
7226
|
parser.report(71);
|
|
7214
7227
|
argument = parseMemberOrUpdateExpression(parser, context, privateScope, argument, inGroup, 0, tokenStart);
|
|
7215
|
-
destructible |= parser.assignable &
|
|
7228
|
+
destructible |= parser.assignable & 1 ? 0 : 16;
|
|
7216
7229
|
if ((parser.getToken() & 4194304) === 4194304) {
|
|
7217
7230
|
if (parser.getToken() !== 1077936155)
|
|
7218
7231
|
destructible |= 16;
|
|
@@ -7226,9 +7239,9 @@
|
|
|
7226
7239
|
argument = parseConditionalExpression(parser, context, privateScope, argument, tokenStart);
|
|
7227
7240
|
}
|
|
7228
7241
|
destructible |=
|
|
7229
|
-
parser.assignable &
|
|
7230
|
-
?
|
|
7231
|
-
:
|
|
7242
|
+
parser.assignable & 1
|
|
7243
|
+
? 32
|
|
7244
|
+
: 16;
|
|
7232
7245
|
}
|
|
7233
7246
|
}
|
|
7234
7247
|
else {
|
|
@@ -7257,7 +7270,9 @@
|
|
|
7257
7270
|
argument = parseAssignmentExpression(parser, context, privateScope, inGroup, isPattern, tokenStart, argument);
|
|
7258
7271
|
}
|
|
7259
7272
|
destructible |=
|
|
7260
|
-
parser.assignable & 1
|
|
7273
|
+
parser.assignable & 1
|
|
7274
|
+
? 32
|
|
7275
|
+
: 16;
|
|
7261
7276
|
}
|
|
7262
7277
|
parser.destructible = destructible;
|
|
7263
7278
|
if (parser.getToken() !== closingToken && parser.getToken() !== 18)
|
|
@@ -7449,7 +7464,9 @@
|
|
|
7449
7464
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7450
7465
|
destructible = parser.destructible;
|
|
7451
7466
|
parser.assignable =
|
|
7452
|
-
destructible & 16
|
|
7467
|
+
destructible & 16
|
|
7468
|
+
? 2
|
|
7469
|
+
: 1;
|
|
7453
7470
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7454
7471
|
if (parser.assignable & 2)
|
|
7455
7472
|
destructible |= 16;
|
|
@@ -7471,9 +7488,9 @@
|
|
|
7471
7488
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7472
7489
|
}
|
|
7473
7490
|
destructible |=
|
|
7474
|
-
parser.assignable &
|
|
7475
|
-
?
|
|
7476
|
-
:
|
|
7491
|
+
parser.assignable & 1
|
|
7492
|
+
? 32
|
|
7493
|
+
: 16;
|
|
7477
7494
|
}
|
|
7478
7495
|
}
|
|
7479
7496
|
}
|
|
@@ -7630,7 +7647,9 @@
|
|
|
7630
7647
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7631
7648
|
destructible = parser.destructible;
|
|
7632
7649
|
parser.assignable =
|
|
7633
|
-
destructible & 16
|
|
7650
|
+
destructible & 16
|
|
7651
|
+
? 2
|
|
7652
|
+
: 1;
|
|
7634
7653
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7635
7654
|
if (parser.assignable & 2) {
|
|
7636
7655
|
destructible |= 16;
|
|
@@ -7650,9 +7669,9 @@
|
|
|
7650
7669
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7651
7670
|
}
|
|
7652
7671
|
destructible |=
|
|
7653
|
-
parser.assignable &
|
|
7654
|
-
?
|
|
7655
|
-
:
|
|
7672
|
+
parser.assignable & 1
|
|
7673
|
+
? 32
|
|
7674
|
+
: 16;
|
|
7656
7675
|
}
|
|
7657
7676
|
}
|
|
7658
7677
|
}
|
|
@@ -7681,7 +7700,7 @@
|
|
|
7681
7700
|
else if (parser.getToken() === 67174411) {
|
|
7682
7701
|
state |= 1;
|
|
7683
7702
|
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
|
|
7684
|
-
destructible =
|
|
7703
|
+
destructible = 16;
|
|
7685
7704
|
}
|
|
7686
7705
|
else {
|
|
7687
7706
|
parser.report(134);
|
|
@@ -7701,11 +7720,11 @@
|
|
|
7701
7720
|
value = parseMemberOrUpdateExpression(parser, context, privateScope, value, inGroup, 0, tokenStart);
|
|
7702
7721
|
if ((parser.getToken() & 4194304) === 4194304) {
|
|
7703
7722
|
destructible |=
|
|
7704
|
-
parser.assignable &
|
|
7705
|
-
?
|
|
7706
|
-
: token === 1077936155
|
|
7723
|
+
parser.assignable & 1
|
|
7724
|
+
? token === 1077936155
|
|
7707
7725
|
? 0
|
|
7708
|
-
: 32
|
|
7726
|
+
: 32
|
|
7727
|
+
: 16;
|
|
7709
7728
|
value = parseAssignmentExpressionOrPattern(parser, context, privateScope, inGroup, isPattern, tokenStart, value);
|
|
7710
7729
|
}
|
|
7711
7730
|
else if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
@@ -7736,7 +7755,9 @@
|
|
|
7736
7755
|
: parseObjectLiteralOrPattern(parser, context, scope, privateScope, 0, inGroup, isPattern, kind, origin);
|
|
7737
7756
|
destructible = parser.destructible;
|
|
7738
7757
|
parser.assignable =
|
|
7739
|
-
destructible & 16
|
|
7758
|
+
destructible & 16
|
|
7759
|
+
? 2
|
|
7760
|
+
: 1;
|
|
7740
7761
|
if (parser.getToken() === 18 || parser.getToken() === 1074790415) {
|
|
7741
7762
|
if (parser.assignable & 2)
|
|
7742
7763
|
destructible |= 16;
|
|
@@ -7761,9 +7782,9 @@
|
|
|
7761
7782
|
value = parseConditionalExpression(parser, context, privateScope, value, tokenStart);
|
|
7762
7783
|
}
|
|
7763
7784
|
destructible |=
|
|
7764
|
-
parser.assignable &
|
|
7765
|
-
?
|
|
7766
|
-
:
|
|
7785
|
+
parser.assignable & 1
|
|
7786
|
+
? 32
|
|
7787
|
+
: 16;
|
|
7767
7788
|
}
|
|
7768
7789
|
}
|
|
7769
7790
|
}
|
|
@@ -8368,6 +8389,12 @@
|
|
|
8368
8389
|
parser.report(48);
|
|
8369
8390
|
return parseParenthesizedArrow(parser, context, scope, privateScope, [], canAssign, 1, start);
|
|
8370
8391
|
}
|
|
8392
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8393
|
+
parser.assignable = 4;
|
|
8394
|
+
}
|
|
8395
|
+
else {
|
|
8396
|
+
parser.assignable = 2;
|
|
8397
|
+
}
|
|
8371
8398
|
return parser.finishNode({
|
|
8372
8399
|
type: 'CallExpression',
|
|
8373
8400
|
callee,
|
|
@@ -8441,7 +8468,7 @@
|
|
|
8441
8468
|
}
|
|
8442
8469
|
else {
|
|
8443
8470
|
expr = parseExpression(parser, context, privateScope, 1, 0, tokenStart);
|
|
8444
|
-
destructible =
|
|
8471
|
+
destructible = 0;
|
|
8445
8472
|
params.push(expr);
|
|
8446
8473
|
while (consumeOpt(parser, context | 32, 18)) {
|
|
8447
8474
|
params.push(parseExpression(parser, context, privateScope, 1, 0, tokenStart));
|
|
@@ -8449,7 +8476,12 @@
|
|
|
8449
8476
|
destructible |= parser.assignable;
|
|
8450
8477
|
consume(parser, context, 16);
|
|
8451
8478
|
parser.destructible = destructible | 16;
|
|
8452
|
-
parser.
|
|
8479
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8480
|
+
parser.assignable = 4;
|
|
8481
|
+
}
|
|
8482
|
+
else {
|
|
8483
|
+
parser.assignable = 2;
|
|
8484
|
+
}
|
|
8453
8485
|
return parser.finishNode({
|
|
8454
8486
|
type: 'CallExpression',
|
|
8455
8487
|
callee,
|
|
@@ -8487,7 +8519,12 @@
|
|
|
8487
8519
|
if (destructible & 8) {
|
|
8488
8520
|
parser.report(62);
|
|
8489
8521
|
}
|
|
8490
|
-
parser.
|
|
8522
|
+
if (!(context & 1) && parser.options.webcompat) {
|
|
8523
|
+
parser.assignable = 4;
|
|
8524
|
+
}
|
|
8525
|
+
else {
|
|
8526
|
+
parser.assignable = 2;
|
|
8527
|
+
}
|
|
8491
8528
|
return parser.finishNode({
|
|
8492
8529
|
type: 'CallExpression',
|
|
8493
8530
|
callee,
|
|
@@ -9211,6 +9248,7 @@
|
|
|
9211
9248
|
return parseSource(source, options);
|
|
9212
9249
|
}
|
|
9213
9250
|
|
|
9251
|
+
exports.isParseError = isParseError;
|
|
9214
9252
|
exports.parse = parse;
|
|
9215
9253
|
exports.parseModule = parseModule;
|
|
9216
9254
|
exports.parseScript = parseScript;
|