meriyah 4.2.0 → 4.3.1
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 +40 -0
- package/README.md +2 -1
- package/dist/meriyah.amd.js +119 -81
- package/dist/meriyah.amd.min.js +1 -1
- package/dist/meriyah.cjs +117 -79
- package/dist/meriyah.cjs.js +117 -79
- package/dist/meriyah.cjs.min.js +1 -1
- package/dist/meriyah.esm.js +117 -79
- package/dist/meriyah.esm.min.js +1 -1
- package/dist/meriyah.esm.min.mjs +1 -0
- package/dist/meriyah.esm.mjs +8820 -0
- package/dist/meriyah.iife.js +118 -80
- package/dist/meriyah.iife.min.js +1 -1
- package/dist/meriyah.min.cjs +1 -1
- package/dist/meriyah.system.js +121 -83
- package/dist/meriyah.system.min.js +1 -1
- package/dist/meriyah.umd.cjs +119 -81
- package/dist/meriyah.umd.es5.js +131 -89
- package/dist/meriyah.umd.es5.min.js +1 -15
- package/dist/meriyah.umd.js +119 -81
- package/dist/meriyah.umd.min.cjs +1 -1
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/src/estree.d.ts +9 -4
- package/dist/src/estree.d.ts.map +1 -1
- package/dist/src/lexer/identifier.d.ts.map +1 -1
- package/dist/src/lexer/regexp.d.ts.map +1 -1
- package/dist/src/parser.d.ts +1 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/dist/src/token.d.ts +2 -2
- package/package.json +25 -30
- package/src/estree.ts +11 -3
- package/src/lexer/identifier.ts +33 -14
- package/src/lexer/numeric.ts +7 -7
- package/src/lexer/regexp.ts +22 -9
- package/src/lexer/scan.ts +1 -1
- package/src/parser.ts +89 -52
- package/src/token.ts +3 -3
package/dist/meriyah.system.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
System.register('meriyah', [], function (exports) {
|
|
1
|
+
System.register('meriyah', [], (function (exports) {
|
|
2
2
|
'use strict';
|
|
3
3
|
return {
|
|
4
|
-
execute: function () {
|
|
4
|
+
execute: (function () {
|
|
5
5
|
|
|
6
6
|
exports({
|
|
7
7
|
parse: parse,
|
|
@@ -874,7 +874,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
874
874
|
break;
|
|
875
875
|
case 117:
|
|
876
876
|
if (mask & 16)
|
|
877
|
-
report(parser, 34, '
|
|
877
|
+
report(parser, 34, 'u');
|
|
878
878
|
mask |= 16;
|
|
879
879
|
break;
|
|
880
880
|
case 121:
|
|
@@ -883,9 +883,14 @@ System.register('meriyah', [], function (exports) {
|
|
|
883
883
|
mask |= 8;
|
|
884
884
|
break;
|
|
885
885
|
case 115:
|
|
886
|
-
if (mask &
|
|
886
|
+
if (mask & 32)
|
|
887
887
|
report(parser, 34, 's');
|
|
888
|
-
mask |=
|
|
888
|
+
mask |= 32;
|
|
889
|
+
break;
|
|
890
|
+
case 100:
|
|
891
|
+
if (mask & 64)
|
|
892
|
+
report(parser, 34, 'd');
|
|
893
|
+
mask |= 64;
|
|
889
894
|
break;
|
|
890
895
|
default:
|
|
891
896
|
report(parser, 33);
|
|
@@ -905,7 +910,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
905
910
|
return new RegExp(pattern, flags);
|
|
906
911
|
}
|
|
907
912
|
catch (e) {
|
|
908
|
-
|
|
913
|
+
try {
|
|
914
|
+
new RegExp(pattern, flags.replace('d', ''));
|
|
915
|
+
return null;
|
|
916
|
+
}
|
|
917
|
+
catch (e) {
|
|
918
|
+
report(parser, 32);
|
|
919
|
+
}
|
|
909
920
|
}
|
|
910
921
|
}
|
|
911
922
|
|
|
@@ -1216,8 +1227,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1216
1227
|
digits++;
|
|
1217
1228
|
char = advanceChar(parser);
|
|
1218
1229
|
}
|
|
1219
|
-
if (digits
|
|
1220
|
-
report(parser, digits
|
|
1230
|
+
if (digits === 0 || !allowSeparator) {
|
|
1231
|
+
report(parser, digits === 0 ? 19 : 147);
|
|
1221
1232
|
}
|
|
1222
1233
|
}
|
|
1223
1234
|
else if ((char | 32) === 111) {
|
|
@@ -1237,8 +1248,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1237
1248
|
digits++;
|
|
1238
1249
|
char = advanceChar(parser);
|
|
1239
1250
|
}
|
|
1240
|
-
if (digits
|
|
1241
|
-
report(parser, digits
|
|
1251
|
+
if (digits === 0 || !allowSeparator) {
|
|
1252
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1242
1253
|
}
|
|
1243
1254
|
}
|
|
1244
1255
|
else if ((char | 32) === 98) {
|
|
@@ -1258,8 +1269,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1258
1269
|
digits++;
|
|
1259
1270
|
char = advanceChar(parser);
|
|
1260
1271
|
}
|
|
1261
|
-
if (digits
|
|
1262
|
-
report(parser, digits
|
|
1272
|
+
if (digits === 0 || !allowSeparator) {
|
|
1273
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1263
1274
|
}
|
|
1264
1275
|
}
|
|
1265
1276
|
else if (CharTypes[char] & 32) {
|
|
@@ -1335,7 +1346,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1335
1346
|
if (CharTypes[char] & 256)
|
|
1336
1347
|
char = advanceChar(parser);
|
|
1337
1348
|
const { index } = parser;
|
|
1338
|
-
if ((CharTypes[char] & 16)
|
|
1349
|
+
if ((CharTypes[char] & 16) === 0)
|
|
1339
1350
|
report(parser, 10);
|
|
1340
1351
|
value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);
|
|
1341
1352
|
char = parser.currentChar;
|
|
@@ -1509,14 +1520,28 @@ System.register('meriyah', [], function (exports) {
|
|
|
1509
1520
|
return 208897;
|
|
1510
1521
|
if (!hasEscape)
|
|
1511
1522
|
return token;
|
|
1523
|
+
if (token === 209008) {
|
|
1524
|
+
if ((context & (2048 | 4194304)) === 0) {
|
|
1525
|
+
return token;
|
|
1526
|
+
}
|
|
1527
|
+
return 121;
|
|
1528
|
+
}
|
|
1512
1529
|
if (context & 1024) {
|
|
1513
|
-
|
|
1514
|
-
|
|
1515
|
-
|
|
1516
|
-
|
|
1517
|
-
|
|
1518
|
-
|
|
1519
|
-
|
|
1530
|
+
if (token === 36972) {
|
|
1531
|
+
return 122;
|
|
1532
|
+
}
|
|
1533
|
+
if ((token & 36864) === 36864) {
|
|
1534
|
+
return 122;
|
|
1535
|
+
}
|
|
1536
|
+
if ((token & 20480) === 20480) {
|
|
1537
|
+
if (context & 1073741824 && (context & 8192) === 0) {
|
|
1538
|
+
return token;
|
|
1539
|
+
}
|
|
1540
|
+
else {
|
|
1541
|
+
return 121;
|
|
1542
|
+
}
|
|
1543
|
+
}
|
|
1544
|
+
return 143483;
|
|
1520
1545
|
}
|
|
1521
1546
|
if (context & 1073741824 &&
|
|
1522
1547
|
(context & 8192) === 0 &&
|
|
@@ -1529,13 +1554,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
1529
1554
|
? 121
|
|
1530
1555
|
: token;
|
|
1531
1556
|
}
|
|
1532
|
-
|
|
1533
|
-
|
|
1534
|
-
|
|
1535
|
-
|
|
1536
|
-
|
|
1537
|
-
|
|
1538
|
-
|
|
1557
|
+
if (token === 209007) {
|
|
1558
|
+
return 143483;
|
|
1559
|
+
}
|
|
1560
|
+
if ((token & 36864) === 36864) {
|
|
1561
|
+
return token;
|
|
1562
|
+
}
|
|
1563
|
+
return 121;
|
|
1539
1564
|
}
|
|
1540
1565
|
return 208897;
|
|
1541
1566
|
}
|
|
@@ -1798,7 +1823,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1798
1823
|
}
|
|
1799
1824
|
else if (ch === 61) {
|
|
1800
1825
|
advanceChar(parser);
|
|
1801
|
-
return
|
|
1826
|
+
return 8456256;
|
|
1802
1827
|
}
|
|
1803
1828
|
if (ch === 33) {
|
|
1804
1829
|
const index = parser.index + 1;
|
|
@@ -1816,7 +1841,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1816
1841
|
return 8456258;
|
|
1817
1842
|
}
|
|
1818
1843
|
if (ch === 47) {
|
|
1819
|
-
if ((context & 16)
|
|
1844
|
+
if ((context & 16) === 0)
|
|
1820
1845
|
return 8456258;
|
|
1821
1846
|
const index = parser.index + 1;
|
|
1822
1847
|
if (index < parser.end) {
|
|
@@ -1981,7 +2006,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1981
2006
|
const ch = parser.currentChar;
|
|
1982
2007
|
if (ch === 61) {
|
|
1983
2008
|
advanceChar(parser);
|
|
1984
|
-
return
|
|
2009
|
+
return 8456257;
|
|
1985
2010
|
}
|
|
1986
2011
|
if (ch !== 62)
|
|
1987
2012
|
return 8456259;
|
|
@@ -4922,7 +4947,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
4922
4947
|
case 86106:
|
|
4923
4948
|
report(parser, context & 1024
|
|
4924
4949
|
? 73
|
|
4925
|
-
: (context & 256)
|
|
4950
|
+
: (context & 256) === 0
|
|
4926
4951
|
? 75
|
|
4927
4952
|
: 74);
|
|
4928
4953
|
case 86096:
|
|
@@ -4968,12 +4993,12 @@ System.register('meriyah', [], function (exports) {
|
|
|
4968
4993
|
});
|
|
4969
4994
|
}
|
|
4970
4995
|
function parseReturnStatement(parser, context, start, line, column) {
|
|
4971
|
-
if ((context & 32)
|
|
4996
|
+
if ((context & 32) === 0 && context & 8192)
|
|
4972
4997
|
report(parser, 89);
|
|
4973
4998
|
nextToken(parser, context | 32768);
|
|
4974
4999
|
const argument = parser.flags & 1 || parser.token & 1048576
|
|
4975
5000
|
? null
|
|
4976
|
-
: parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.
|
|
5001
|
+
: parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
4977
5002
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
4978
5003
|
return finishNode(parser, context, start, line, column, {
|
|
4979
5004
|
type: 'ReturnStatement',
|
|
@@ -4992,7 +5017,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
4992
5017
|
validateAndDeclareLabel(parser, labels, value);
|
|
4993
5018
|
nextToken(parser, context | 32768);
|
|
4994
5019
|
const body = allowFuncDecl &&
|
|
4995
|
-
(context & 1024)
|
|
5020
|
+
(context & 1024) === 0 &&
|
|
4996
5021
|
context & 256 &&
|
|
4997
5022
|
parser.token === 86106
|
|
4998
5023
|
? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
@@ -5101,7 +5126,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5101
5126
|
}
|
|
5102
5127
|
function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {
|
|
5103
5128
|
return context & 1024 ||
|
|
5104
|
-
(context & 256)
|
|
5129
|
+
(context & 256) === 0 ||
|
|
5105
5130
|
parser.token !== 86106
|
|
5106
5131
|
? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
5107
5132
|
: parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);
|
|
@@ -5166,11 +5191,11 @@ System.register('meriyah', [], function (exports) {
|
|
|
5166
5191
|
return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5167
5192
|
}
|
|
5168
5193
|
function parseContinueStatement(parser, context, labels, start, line, column) {
|
|
5169
|
-
if ((context & 131072)
|
|
5194
|
+
if ((context & 131072) === 0)
|
|
5170
5195
|
report(parser, 65);
|
|
5171
5196
|
nextToken(parser, context);
|
|
5172
5197
|
let label = null;
|
|
5173
|
-
if ((parser.flags & 1)
|
|
5198
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5174
5199
|
const { tokenValue } = parser;
|
|
5175
5200
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5176
5201
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
@@ -5185,13 +5210,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
5185
5210
|
function parseBreakStatement(parser, context, labels, start, line, column) {
|
|
5186
5211
|
nextToken(parser, context | 32768);
|
|
5187
5212
|
let label = null;
|
|
5188
|
-
if ((parser.flags & 1)
|
|
5213
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5189
5214
|
const { tokenValue } = parser;
|
|
5190
5215
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5191
5216
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5192
5217
|
report(parser, 134, tokenValue);
|
|
5193
5218
|
}
|
|
5194
|
-
else if ((context & (4096 | 131072))
|
|
5219
|
+
else if ((context & (4096 | 131072)) === 0) {
|
|
5195
5220
|
report(parser, 66);
|
|
5196
5221
|
}
|
|
5197
5222
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5271,6 +5296,17 @@ System.register('meriyah', [], function (exports) {
|
|
|
5271
5296
|
body
|
|
5272
5297
|
});
|
|
5273
5298
|
}
|
|
5299
|
+
function parseStaticBlock(parser, context, scope, start, line, column) {
|
|
5300
|
+
if (scope)
|
|
5301
|
+
scope = addChildScope(scope, 2);
|
|
5302
|
+
const ctorContext = 16384 | 524288;
|
|
5303
|
+
context = ((context | ctorContext) ^ ctorContext) | 262144;
|
|
5304
|
+
const { body } = parseBlock(parser, context, scope, {}, start, line, column);
|
|
5305
|
+
return finishNode(parser, context, start, line, column, {
|
|
5306
|
+
type: 'StaticBlock',
|
|
5307
|
+
body
|
|
5308
|
+
});
|
|
5309
|
+
}
|
|
5274
5310
|
function parseDoWhileStatement(parser, context, scope, labels, start, line, column) {
|
|
5275
5311
|
nextToken(parser, context | 32768);
|
|
5276
5312
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
@@ -5358,10 +5394,10 @@ System.register('meriyah', [], function (exports) {
|
|
|
5358
5394
|
if (parser.token === 1077936157) {
|
|
5359
5395
|
nextToken(parser, context | 32768);
|
|
5360
5396
|
init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5361
|
-
if (origin & 32 || (token & 2097152)
|
|
5397
|
+
if (origin & 32 || (token & 2097152) === 0) {
|
|
5362
5398
|
if (parser.token === 274549 ||
|
|
5363
5399
|
(parser.token === 8738868 &&
|
|
5364
|
-
(token & 2097152 || (kind & 4)
|
|
5400
|
+
(token & 2097152 || (kind & 4) === 0 || context & 1024))) {
|
|
5365
5401
|
reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');
|
|
5366
5402
|
}
|
|
5367
5403
|
}
|
|
@@ -5378,7 +5414,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
5378
5414
|
}
|
|
5379
5415
|
function parseForStatement(parser, context, scope, labels, start, line, column) {
|
|
5380
5416
|
nextToken(parser, context);
|
|
5381
|
-
const forAwait = (context & 4194304) > 0 &&
|
|
5417
|
+
const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&
|
|
5418
|
+
consumeOpt(parser, context, 209008);
|
|
5382
5419
|
consume(parser, context | 32768, 67174411);
|
|
5383
5420
|
if (scope)
|
|
5384
5421
|
scope = addChildScope(scope, 1);
|
|
@@ -5667,7 +5704,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5667
5704
|
const { tokenPos, linePos, colPos } = parser;
|
|
5668
5705
|
declaration = parseIdentifier(parser, context, 0);
|
|
5669
5706
|
const { flags } = parser;
|
|
5670
|
-
if ((flags & 1)
|
|
5707
|
+
if ((flags & 1) === 0) {
|
|
5671
5708
|
if (parser.token === 86106) {
|
|
5672
5709
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);
|
|
5673
5710
|
}
|
|
@@ -5791,7 +5828,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5791
5828
|
case 209007:
|
|
5792
5829
|
const { tokenPos, linePos, colPos } = parser;
|
|
5793
5830
|
nextToken(parser, context);
|
|
5794
|
-
if ((parser.flags & 1)
|
|
5831
|
+
if ((parser.flags & 1) === 0 && parser.token === 86106) {
|
|
5795
5832
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);
|
|
5796
5833
|
if (scope) {
|
|
5797
5834
|
key = declaration.id ? declaration.id.name : '';
|
|
@@ -5948,7 +5985,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5948
5985
|
const { token } = parser;
|
|
5949
5986
|
const expr = parseIdentifier(parser, context, isPattern);
|
|
5950
5987
|
const { flags } = parser;
|
|
5951
|
-
if ((flags & 1)
|
|
5988
|
+
if ((flags & 1) === 0) {
|
|
5952
5989
|
if (parser.token === 86106) {
|
|
5953
5990
|
return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);
|
|
5954
5991
|
}
|
|
@@ -5982,7 +6019,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5982
6019
|
report(parser, 120);
|
|
5983
6020
|
let argument = null;
|
|
5984
6021
|
let delegate = false;
|
|
5985
|
-
if ((parser.flags & 1)
|
|
6022
|
+
if ((parser.flags & 1) === 0) {
|
|
5986
6023
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
5987
6024
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
5988
6025
|
argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
@@ -6059,8 +6096,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
6059
6096
|
if (context & 64 &&
|
|
6060
6097
|
scope &&
|
|
6061
6098
|
scopeError !== void 0 &&
|
|
6062
|
-
(prevContext & 1024)
|
|
6063
|
-
(context & 8192)
|
|
6099
|
+
(prevContext & 1024) === 0 &&
|
|
6100
|
+
(context & 8192) === 0) {
|
|
6064
6101
|
reportScopeError(scopeError);
|
|
6065
6102
|
}
|
|
6066
6103
|
}
|
|
@@ -6086,19 +6123,19 @@ System.register('meriyah', [], function (exports) {
|
|
|
6086
6123
|
case 67108991:
|
|
6087
6124
|
report(parser, 161);
|
|
6088
6125
|
case 67174411: {
|
|
6089
|
-
if ((context & 524288)
|
|
6126
|
+
if ((context & 524288) === 0)
|
|
6090
6127
|
report(parser, 26);
|
|
6091
6128
|
if (context & 16384)
|
|
6092
|
-
report(parser,
|
|
6129
|
+
report(parser, 27);
|
|
6093
6130
|
parser.assignable = 2;
|
|
6094
6131
|
break;
|
|
6095
6132
|
}
|
|
6096
6133
|
case 69271571:
|
|
6097
6134
|
case 67108877: {
|
|
6098
|
-
if ((context & 262144)
|
|
6135
|
+
if ((context & 262144) === 0)
|
|
6099
6136
|
report(parser, 27);
|
|
6100
6137
|
if (context & 16384)
|
|
6101
|
-
report(parser,
|
|
6138
|
+
report(parser, 27);
|
|
6102
6139
|
parser.assignable = 1;
|
|
6103
6140
|
break;
|
|
6104
6141
|
}
|
|
@@ -6125,14 +6162,14 @@ System.register('meriyah', [], function (exports) {
|
|
|
6125
6162
|
});
|
|
6126
6163
|
}
|
|
6127
6164
|
function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {
|
|
6128
|
-
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1)
|
|
6165
|
+
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {
|
|
6129
6166
|
expr = parseUpdateExpression(parser, context, expr, start, line, column);
|
|
6130
6167
|
}
|
|
6131
6168
|
else if ((parser.token & 67108864) === 67108864) {
|
|
6132
|
-
context = (context | 134217728
|
|
6169
|
+
context = (context | 134217728) ^ 134217728;
|
|
6133
6170
|
switch (parser.token) {
|
|
6134
6171
|
case 67108877: {
|
|
6135
|
-
nextToken(parser, context | 1073741824);
|
|
6172
|
+
nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
|
|
6136
6173
|
parser.assignable = 1;
|
|
6137
6174
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
6138
6175
|
expr = finishNode(parser, context, start, line, column, {
|
|
@@ -6188,7 +6225,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6188
6225
|
break;
|
|
6189
6226
|
}
|
|
6190
6227
|
case 67108991: {
|
|
6191
|
-
nextToken(parser, context);
|
|
6228
|
+
nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
|
|
6192
6229
|
parser.flags |= 2048;
|
|
6193
6230
|
parser.assignable = 2;
|
|
6194
6231
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6252,7 +6289,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6252
6289
|
});
|
|
6253
6290
|
}
|
|
6254
6291
|
else {
|
|
6255
|
-
if ((parser.token & (143360 | 4096))
|
|
6292
|
+
if ((parser.token & (143360 | 4096)) === 0)
|
|
6256
6293
|
report(parser, 154);
|
|
6257
6294
|
const property = parseIdentifier(parser, context, 0);
|
|
6258
6295
|
parser.assignable = 2;
|
|
@@ -6270,7 +6307,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6270
6307
|
return node;
|
|
6271
6308
|
}
|
|
6272
6309
|
function parsePropertyOrPrivatePropertyName(parser, context) {
|
|
6273
|
-
if ((parser.token & (143360 | 4096))
|
|
6310
|
+
if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {
|
|
6274
6311
|
report(parser, 154);
|
|
6275
6312
|
}
|
|
6276
6313
|
return context & 1 && parser.token === 131
|
|
@@ -6595,11 +6632,11 @@ System.register('meriyah', [], function (exports) {
|
|
|
6595
6632
|
let firstRestricted;
|
|
6596
6633
|
let functionScope = scope ? createScope() : void 0;
|
|
6597
6634
|
if (parser.token === 67174411) {
|
|
6598
|
-
if ((flags & 1)
|
|
6635
|
+
if ((flags & 1) === 0)
|
|
6599
6636
|
report(parser, 37, 'Function');
|
|
6600
6637
|
}
|
|
6601
6638
|
else {
|
|
6602
|
-
const kind = origin & 4 && ((context & 8192)
|
|
6639
|
+
const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)
|
|
6603
6640
|
? 4
|
|
6604
6641
|
: 64;
|
|
6605
6642
|
validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);
|
|
@@ -6745,7 +6782,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6745
6782
|
destructible |=
|
|
6746
6783
|
kind & 1
|
|
6747
6784
|
? 32
|
|
6748
|
-
: (kind & 2)
|
|
6785
|
+
: (kind & 2) === 0
|
|
6749
6786
|
? 16
|
|
6750
6787
|
: 0;
|
|
6751
6788
|
left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);
|
|
@@ -6804,7 +6841,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6804
6841
|
left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
|
|
6805
6842
|
if (parser.token !== 18 && parser.token !== 20) {
|
|
6806
6843
|
left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);
|
|
6807
|
-
if ((kind & (2 | 1))
|
|
6844
|
+
if ((kind & (2 | 1)) === 0 && token === 67174411)
|
|
6808
6845
|
destructible |= 16;
|
|
6809
6846
|
}
|
|
6810
6847
|
else if (parser.assignable & 2) {
|
|
@@ -6993,7 +7030,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6993
7030
|
});
|
|
6994
7031
|
}
|
|
6995
7032
|
function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {
|
|
6996
|
-
const modifierFlags = (kind & 64)
|
|
7033
|
+
const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;
|
|
6997
7034
|
context =
|
|
6998
7035
|
((context | modifierFlags) ^ modifierFlags) |
|
|
6999
7036
|
((kind & 88) << 18) |
|
|
@@ -7561,7 +7598,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7561
7598
|
let left = null;
|
|
7562
7599
|
const { tokenPos, linePos, colPos } = parser;
|
|
7563
7600
|
if (parser.token & 143360) {
|
|
7564
|
-
if ((context & 1024)
|
|
7601
|
+
if ((context & 1024) === 0) {
|
|
7565
7602
|
if ((parser.token & 36864) === 36864) {
|
|
7566
7603
|
parser.flags |= 256;
|
|
7567
7604
|
}
|
|
@@ -7822,7 +7859,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7822
7859
|
(134221824 | 8192 | 16384), scope, 16, void 0, void 0);
|
|
7823
7860
|
switch (parser.token) {
|
|
7824
7861
|
case 69271571:
|
|
7825
|
-
if ((parser.flags & 1)
|
|
7862
|
+
if ((parser.flags & 1) === 0) {
|
|
7826
7863
|
report(parser, 112);
|
|
7827
7864
|
}
|
|
7828
7865
|
break;
|
|
@@ -7831,13 +7868,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
7831
7868
|
case 22:
|
|
7832
7869
|
report(parser, 113);
|
|
7833
7870
|
case 67174411:
|
|
7834
|
-
if ((parser.flags & 1)
|
|
7871
|
+
if ((parser.flags & 1) === 0) {
|
|
7835
7872
|
report(parser, 112);
|
|
7836
7873
|
}
|
|
7837
7874
|
parser.flags |= 1024;
|
|
7838
7875
|
break;
|
|
7839
7876
|
}
|
|
7840
|
-
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1)
|
|
7877
|
+
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)
|
|
7841
7878
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
7842
7879
|
if ((parser.token & 33619968) === 33619968)
|
|
7843
7880
|
report(parser, 121);
|
|
@@ -7863,7 +7900,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7863
7900
|
let left;
|
|
7864
7901
|
const { tokenPos, linePos, colPos } = parser;
|
|
7865
7902
|
if (parser.token & 143360) {
|
|
7866
|
-
if ((context & 1024)
|
|
7903
|
+
if ((context & 1024) === 0) {
|
|
7867
7904
|
if ((parser.token & 36864) === 36864) {
|
|
7868
7905
|
parser.flags |= 256;
|
|
7869
7906
|
}
|
|
@@ -8183,7 +8220,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8183
8220
|
id = parseIdentifier(parser, context, 0);
|
|
8184
8221
|
}
|
|
8185
8222
|
else {
|
|
8186
|
-
if ((flags & 1)
|
|
8223
|
+
if ((flags & 1) === 0)
|
|
8187
8224
|
report(parser, 37, 'Class');
|
|
8188
8225
|
}
|
|
8189
8226
|
let inheritedContext = context;
|
|
@@ -8314,7 +8351,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8314
8351
|
}
|
|
8315
8352
|
break;
|
|
8316
8353
|
case 209007:
|
|
8317
|
-
if (parser.token !== 67174411 && (parser.flags & 1)
|
|
8354
|
+
if (parser.token !== 67174411 && (parser.flags & 1) === 0) {
|
|
8318
8355
|
if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8319
8356
|
return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);
|
|
8320
8357
|
}
|
|
@@ -8352,12 +8389,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
8352
8389
|
}
|
|
8353
8390
|
else if (context & 1 && parser.token === 131) {
|
|
8354
8391
|
kind |= 4096;
|
|
8355
|
-
key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);
|
|
8356
|
-
context = context | 16384;
|
|
8392
|
+
key = parsePrivateIdentifier(parser, context | 16384, tokenPos, linePos, colPos);
|
|
8357
8393
|
}
|
|
8358
8394
|
else if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8359
8395
|
kind |= 128;
|
|
8360
|
-
|
|
8396
|
+
}
|
|
8397
|
+
else if (isStatic && token === 2162700) {
|
|
8398
|
+
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8361
8399
|
}
|
|
8362
8400
|
else if (token === 122) {
|
|
8363
8401
|
key = parseIdentifier(parser, context, 0);
|
|
@@ -8388,16 +8426,16 @@ System.register('meriyah', [], function (exports) {
|
|
|
8388
8426
|
else
|
|
8389
8427
|
report(parser, 131);
|
|
8390
8428
|
}
|
|
8391
|
-
if ((kind & 2)
|
|
8429
|
+
if ((kind & 2) === 0) {
|
|
8392
8430
|
if (parser.tokenValue === 'constructor') {
|
|
8393
8431
|
if ((parser.token & 1073741824) === 1073741824) {
|
|
8394
8432
|
report(parser, 125);
|
|
8395
8433
|
}
|
|
8396
|
-
else if ((kind & 32)
|
|
8434
|
+
else if ((kind & 32) === 0 && parser.token === 67174411) {
|
|
8397
8435
|
if (kind & (768 | 16 | 128 | 8)) {
|
|
8398
8436
|
report(parser, 50, 'accessor');
|
|
8399
8437
|
}
|
|
8400
|
-
else if ((context & 524288)
|
|
8438
|
+
else if ((context & 524288) === 0) {
|
|
8401
8439
|
if (parser.flags & 32)
|
|
8402
8440
|
report(parser, 51);
|
|
8403
8441
|
else
|
|
@@ -8406,7 +8444,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8406
8444
|
}
|
|
8407
8445
|
kind |= 64;
|
|
8408
8446
|
}
|
|
8409
|
-
else if ((kind & 4096)
|
|
8447
|
+
else if ((kind & 4096) === 0 &&
|
|
8410
8448
|
kind & (32 | 768 | 8 | 16) &&
|
|
8411
8449
|
parser.tokenValue === 'prototype') {
|
|
8412
8450
|
report(parser, 49);
|
|
@@ -8419,7 +8457,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8419
8457
|
return finishNode(parser, context, start, line, column, context & 1
|
|
8420
8458
|
? {
|
|
8421
8459
|
type: 'MethodDefinition',
|
|
8422
|
-
kind: (kind & 32)
|
|
8460
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8423
8461
|
? 'constructor'
|
|
8424
8462
|
: kind & 256
|
|
8425
8463
|
? 'get'
|
|
@@ -8434,7 +8472,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8434
8472
|
}
|
|
8435
8473
|
: {
|
|
8436
8474
|
type: 'MethodDefinition',
|
|
8437
|
-
kind: (kind & 32)
|
|
8475
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8438
8476
|
? 'constructor'
|
|
8439
8477
|
: kind & 256
|
|
8440
8478
|
? 'get'
|
|
@@ -8723,7 +8761,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8723
8761
|
});
|
|
8724
8762
|
}
|
|
8725
8763
|
function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) {
|
|
8726
|
-
nextToken(parser, context);
|
|
8764
|
+
nextToken(parser, context | 32768);
|
|
8727
8765
|
const { tokenPos, linePos, colPos } = parser;
|
|
8728
8766
|
if (parser.token === 14)
|
|
8729
8767
|
return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos);
|
|
@@ -8778,7 +8816,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8778
8816
|
});
|
|
8779
8817
|
exports('ESTree', estree);
|
|
8780
8818
|
|
|
8781
|
-
var version$1 = "4.
|
|
8819
|
+
var version$1 = "4.3.1";
|
|
8782
8820
|
|
|
8783
8821
|
const version = exports('version', version$1);
|
|
8784
8822
|
function parseScript(source, options) {
|
|
@@ -8791,6 +8829,6 @@ System.register('meriyah', [], function (exports) {
|
|
|
8791
8829
|
return parseSource(source, options, 0);
|
|
8792
8830
|
}
|
|
8793
8831
|
|
|
8794
|
-
}
|
|
8832
|
+
})
|
|
8795
8833
|
};
|
|
8796
|
-
});
|
|
8834
|
+
}));
|