meriyah 4.1.5 → 4.3.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 +45 -0
- package/README.md +2 -1
- package/dist/meriyah.amd.js +96 -72
- package/dist/meriyah.amd.min.js +1 -1
- package/dist/meriyah.cjs +94 -70
- package/dist/meriyah.cjs.js +94 -70
- package/dist/meriyah.cjs.min.js +1 -1
- package/dist/meriyah.esm.js +94 -70
- package/dist/meriyah.esm.min.js +1 -1
- package/dist/meriyah.esm.min.mjs +1 -0
- package/dist/meriyah.esm.mjs +8806 -0
- package/dist/meriyah.iife.js +95 -71
- package/dist/meriyah.iife.min.js +1 -1
- package/dist/meriyah.min.cjs +1 -1
- package/dist/meriyah.system.js +98 -74
- package/dist/meriyah.system.min.js +1 -1
- package/dist/meriyah.umd.cjs +96 -72
- package/dist/meriyah.umd.es5.js +108 -80
- package/dist/meriyah.umd.es5.min.js +1 -15
- package/dist/meriyah.umd.js +96 -72
- package/dist/meriyah.umd.min.cjs +1 -1
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/src/errors.d.ts.map +1 -1
- package/dist/src/estree.d.ts +9 -4
- package/dist/src/estree.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/errors.ts +0 -2
- package/src/estree.ts +11 -3
- 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 +94 -56
- package/src/token.ts +2 -2
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,
|
|
@@ -105,7 +105,6 @@ System.register('meriyah', [], function (exports) {
|
|
|
105
105
|
[89]: 'Illegal return statement',
|
|
106
106
|
[90]: 'The left hand side of the for-header binding declaration is not destructible',
|
|
107
107
|
[91]: 'new.target only allowed within functions',
|
|
108
|
-
[92]: "'Unexpected token: 'escaped keyword'",
|
|
109
108
|
[93]: "'#' not followed by identifier",
|
|
110
109
|
[99]: 'Invalid keyword',
|
|
111
110
|
[98]: "Can not use 'let' as a class name",
|
|
@@ -120,7 +119,6 @@ System.register('meriyah', [], function (exports) {
|
|
|
120
119
|
[104]: "Only '*' or '{...}' can be imported after default",
|
|
121
120
|
[105]: 'Trailing decorator may be followed by method',
|
|
122
121
|
[106]: "Decorators can't be used with a constructor",
|
|
123
|
-
[107]: "'%0' may not be used as an identifier in this context",
|
|
124
122
|
[108]: 'HTML comments are only allowed with web compatibility (Annex B)',
|
|
125
123
|
[109]: "The identifier 'let' must not be in expression position in strict mode",
|
|
126
124
|
[110]: 'Cannot assign to `eval` and `arguments` in strict mode',
|
|
@@ -876,7 +874,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
876
874
|
break;
|
|
877
875
|
case 117:
|
|
878
876
|
if (mask & 16)
|
|
879
|
-
report(parser, 34, '
|
|
877
|
+
report(parser, 34, 'u');
|
|
880
878
|
mask |= 16;
|
|
881
879
|
break;
|
|
882
880
|
case 121:
|
|
@@ -885,9 +883,14 @@ System.register('meriyah', [], function (exports) {
|
|
|
885
883
|
mask |= 8;
|
|
886
884
|
break;
|
|
887
885
|
case 115:
|
|
888
|
-
if (mask &
|
|
886
|
+
if (mask & 32)
|
|
889
887
|
report(parser, 34, 's');
|
|
890
|
-
mask |=
|
|
888
|
+
mask |= 32;
|
|
889
|
+
break;
|
|
890
|
+
case 100:
|
|
891
|
+
if (mask & 64)
|
|
892
|
+
report(parser, 34, 'd');
|
|
893
|
+
mask |= 64;
|
|
891
894
|
break;
|
|
892
895
|
default:
|
|
893
896
|
report(parser, 33);
|
|
@@ -907,7 +910,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
907
910
|
return new RegExp(pattern, flags);
|
|
908
911
|
}
|
|
909
912
|
catch (e) {
|
|
910
|
-
|
|
913
|
+
try {
|
|
914
|
+
new RegExp(pattern, flags.replace('d', ''));
|
|
915
|
+
return null;
|
|
916
|
+
}
|
|
917
|
+
catch (e) {
|
|
918
|
+
report(parser, 32);
|
|
919
|
+
}
|
|
911
920
|
}
|
|
912
921
|
}
|
|
913
922
|
|
|
@@ -1218,8 +1227,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1218
1227
|
digits++;
|
|
1219
1228
|
char = advanceChar(parser);
|
|
1220
1229
|
}
|
|
1221
|
-
if (digits
|
|
1222
|
-
report(parser, digits
|
|
1230
|
+
if (digits === 0 || !allowSeparator) {
|
|
1231
|
+
report(parser, digits === 0 ? 19 : 147);
|
|
1223
1232
|
}
|
|
1224
1233
|
}
|
|
1225
1234
|
else if ((char | 32) === 111) {
|
|
@@ -1239,8 +1248,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1239
1248
|
digits++;
|
|
1240
1249
|
char = advanceChar(parser);
|
|
1241
1250
|
}
|
|
1242
|
-
if (digits
|
|
1243
|
-
report(parser, digits
|
|
1251
|
+
if (digits === 0 || !allowSeparator) {
|
|
1252
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1244
1253
|
}
|
|
1245
1254
|
}
|
|
1246
1255
|
else if ((char | 32) === 98) {
|
|
@@ -1260,8 +1269,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
1260
1269
|
digits++;
|
|
1261
1270
|
char = advanceChar(parser);
|
|
1262
1271
|
}
|
|
1263
|
-
if (digits
|
|
1264
|
-
report(parser, digits
|
|
1272
|
+
if (digits === 0 || !allowSeparator) {
|
|
1273
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1265
1274
|
}
|
|
1266
1275
|
}
|
|
1267
1276
|
else if (CharTypes[char] & 32) {
|
|
@@ -1337,7 +1346,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1337
1346
|
if (CharTypes[char] & 256)
|
|
1338
1347
|
char = advanceChar(parser);
|
|
1339
1348
|
const { index } = parser;
|
|
1340
|
-
if ((CharTypes[char] & 16)
|
|
1349
|
+
if ((CharTypes[char] & 16) === 0)
|
|
1341
1350
|
report(parser, 10);
|
|
1342
1351
|
value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);
|
|
1343
1352
|
char = parser.currentChar;
|
|
@@ -1800,7 +1809,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1800
1809
|
}
|
|
1801
1810
|
else if (ch === 61) {
|
|
1802
1811
|
advanceChar(parser);
|
|
1803
|
-
return
|
|
1812
|
+
return 8456256;
|
|
1804
1813
|
}
|
|
1805
1814
|
if (ch === 33) {
|
|
1806
1815
|
const index = parser.index + 1;
|
|
@@ -1818,7 +1827,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1818
1827
|
return 8456258;
|
|
1819
1828
|
}
|
|
1820
1829
|
if (ch === 47) {
|
|
1821
|
-
if ((context & 16)
|
|
1830
|
+
if ((context & 16) === 0)
|
|
1822
1831
|
return 8456258;
|
|
1823
1832
|
const index = parser.index + 1;
|
|
1824
1833
|
if (index < parser.end) {
|
|
@@ -1983,7 +1992,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
1983
1992
|
const ch = parser.currentChar;
|
|
1984
1993
|
if (ch === 61) {
|
|
1985
1994
|
advanceChar(parser);
|
|
1986
|
-
return
|
|
1995
|
+
return 8456257;
|
|
1987
1996
|
}
|
|
1988
1997
|
if (ch !== 62)
|
|
1989
1998
|
return 8456259;
|
|
@@ -4924,7 +4933,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
4924
4933
|
case 86106:
|
|
4925
4934
|
report(parser, context & 1024
|
|
4926
4935
|
? 73
|
|
4927
|
-
: (context & 256)
|
|
4936
|
+
: (context & 256) === 0
|
|
4928
4937
|
? 75
|
|
4929
4938
|
: 74);
|
|
4930
4939
|
case 86096:
|
|
@@ -4970,12 +4979,12 @@ System.register('meriyah', [], function (exports) {
|
|
|
4970
4979
|
});
|
|
4971
4980
|
}
|
|
4972
4981
|
function parseReturnStatement(parser, context, start, line, column) {
|
|
4973
|
-
if ((context & 32)
|
|
4982
|
+
if ((context & 32) === 0 && context & 8192)
|
|
4974
4983
|
report(parser, 89);
|
|
4975
4984
|
nextToken(parser, context | 32768);
|
|
4976
4985
|
const argument = parser.flags & 1 || parser.token & 1048576
|
|
4977
4986
|
? null
|
|
4978
|
-
: parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.
|
|
4987
|
+
: parseExpressions(parser, context, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
4979
4988
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
4980
4989
|
return finishNode(parser, context, start, line, column, {
|
|
4981
4990
|
type: 'ReturnStatement',
|
|
@@ -4994,7 +5003,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
4994
5003
|
validateAndDeclareLabel(parser, labels, value);
|
|
4995
5004
|
nextToken(parser, context | 32768);
|
|
4996
5005
|
const body = allowFuncDecl &&
|
|
4997
|
-
(context & 1024)
|
|
5006
|
+
(context & 1024) === 0 &&
|
|
4998
5007
|
context & 256 &&
|
|
4999
5008
|
parser.token === 86106
|
|
5000
5009
|
? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
@@ -5103,7 +5112,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5103
5112
|
}
|
|
5104
5113
|
function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {
|
|
5105
5114
|
return context & 1024 ||
|
|
5106
|
-
(context & 256)
|
|
5115
|
+
(context & 256) === 0 ||
|
|
5107
5116
|
parser.token !== 86106
|
|
5108
5117
|
? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
5109
5118
|
: parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);
|
|
@@ -5168,11 +5177,11 @@ System.register('meriyah', [], function (exports) {
|
|
|
5168
5177
|
return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5169
5178
|
}
|
|
5170
5179
|
function parseContinueStatement(parser, context, labels, start, line, column) {
|
|
5171
|
-
if ((context & 131072)
|
|
5180
|
+
if ((context & 131072) === 0)
|
|
5172
5181
|
report(parser, 65);
|
|
5173
5182
|
nextToken(parser, context);
|
|
5174
5183
|
let label = null;
|
|
5175
|
-
if ((parser.flags & 1)
|
|
5184
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5176
5185
|
const { tokenValue } = parser;
|
|
5177
5186
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5178
5187
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
@@ -5187,13 +5196,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
5187
5196
|
function parseBreakStatement(parser, context, labels, start, line, column) {
|
|
5188
5197
|
nextToken(parser, context | 32768);
|
|
5189
5198
|
let label = null;
|
|
5190
|
-
if ((parser.flags & 1)
|
|
5199
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5191
5200
|
const { tokenValue } = parser;
|
|
5192
5201
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5193
5202
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5194
5203
|
report(parser, 134, tokenValue);
|
|
5195
5204
|
}
|
|
5196
|
-
else if ((context & (4096 | 131072))
|
|
5205
|
+
else if ((context & (4096 | 131072)) === 0) {
|
|
5197
5206
|
report(parser, 66);
|
|
5198
5207
|
}
|
|
5199
5208
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5273,6 +5282,17 @@ System.register('meriyah', [], function (exports) {
|
|
|
5273
5282
|
body
|
|
5274
5283
|
});
|
|
5275
5284
|
}
|
|
5285
|
+
function parseStaticBlock(parser, context, scope, start, line, column) {
|
|
5286
|
+
if (scope)
|
|
5287
|
+
scope = addChildScope(scope, 2);
|
|
5288
|
+
const ctorContext = 16384 | 524288;
|
|
5289
|
+
context = ((context | ctorContext) ^ ctorContext) | 262144;
|
|
5290
|
+
const { body } = parseBlock(parser, context, scope, {}, start, line, column);
|
|
5291
|
+
return finishNode(parser, context, start, line, column, {
|
|
5292
|
+
type: 'StaticBlock',
|
|
5293
|
+
body
|
|
5294
|
+
});
|
|
5295
|
+
}
|
|
5276
5296
|
function parseDoWhileStatement(parser, context, scope, labels, start, line, column) {
|
|
5277
5297
|
nextToken(parser, context | 32768);
|
|
5278
5298
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
@@ -5360,10 +5380,10 @@ System.register('meriyah', [], function (exports) {
|
|
|
5360
5380
|
if (parser.token === 1077936157) {
|
|
5361
5381
|
nextToken(parser, context | 32768);
|
|
5362
5382
|
init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5363
|
-
if (origin & 32 || (token & 2097152)
|
|
5383
|
+
if (origin & 32 || (token & 2097152) === 0) {
|
|
5364
5384
|
if (parser.token === 274549 ||
|
|
5365
5385
|
(parser.token === 8738868 &&
|
|
5366
|
-
(token & 2097152 || (kind & 4)
|
|
5386
|
+
(token & 2097152 || (kind & 4) === 0 || context & 1024))) {
|
|
5367
5387
|
reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');
|
|
5368
5388
|
}
|
|
5369
5389
|
}
|
|
@@ -5380,7 +5400,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
5380
5400
|
}
|
|
5381
5401
|
function parseForStatement(parser, context, scope, labels, start, line, column) {
|
|
5382
5402
|
nextToken(parser, context);
|
|
5383
|
-
const forAwait = (context & 4194304) > 0 &&
|
|
5403
|
+
const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&
|
|
5404
|
+
consumeOpt(parser, context, 209008);
|
|
5384
5405
|
consume(parser, context | 32768, 67174411);
|
|
5385
5406
|
if (scope)
|
|
5386
5407
|
scope = addChildScope(scope, 1);
|
|
@@ -5669,7 +5690,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5669
5690
|
const { tokenPos, linePos, colPos } = parser;
|
|
5670
5691
|
declaration = parseIdentifier(parser, context, 0);
|
|
5671
5692
|
const { flags } = parser;
|
|
5672
|
-
if ((flags & 1)
|
|
5693
|
+
if ((flags & 1) === 0) {
|
|
5673
5694
|
if (parser.token === 86106) {
|
|
5674
5695
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);
|
|
5675
5696
|
}
|
|
@@ -5793,7 +5814,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5793
5814
|
case 209007:
|
|
5794
5815
|
const { tokenPos, linePos, colPos } = parser;
|
|
5795
5816
|
nextToken(parser, context);
|
|
5796
|
-
if ((parser.flags & 1)
|
|
5817
|
+
if ((parser.flags & 1) === 0 && parser.token === 86106) {
|
|
5797
5818
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);
|
|
5798
5819
|
if (scope) {
|
|
5799
5820
|
key = declaration.id ? declaration.id.name : '';
|
|
@@ -5950,7 +5971,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5950
5971
|
const { token } = parser;
|
|
5951
5972
|
const expr = parseIdentifier(parser, context, isPattern);
|
|
5952
5973
|
const { flags } = parser;
|
|
5953
|
-
if ((flags & 1)
|
|
5974
|
+
if ((flags & 1) === 0) {
|
|
5954
5975
|
if (parser.token === 86106) {
|
|
5955
5976
|
return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);
|
|
5956
5977
|
}
|
|
@@ -5984,7 +6005,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
5984
6005
|
report(parser, 120);
|
|
5985
6006
|
let argument = null;
|
|
5986
6007
|
let delegate = false;
|
|
5987
|
-
if ((parser.flags & 1)
|
|
6008
|
+
if ((parser.flags & 1) === 0) {
|
|
5988
6009
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
5989
6010
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
5990
6011
|
argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
@@ -6004,7 +6025,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6004
6025
|
function parseAwaitExpression(parser, context, inNew, inGroup, start, line, column) {
|
|
6005
6026
|
if (inGroup)
|
|
6006
6027
|
parser.destructible |= 128;
|
|
6007
|
-
if (context & 4194304) {
|
|
6028
|
+
if (context & 4194304 || (context & 2048 && context & 8192)) {
|
|
6008
6029
|
if (inNew)
|
|
6009
6030
|
report(parser, 0);
|
|
6010
6031
|
if (context & 8388608) {
|
|
@@ -6012,6 +6033,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
6012
6033
|
}
|
|
6013
6034
|
nextToken(parser, context | 32768);
|
|
6014
6035
|
const argument = parseLeftHandSideExpression(parser, context, 0, 0, 1, parser.tokenPos, parser.linePos, parser.colPos);
|
|
6036
|
+
if (parser.token === 8457273)
|
|
6037
|
+
report(parser, 31);
|
|
6015
6038
|
parser.assignable = 2;
|
|
6016
6039
|
return finishNode(parser, context, start, line, column, {
|
|
6017
6040
|
type: 'AwaitExpression',
|
|
@@ -6019,7 +6042,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6019
6042
|
});
|
|
6020
6043
|
}
|
|
6021
6044
|
if (context & 2048)
|
|
6022
|
-
report(parser,
|
|
6045
|
+
report(parser, 95);
|
|
6023
6046
|
return parseIdentifierOrArrow(parser, context, start, line, column);
|
|
6024
6047
|
}
|
|
6025
6048
|
function parseFunctionBody(parser, context, scope, origin, firstRestricted, scopeError) {
|
|
@@ -6059,8 +6082,8 @@ System.register('meriyah', [], function (exports) {
|
|
|
6059
6082
|
if (context & 64 &&
|
|
6060
6083
|
scope &&
|
|
6061
6084
|
scopeError !== void 0 &&
|
|
6062
|
-
(prevContext & 1024)
|
|
6063
|
-
(context & 8192)
|
|
6085
|
+
(prevContext & 1024) === 0 &&
|
|
6086
|
+
(context & 8192) === 0) {
|
|
6064
6087
|
reportScopeError(scopeError);
|
|
6065
6088
|
}
|
|
6066
6089
|
}
|
|
@@ -6086,19 +6109,19 @@ System.register('meriyah', [], function (exports) {
|
|
|
6086
6109
|
case 67108991:
|
|
6087
6110
|
report(parser, 161);
|
|
6088
6111
|
case 67174411: {
|
|
6089
|
-
if ((context & 524288)
|
|
6112
|
+
if ((context & 524288) === 0)
|
|
6090
6113
|
report(parser, 26);
|
|
6091
6114
|
if (context & 16384)
|
|
6092
|
-
report(parser,
|
|
6115
|
+
report(parser, 27);
|
|
6093
6116
|
parser.assignable = 2;
|
|
6094
6117
|
break;
|
|
6095
6118
|
}
|
|
6096
6119
|
case 69271571:
|
|
6097
6120
|
case 67108877: {
|
|
6098
|
-
if ((context & 262144)
|
|
6121
|
+
if ((context & 262144) === 0)
|
|
6099
6122
|
report(parser, 27);
|
|
6100
6123
|
if (context & 16384)
|
|
6101
|
-
report(parser,
|
|
6124
|
+
report(parser, 27);
|
|
6102
6125
|
parser.assignable = 1;
|
|
6103
6126
|
break;
|
|
6104
6127
|
}
|
|
@@ -6125,14 +6148,14 @@ System.register('meriyah', [], function (exports) {
|
|
|
6125
6148
|
});
|
|
6126
6149
|
}
|
|
6127
6150
|
function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {
|
|
6128
|
-
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1)
|
|
6151
|
+
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {
|
|
6129
6152
|
expr = parseUpdateExpression(parser, context, expr, start, line, column);
|
|
6130
6153
|
}
|
|
6131
6154
|
else if ((parser.token & 67108864) === 67108864) {
|
|
6132
|
-
context = (context | 134217728
|
|
6155
|
+
context = (context | 134217728) ^ 134217728;
|
|
6133
6156
|
switch (parser.token) {
|
|
6134
6157
|
case 67108877: {
|
|
6135
|
-
nextToken(parser, context | 1073741824);
|
|
6158
|
+
nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
|
|
6136
6159
|
parser.assignable = 1;
|
|
6137
6160
|
const property = parsePropertyOrPrivatePropertyName(parser, context);
|
|
6138
6161
|
expr = finishNode(parser, context, start, line, column, {
|
|
@@ -6188,7 +6211,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6188
6211
|
break;
|
|
6189
6212
|
}
|
|
6190
6213
|
case 67108991: {
|
|
6191
|
-
nextToken(parser, context);
|
|
6214
|
+
nextToken(parser, (context | 1073741824 | 8192) ^ 8192);
|
|
6192
6215
|
parser.flags |= 2048;
|
|
6193
6216
|
parser.assignable = 2;
|
|
6194
6217
|
expr = parseOptionalChain(parser, context, expr, start, line, column);
|
|
@@ -6252,7 +6275,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6252
6275
|
});
|
|
6253
6276
|
}
|
|
6254
6277
|
else {
|
|
6255
|
-
if ((parser.token & (143360 | 4096))
|
|
6278
|
+
if ((parser.token & (143360 | 4096)) === 0)
|
|
6256
6279
|
report(parser, 154);
|
|
6257
6280
|
const property = parseIdentifier(parser, context, 0);
|
|
6258
6281
|
parser.assignable = 2;
|
|
@@ -6270,7 +6293,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6270
6293
|
return node;
|
|
6271
6294
|
}
|
|
6272
6295
|
function parsePropertyOrPrivatePropertyName(parser, context) {
|
|
6273
|
-
if ((parser.token & (143360 | 4096))
|
|
6296
|
+
if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {
|
|
6274
6297
|
report(parser, 154);
|
|
6275
6298
|
}
|
|
6276
6299
|
return context & 1 && parser.token === 131
|
|
@@ -6595,11 +6618,11 @@ System.register('meriyah', [], function (exports) {
|
|
|
6595
6618
|
let firstRestricted;
|
|
6596
6619
|
let functionScope = scope ? createScope() : void 0;
|
|
6597
6620
|
if (parser.token === 67174411) {
|
|
6598
|
-
if ((flags & 1)
|
|
6621
|
+
if ((flags & 1) === 0)
|
|
6599
6622
|
report(parser, 37, 'Function');
|
|
6600
6623
|
}
|
|
6601
6624
|
else {
|
|
6602
|
-
const kind = origin & 4 && ((context & 8192)
|
|
6625
|
+
const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)
|
|
6603
6626
|
? 4
|
|
6604
6627
|
: 64;
|
|
6605
6628
|
validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);
|
|
@@ -6745,7 +6768,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6745
6768
|
destructible |=
|
|
6746
6769
|
kind & 1
|
|
6747
6770
|
? 32
|
|
6748
|
-
: (kind & 2)
|
|
6771
|
+
: (kind & 2) === 0
|
|
6749
6772
|
? 16
|
|
6750
6773
|
: 0;
|
|
6751
6774
|
left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);
|
|
@@ -6804,7 +6827,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6804
6827
|
left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
|
|
6805
6828
|
if (parser.token !== 18 && parser.token !== 20) {
|
|
6806
6829
|
left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);
|
|
6807
|
-
if ((kind & (2 | 1))
|
|
6830
|
+
if ((kind & (2 | 1)) === 0 && token === 67174411)
|
|
6808
6831
|
destructible |= 16;
|
|
6809
6832
|
}
|
|
6810
6833
|
else if (parser.assignable & 2) {
|
|
@@ -6993,7 +7016,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
6993
7016
|
});
|
|
6994
7017
|
}
|
|
6995
7018
|
function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {
|
|
6996
|
-
const modifierFlags = (kind & 64)
|
|
7019
|
+
const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;
|
|
6997
7020
|
context =
|
|
6998
7021
|
((context | modifierFlags) ^ modifierFlags) |
|
|
6999
7022
|
((kind & 88) << 18) |
|
|
@@ -7561,7 +7584,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7561
7584
|
let left = null;
|
|
7562
7585
|
const { tokenPos, linePos, colPos } = parser;
|
|
7563
7586
|
if (parser.token & 143360) {
|
|
7564
|
-
if ((context & 1024)
|
|
7587
|
+
if ((context & 1024) === 0) {
|
|
7565
7588
|
if ((parser.token & 36864) === 36864) {
|
|
7566
7589
|
parser.flags |= 256;
|
|
7567
7590
|
}
|
|
@@ -7624,7 +7647,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7624
7647
|
const { tokenPos: piStart, linePos: plStart, colPos: pcStart } = parser;
|
|
7625
7648
|
nextToken(parser, context | 32768 | 1073741824);
|
|
7626
7649
|
const scope = context & 64 ? addChildScope(createScope(), 1024) : void 0;
|
|
7627
|
-
context = (context | 134217728
|
|
7650
|
+
context = (context | 134217728) ^ 134217728;
|
|
7628
7651
|
if (consumeOpt(parser, context, 16)) {
|
|
7629
7652
|
return parseParenthesizedArrow(parser, context, scope, [], canAssign, 0, start, line, column);
|
|
7630
7653
|
}
|
|
@@ -7822,7 +7845,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7822
7845
|
(134221824 | 8192 | 16384), scope, 16, void 0, void 0);
|
|
7823
7846
|
switch (parser.token) {
|
|
7824
7847
|
case 69271571:
|
|
7825
|
-
if ((parser.flags & 1)
|
|
7848
|
+
if ((parser.flags & 1) === 0) {
|
|
7826
7849
|
report(parser, 112);
|
|
7827
7850
|
}
|
|
7828
7851
|
break;
|
|
@@ -7831,13 +7854,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
7831
7854
|
case 22:
|
|
7832
7855
|
report(parser, 113);
|
|
7833
7856
|
case 67174411:
|
|
7834
|
-
if ((parser.flags & 1)
|
|
7857
|
+
if ((parser.flags & 1) === 0) {
|
|
7835
7858
|
report(parser, 112);
|
|
7836
7859
|
}
|
|
7837
7860
|
parser.flags |= 1024;
|
|
7838
7861
|
break;
|
|
7839
7862
|
}
|
|
7840
|
-
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1)
|
|
7863
|
+
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)
|
|
7841
7864
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
7842
7865
|
if ((parser.token & 33619968) === 33619968)
|
|
7843
7866
|
report(parser, 121);
|
|
@@ -7863,7 +7886,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
7863
7886
|
let left;
|
|
7864
7887
|
const { tokenPos, linePos, colPos } = parser;
|
|
7865
7888
|
if (parser.token & 143360) {
|
|
7866
|
-
if ((context & 1024)
|
|
7889
|
+
if ((context & 1024) === 0) {
|
|
7867
7890
|
if ((parser.token & 36864) === 36864) {
|
|
7868
7891
|
parser.flags |= 256;
|
|
7869
7892
|
}
|
|
@@ -8183,7 +8206,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8183
8206
|
id = parseIdentifier(parser, context, 0);
|
|
8184
8207
|
}
|
|
8185
8208
|
else {
|
|
8186
|
-
if ((flags & 1)
|
|
8209
|
+
if ((flags & 1) === 0)
|
|
8187
8210
|
report(parser, 37, 'Class');
|
|
8188
8211
|
}
|
|
8189
8212
|
let inheritedContext = context;
|
|
@@ -8314,7 +8337,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8314
8337
|
}
|
|
8315
8338
|
break;
|
|
8316
8339
|
case 209007:
|
|
8317
|
-
if (parser.token !== 67174411 && (parser.flags & 1)
|
|
8340
|
+
if (parser.token !== 67174411 && (parser.flags & 1) === 0) {
|
|
8318
8341
|
if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8319
8342
|
return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);
|
|
8320
8343
|
}
|
|
@@ -8352,12 +8375,13 @@ System.register('meriyah', [], function (exports) {
|
|
|
8352
8375
|
}
|
|
8353
8376
|
else if (context & 1 && parser.token === 131) {
|
|
8354
8377
|
kind |= 4096;
|
|
8355
|
-
key = parsePrivateIdentifier(parser, context, tokenPos, linePos, colPos);
|
|
8356
|
-
context = context | 16384;
|
|
8378
|
+
key = parsePrivateIdentifier(parser, context | 16384, tokenPos, linePos, colPos);
|
|
8357
8379
|
}
|
|
8358
8380
|
else if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8359
8381
|
kind |= 128;
|
|
8360
|
-
|
|
8382
|
+
}
|
|
8383
|
+
else if (isStatic && token === 2162700) {
|
|
8384
|
+
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8361
8385
|
}
|
|
8362
8386
|
else if (token === 122) {
|
|
8363
8387
|
key = parseIdentifier(parser, context, 0);
|
|
@@ -8388,16 +8412,16 @@ System.register('meriyah', [], function (exports) {
|
|
|
8388
8412
|
else
|
|
8389
8413
|
report(parser, 131);
|
|
8390
8414
|
}
|
|
8391
|
-
if ((kind & 2)
|
|
8415
|
+
if ((kind & 2) === 0) {
|
|
8392
8416
|
if (parser.tokenValue === 'constructor') {
|
|
8393
8417
|
if ((parser.token & 1073741824) === 1073741824) {
|
|
8394
8418
|
report(parser, 125);
|
|
8395
8419
|
}
|
|
8396
|
-
else if ((kind & 32)
|
|
8420
|
+
else if ((kind & 32) === 0 && parser.token === 67174411) {
|
|
8397
8421
|
if (kind & (768 | 16 | 128 | 8)) {
|
|
8398
8422
|
report(parser, 50, 'accessor');
|
|
8399
8423
|
}
|
|
8400
|
-
else if ((context & 524288)
|
|
8424
|
+
else if ((context & 524288) === 0) {
|
|
8401
8425
|
if (parser.flags & 32)
|
|
8402
8426
|
report(parser, 51);
|
|
8403
8427
|
else
|
|
@@ -8406,7 +8430,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8406
8430
|
}
|
|
8407
8431
|
kind |= 64;
|
|
8408
8432
|
}
|
|
8409
|
-
else if ((kind & 4096)
|
|
8433
|
+
else if ((kind & 4096) === 0 &&
|
|
8410
8434
|
kind & (32 | 768 | 8 | 16) &&
|
|
8411
8435
|
parser.tokenValue === 'prototype') {
|
|
8412
8436
|
report(parser, 49);
|
|
@@ -8419,7 +8443,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8419
8443
|
return finishNode(parser, context, start, line, column, context & 1
|
|
8420
8444
|
? {
|
|
8421
8445
|
type: 'MethodDefinition',
|
|
8422
|
-
kind: (kind & 32)
|
|
8446
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8423
8447
|
? 'constructor'
|
|
8424
8448
|
: kind & 256
|
|
8425
8449
|
? 'get'
|
|
@@ -8434,7 +8458,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8434
8458
|
}
|
|
8435
8459
|
: {
|
|
8436
8460
|
type: 'MethodDefinition',
|
|
8437
|
-
kind: (kind & 32)
|
|
8461
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8438
8462
|
? 'constructor'
|
|
8439
8463
|
: kind & 256
|
|
8440
8464
|
? 'get'
|
|
@@ -8723,7 +8747,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8723
8747
|
});
|
|
8724
8748
|
}
|
|
8725
8749
|
function parseJSXExpressionContainer(parser, context, inJSXChild, isAttr, start, line, column) {
|
|
8726
|
-
nextToken(parser, context);
|
|
8750
|
+
nextToken(parser, context | 32768);
|
|
8727
8751
|
const { tokenPos, linePos, colPos } = parser;
|
|
8728
8752
|
if (parser.token === 14)
|
|
8729
8753
|
return parseJSXSpreadChild(parser, context, tokenPos, linePos, colPos);
|
|
@@ -8778,7 +8802,7 @@ System.register('meriyah', [], function (exports) {
|
|
|
8778
8802
|
});
|
|
8779
8803
|
exports('ESTree', estree);
|
|
8780
8804
|
|
|
8781
|
-
var version$1 = "4.
|
|
8805
|
+
var version$1 = "4.3.0";
|
|
8782
8806
|
|
|
8783
8807
|
const version = exports('version', version$1);
|
|
8784
8808
|
function parseScript(source, options) {
|
|
@@ -8791,6 +8815,6 @@ System.register('meriyah', [], function (exports) {
|
|
|
8791
8815
|
return parseSource(source, options, 0);
|
|
8792
8816
|
}
|
|
8793
8817
|
|
|
8794
|
-
}
|
|
8818
|
+
})
|
|
8795
8819
|
};
|
|
8796
|
-
});
|
|
8820
|
+
}));
|