meriyah 4.2.1 → 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 +17 -0
- package/dist/meriyah.amd.js +77 -51
- package/dist/meriyah.amd.min.js +1 -1
- package/dist/meriyah.cjs +77 -51
- package/dist/meriyah.cjs.js +77 -51
- package/dist/meriyah.cjs.min.js +1 -1
- package/dist/meriyah.esm.js +77 -51
- 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 +77 -51
- package/dist/meriyah.iife.min.js +1 -1
- package/dist/meriyah.min.cjs +1 -1
- package/dist/meriyah.system.js +77 -51
- package/dist/meriyah.system.min.js +1 -1
- package/dist/meriyah.umd.cjs +77 -51
- package/dist/meriyah.umd.es5.js +88 -58
- package/dist/meriyah.umd.es5.min.js +1 -15
- package/dist/meriyah.umd.js +77 -51
- 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/regexp.d.ts.map +1 -1
- package/dist/src/parser.d.ts +1 -0
- package/dist/src/parser.d.ts.map +1 -1
- package/package.json +25 -30
- 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 +81 -42
package/dist/meriyah.cjs.js
CHANGED
|
@@ -867,7 +867,7 @@ function scanRegularExpression(parser, context) {
|
|
|
867
867
|
break;
|
|
868
868
|
case 117:
|
|
869
869
|
if (mask & 16)
|
|
870
|
-
report(parser, 34, '
|
|
870
|
+
report(parser, 34, 'u');
|
|
871
871
|
mask |= 16;
|
|
872
872
|
break;
|
|
873
873
|
case 121:
|
|
@@ -880,6 +880,11 @@ function scanRegularExpression(parser, context) {
|
|
|
880
880
|
report(parser, 34, 's');
|
|
881
881
|
mask |= 32;
|
|
882
882
|
break;
|
|
883
|
+
case 100:
|
|
884
|
+
if (mask & 64)
|
|
885
|
+
report(parser, 34, 'd');
|
|
886
|
+
mask |= 64;
|
|
887
|
+
break;
|
|
883
888
|
default:
|
|
884
889
|
report(parser, 33);
|
|
885
890
|
}
|
|
@@ -898,7 +903,13 @@ function validate(parser, pattern, flags) {
|
|
|
898
903
|
return new RegExp(pattern, flags);
|
|
899
904
|
}
|
|
900
905
|
catch (e) {
|
|
901
|
-
|
|
906
|
+
try {
|
|
907
|
+
new RegExp(pattern, flags.replace('d', ''));
|
|
908
|
+
return null;
|
|
909
|
+
}
|
|
910
|
+
catch (e) {
|
|
911
|
+
report(parser, 32);
|
|
912
|
+
}
|
|
902
913
|
}
|
|
903
914
|
}
|
|
904
915
|
|
|
@@ -1209,8 +1220,8 @@ function scanNumber(parser, context, kind) {
|
|
|
1209
1220
|
digits++;
|
|
1210
1221
|
char = advanceChar(parser);
|
|
1211
1222
|
}
|
|
1212
|
-
if (digits
|
|
1213
|
-
report(parser, digits
|
|
1223
|
+
if (digits === 0 || !allowSeparator) {
|
|
1224
|
+
report(parser, digits === 0 ? 19 : 147);
|
|
1214
1225
|
}
|
|
1215
1226
|
}
|
|
1216
1227
|
else if ((char | 32) === 111) {
|
|
@@ -1230,8 +1241,8 @@ function scanNumber(parser, context, kind) {
|
|
|
1230
1241
|
digits++;
|
|
1231
1242
|
char = advanceChar(parser);
|
|
1232
1243
|
}
|
|
1233
|
-
if (digits
|
|
1234
|
-
report(parser, digits
|
|
1244
|
+
if (digits === 0 || !allowSeparator) {
|
|
1245
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1235
1246
|
}
|
|
1236
1247
|
}
|
|
1237
1248
|
else if ((char | 32) === 98) {
|
|
@@ -1251,8 +1262,8 @@ function scanNumber(parser, context, kind) {
|
|
|
1251
1262
|
digits++;
|
|
1252
1263
|
char = advanceChar(parser);
|
|
1253
1264
|
}
|
|
1254
|
-
if (digits
|
|
1255
|
-
report(parser, digits
|
|
1265
|
+
if (digits === 0 || !allowSeparator) {
|
|
1266
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1256
1267
|
}
|
|
1257
1268
|
}
|
|
1258
1269
|
else if (CharTypes[char] & 32) {
|
|
@@ -1328,7 +1339,7 @@ function scanNumber(parser, context, kind) {
|
|
|
1328
1339
|
if (CharTypes[char] & 256)
|
|
1329
1340
|
char = advanceChar(parser);
|
|
1330
1341
|
const { index } = parser;
|
|
1331
|
-
if ((CharTypes[char] & 16)
|
|
1342
|
+
if ((CharTypes[char] & 16) === 0)
|
|
1332
1343
|
report(parser, 10);
|
|
1333
1344
|
value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);
|
|
1334
1345
|
char = parser.currentChar;
|
|
@@ -1809,7 +1820,7 @@ function scanSingleToken(parser, context, state) {
|
|
|
1809
1820
|
return 8456258;
|
|
1810
1821
|
}
|
|
1811
1822
|
if (ch === 47) {
|
|
1812
|
-
if ((context & 16)
|
|
1823
|
+
if ((context & 16) === 0)
|
|
1813
1824
|
return 8456258;
|
|
1814
1825
|
const index = parser.index + 1;
|
|
1815
1826
|
if (index < parser.end) {
|
|
@@ -4915,7 +4926,7 @@ function parseStatement(parser, context, scope, origin, labels, allowFuncDecl, s
|
|
|
4915
4926
|
case 86106:
|
|
4916
4927
|
report(parser, context & 1024
|
|
4917
4928
|
? 73
|
|
4918
|
-
: (context & 256)
|
|
4929
|
+
: (context & 256) === 0
|
|
4919
4930
|
? 75
|
|
4920
4931
|
: 74);
|
|
4921
4932
|
case 86096:
|
|
@@ -4961,7 +4972,7 @@ function parseBlock(parser, context, scope, labels, start, line, column) {
|
|
|
4961
4972
|
});
|
|
4962
4973
|
}
|
|
4963
4974
|
function parseReturnStatement(parser, context, start, line, column) {
|
|
4964
|
-
if ((context & 32)
|
|
4975
|
+
if ((context & 32) === 0 && context & 8192)
|
|
4965
4976
|
report(parser, 89);
|
|
4966
4977
|
nextToken(parser, context | 32768);
|
|
4967
4978
|
const argument = parser.flags & 1 || parser.token & 1048576
|
|
@@ -4985,7 +4996,7 @@ function parseLabelledStatement(parser, context, scope, origin, labels, value, e
|
|
|
4985
4996
|
validateAndDeclareLabel(parser, labels, value);
|
|
4986
4997
|
nextToken(parser, context | 32768);
|
|
4987
4998
|
const body = allowFuncDecl &&
|
|
4988
|
-
(context & 1024)
|
|
4999
|
+
(context & 1024) === 0 &&
|
|
4989
5000
|
context & 256 &&
|
|
4990
5001
|
parser.token === 86106
|
|
4991
5002
|
? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
@@ -5094,7 +5105,7 @@ function parseIfStatement(parser, context, scope, labels, start, line, column) {
|
|
|
5094
5105
|
}
|
|
5095
5106
|
function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {
|
|
5096
5107
|
return context & 1024 ||
|
|
5097
|
-
(context & 256)
|
|
5108
|
+
(context & 256) === 0 ||
|
|
5098
5109
|
parser.token !== 86106
|
|
5099
5110
|
? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
5100
5111
|
: parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);
|
|
@@ -5159,11 +5170,11 @@ function parseIterationStatementBody(parser, context, scope, labels) {
|
|
|
5159
5170
|
return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5160
5171
|
}
|
|
5161
5172
|
function parseContinueStatement(parser, context, labels, start, line, column) {
|
|
5162
|
-
if ((context & 131072)
|
|
5173
|
+
if ((context & 131072) === 0)
|
|
5163
5174
|
report(parser, 65);
|
|
5164
5175
|
nextToken(parser, context);
|
|
5165
5176
|
let label = null;
|
|
5166
|
-
if ((parser.flags & 1)
|
|
5177
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5167
5178
|
const { tokenValue } = parser;
|
|
5168
5179
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5169
5180
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
@@ -5178,13 +5189,13 @@ function parseContinueStatement(parser, context, labels, start, line, column) {
|
|
|
5178
5189
|
function parseBreakStatement(parser, context, labels, start, line, column) {
|
|
5179
5190
|
nextToken(parser, context | 32768);
|
|
5180
5191
|
let label = null;
|
|
5181
|
-
if ((parser.flags & 1)
|
|
5192
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5182
5193
|
const { tokenValue } = parser;
|
|
5183
5194
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5184
5195
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5185
5196
|
report(parser, 134, tokenValue);
|
|
5186
5197
|
}
|
|
5187
|
-
else if ((context & (4096 | 131072))
|
|
5198
|
+
else if ((context & (4096 | 131072)) === 0) {
|
|
5188
5199
|
report(parser, 66);
|
|
5189
5200
|
}
|
|
5190
5201
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5264,6 +5275,17 @@ function parseCatchBlock(parser, context, scope, labels, start, line, column) {
|
|
|
5264
5275
|
body
|
|
5265
5276
|
});
|
|
5266
5277
|
}
|
|
5278
|
+
function parseStaticBlock(parser, context, scope, start, line, column) {
|
|
5279
|
+
if (scope)
|
|
5280
|
+
scope = addChildScope(scope, 2);
|
|
5281
|
+
const ctorContext = 16384 | 524288;
|
|
5282
|
+
context = ((context | ctorContext) ^ ctorContext) | 262144;
|
|
5283
|
+
const { body } = parseBlock(parser, context, scope, {}, start, line, column);
|
|
5284
|
+
return finishNode(parser, context, start, line, column, {
|
|
5285
|
+
type: 'StaticBlock',
|
|
5286
|
+
body
|
|
5287
|
+
});
|
|
5288
|
+
}
|
|
5267
5289
|
function parseDoWhileStatement(parser, context, scope, labels, start, line, column) {
|
|
5268
5290
|
nextToken(parser, context | 32768);
|
|
5269
5291
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
@@ -5351,10 +5373,10 @@ function parseVariableDeclaration(parser, context, scope, kind, origin) {
|
|
|
5351
5373
|
if (parser.token === 1077936157) {
|
|
5352
5374
|
nextToken(parser, context | 32768);
|
|
5353
5375
|
init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5354
|
-
if (origin & 32 || (token & 2097152)
|
|
5376
|
+
if (origin & 32 || (token & 2097152) === 0) {
|
|
5355
5377
|
if (parser.token === 274549 ||
|
|
5356
5378
|
(parser.token === 8738868 &&
|
|
5357
|
-
(token & 2097152 || (kind & 4)
|
|
5379
|
+
(token & 2097152 || (kind & 4) === 0 || context & 1024))) {
|
|
5358
5380
|
reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');
|
|
5359
5381
|
}
|
|
5360
5382
|
}
|
|
@@ -5371,7 +5393,8 @@ function parseVariableDeclaration(parser, context, scope, kind, origin) {
|
|
|
5371
5393
|
}
|
|
5372
5394
|
function parseForStatement(parser, context, scope, labels, start, line, column) {
|
|
5373
5395
|
nextToken(parser, context);
|
|
5374
|
-
const forAwait = (context & 4194304) > 0 &&
|
|
5396
|
+
const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&
|
|
5397
|
+
consumeOpt(parser, context, 209008);
|
|
5375
5398
|
consume(parser, context | 32768, 67174411);
|
|
5376
5399
|
if (scope)
|
|
5377
5400
|
scope = addChildScope(scope, 1);
|
|
@@ -5660,7 +5683,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5660
5683
|
const { tokenPos, linePos, colPos } = parser;
|
|
5661
5684
|
declaration = parseIdentifier(parser, context, 0);
|
|
5662
5685
|
const { flags } = parser;
|
|
5663
|
-
if ((flags & 1)
|
|
5686
|
+
if ((flags & 1) === 0) {
|
|
5664
5687
|
if (parser.token === 86106) {
|
|
5665
5688
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);
|
|
5666
5689
|
}
|
|
@@ -5784,7 +5807,7 @@ function parseExportDeclaration(parser, context, scope) {
|
|
|
5784
5807
|
case 209007:
|
|
5785
5808
|
const { tokenPos, linePos, colPos } = parser;
|
|
5786
5809
|
nextToken(parser, context);
|
|
5787
|
-
if ((parser.flags & 1)
|
|
5810
|
+
if ((parser.flags & 1) === 0 && parser.token === 86106) {
|
|
5788
5811
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);
|
|
5789
5812
|
if (scope) {
|
|
5790
5813
|
key = declaration.id ? declaration.id.name : '';
|
|
@@ -5941,7 +5964,7 @@ function parseAsyncExpression(parser, context, inGroup, isLHS, canAssign, isPatt
|
|
|
5941
5964
|
const { token } = parser;
|
|
5942
5965
|
const expr = parseIdentifier(parser, context, isPattern);
|
|
5943
5966
|
const { flags } = parser;
|
|
5944
|
-
if ((flags & 1)
|
|
5967
|
+
if ((flags & 1) === 0) {
|
|
5945
5968
|
if (parser.token === 86106) {
|
|
5946
5969
|
return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);
|
|
5947
5970
|
}
|
|
@@ -5975,7 +5998,7 @@ function parseYieldExpression(parser, context, inGroup, canAssign, start, line,
|
|
|
5975
5998
|
report(parser, 120);
|
|
5976
5999
|
let argument = null;
|
|
5977
6000
|
let delegate = false;
|
|
5978
|
-
if ((parser.flags & 1)
|
|
6001
|
+
if ((parser.flags & 1) === 0) {
|
|
5979
6002
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
5980
6003
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
5981
6004
|
argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
@@ -6052,8 +6075,8 @@ function parseFunctionBody(parser, context, scope, origin, firstRestricted, scop
|
|
|
6052
6075
|
if (context & 64 &&
|
|
6053
6076
|
scope &&
|
|
6054
6077
|
scopeError !== void 0 &&
|
|
6055
|
-
(prevContext & 1024)
|
|
6056
|
-
(context & 8192)
|
|
6078
|
+
(prevContext & 1024) === 0 &&
|
|
6079
|
+
(context & 8192) === 0) {
|
|
6057
6080
|
reportScopeError(scopeError);
|
|
6058
6081
|
}
|
|
6059
6082
|
}
|
|
@@ -6079,7 +6102,7 @@ function parseSuperExpression(parser, context, start, line, column) {
|
|
|
6079
6102
|
case 67108991:
|
|
6080
6103
|
report(parser, 161);
|
|
6081
6104
|
case 67174411: {
|
|
6082
|
-
if ((context & 524288)
|
|
6105
|
+
if ((context & 524288) === 0)
|
|
6083
6106
|
report(parser, 26);
|
|
6084
6107
|
if (context & 16384)
|
|
6085
6108
|
report(parser, 27);
|
|
@@ -6088,7 +6111,7 @@ function parseSuperExpression(parser, context, start, line, column) {
|
|
|
6088
6111
|
}
|
|
6089
6112
|
case 69271571:
|
|
6090
6113
|
case 67108877: {
|
|
6091
|
-
if ((context & 262144)
|
|
6114
|
+
if ((context & 262144) === 0)
|
|
6092
6115
|
report(parser, 27);
|
|
6093
6116
|
if (context & 16384)
|
|
6094
6117
|
report(parser, 27);
|
|
@@ -6118,7 +6141,7 @@ function parseUpdateExpression(parser, context, expr, start, line, column) {
|
|
|
6118
6141
|
});
|
|
6119
6142
|
}
|
|
6120
6143
|
function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {
|
|
6121
|
-
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1)
|
|
6144
|
+
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {
|
|
6122
6145
|
expr = parseUpdateExpression(parser, context, expr, start, line, column);
|
|
6123
6146
|
}
|
|
6124
6147
|
else if ((parser.token & 67108864) === 67108864) {
|
|
@@ -6245,7 +6268,7 @@ function parseOptionalChain(parser, context, expr, start, line, column) {
|
|
|
6245
6268
|
});
|
|
6246
6269
|
}
|
|
6247
6270
|
else {
|
|
6248
|
-
if ((parser.token & (143360 | 4096))
|
|
6271
|
+
if ((parser.token & (143360 | 4096)) === 0)
|
|
6249
6272
|
report(parser, 154);
|
|
6250
6273
|
const property = parseIdentifier(parser, context, 0);
|
|
6251
6274
|
parser.assignable = 2;
|
|
@@ -6263,7 +6286,7 @@ function parseOptionalChain(parser, context, expr, start, line, column) {
|
|
|
6263
6286
|
return node;
|
|
6264
6287
|
}
|
|
6265
6288
|
function parsePropertyOrPrivatePropertyName(parser, context) {
|
|
6266
|
-
if ((parser.token & (143360 | 4096))
|
|
6289
|
+
if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {
|
|
6267
6290
|
report(parser, 154);
|
|
6268
6291
|
}
|
|
6269
6292
|
return context & 1 && parser.token === 131
|
|
@@ -6588,11 +6611,11 @@ function parseFunctionDeclaration(parser, context, scope, origin, allowGen, flag
|
|
|
6588
6611
|
let firstRestricted;
|
|
6589
6612
|
let functionScope = scope ? createScope() : void 0;
|
|
6590
6613
|
if (parser.token === 67174411) {
|
|
6591
|
-
if ((flags & 1)
|
|
6614
|
+
if ((flags & 1) === 0)
|
|
6592
6615
|
report(parser, 37, 'Function');
|
|
6593
6616
|
}
|
|
6594
6617
|
else {
|
|
6595
|
-
const kind = origin & 4 && ((context & 8192)
|
|
6618
|
+
const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)
|
|
6596
6619
|
? 4
|
|
6597
6620
|
: 64;
|
|
6598
6621
|
validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);
|
|
@@ -6738,7 +6761,7 @@ function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer,
|
|
|
6738
6761
|
destructible |=
|
|
6739
6762
|
kind & 1
|
|
6740
6763
|
? 32
|
|
6741
|
-
: (kind & 2)
|
|
6764
|
+
: (kind & 2) === 0
|
|
6742
6765
|
? 16
|
|
6743
6766
|
: 0;
|
|
6744
6767
|
left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);
|
|
@@ -6797,7 +6820,7 @@ function parseArrayExpressionOrPattern(parser, context, scope, skipInitializer,
|
|
|
6797
6820
|
left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
|
|
6798
6821
|
if (parser.token !== 18 && parser.token !== 20) {
|
|
6799
6822
|
left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);
|
|
6800
|
-
if ((kind & (2 | 1))
|
|
6823
|
+
if ((kind & (2 | 1)) === 0 && token === 67174411)
|
|
6801
6824
|
destructible |= 16;
|
|
6802
6825
|
}
|
|
6803
6826
|
else if (parser.assignable & 2) {
|
|
@@ -6986,7 +7009,7 @@ function parseSpreadOrRestElement(parser, context, scope, closingToken, kind, or
|
|
|
6986
7009
|
});
|
|
6987
7010
|
}
|
|
6988
7011
|
function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {
|
|
6989
|
-
const modifierFlags = (kind & 64)
|
|
7012
|
+
const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;
|
|
6990
7013
|
context =
|
|
6991
7014
|
((context | modifierFlags) ^ modifierFlags) |
|
|
6992
7015
|
((kind & 88) << 18) |
|
|
@@ -7554,7 +7577,7 @@ function parseMethodFormals(parser, context, scope, kind, type, inGroup) {
|
|
|
7554
7577
|
let left = null;
|
|
7555
7578
|
const { tokenPos, linePos, colPos } = parser;
|
|
7556
7579
|
if (parser.token & 143360) {
|
|
7557
|
-
if ((context & 1024)
|
|
7580
|
+
if ((context & 1024) === 0) {
|
|
7558
7581
|
if ((parser.token & 36864) === 36864) {
|
|
7559
7582
|
parser.flags |= 256;
|
|
7560
7583
|
}
|
|
@@ -7815,7 +7838,7 @@ function parseArrowFunctionExpression(parser, context, scope, params, isAsync, s
|
|
|
7815
7838
|
(134221824 | 8192 | 16384), scope, 16, void 0, void 0);
|
|
7816
7839
|
switch (parser.token) {
|
|
7817
7840
|
case 69271571:
|
|
7818
|
-
if ((parser.flags & 1)
|
|
7841
|
+
if ((parser.flags & 1) === 0) {
|
|
7819
7842
|
report(parser, 112);
|
|
7820
7843
|
}
|
|
7821
7844
|
break;
|
|
@@ -7824,13 +7847,13 @@ function parseArrowFunctionExpression(parser, context, scope, params, isAsync, s
|
|
|
7824
7847
|
case 22:
|
|
7825
7848
|
report(parser, 113);
|
|
7826
7849
|
case 67174411:
|
|
7827
|
-
if ((parser.flags & 1)
|
|
7850
|
+
if ((parser.flags & 1) === 0) {
|
|
7828
7851
|
report(parser, 112);
|
|
7829
7852
|
}
|
|
7830
7853
|
parser.flags |= 1024;
|
|
7831
7854
|
break;
|
|
7832
7855
|
}
|
|
7833
|
-
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1)
|
|
7856
|
+
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)
|
|
7834
7857
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
7835
7858
|
if ((parser.token & 33619968) === 33619968)
|
|
7836
7859
|
report(parser, 121);
|
|
@@ -7856,7 +7879,7 @@ function parseFormalParametersOrFormalList(parser, context, scope, inGroup, kind
|
|
|
7856
7879
|
let left;
|
|
7857
7880
|
const { tokenPos, linePos, colPos } = parser;
|
|
7858
7881
|
if (parser.token & 143360) {
|
|
7859
|
-
if ((context & 1024)
|
|
7882
|
+
if ((context & 1024) === 0) {
|
|
7860
7883
|
if ((parser.token & 36864) === 36864) {
|
|
7861
7884
|
parser.flags |= 256;
|
|
7862
7885
|
}
|
|
@@ -8176,7 +8199,7 @@ function parseClassDeclaration(parser, context, scope, flags, start, line, colum
|
|
|
8176
8199
|
id = parseIdentifier(parser, context, 0);
|
|
8177
8200
|
}
|
|
8178
8201
|
else {
|
|
8179
|
-
if ((flags & 1)
|
|
8202
|
+
if ((flags & 1) === 0)
|
|
8180
8203
|
report(parser, 37, 'Class');
|
|
8181
8204
|
}
|
|
8182
8205
|
let inheritedContext = context;
|
|
@@ -8307,7 +8330,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8307
8330
|
}
|
|
8308
8331
|
break;
|
|
8309
8332
|
case 209007:
|
|
8310
|
-
if (parser.token !== 67174411 && (parser.flags & 1)
|
|
8333
|
+
if (parser.token !== 67174411 && (parser.flags & 1) === 0) {
|
|
8311
8334
|
if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8312
8335
|
return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);
|
|
8313
8336
|
}
|
|
@@ -8350,6 +8373,9 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8350
8373
|
else if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8351
8374
|
kind |= 128;
|
|
8352
8375
|
}
|
|
8376
|
+
else if (isStatic && token === 2162700) {
|
|
8377
|
+
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8378
|
+
}
|
|
8353
8379
|
else if (token === 122) {
|
|
8354
8380
|
key = parseIdentifier(parser, context, 0);
|
|
8355
8381
|
if (parser.token !== 67174411)
|
|
@@ -8379,16 +8405,16 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8379
8405
|
else
|
|
8380
8406
|
report(parser, 131);
|
|
8381
8407
|
}
|
|
8382
|
-
if ((kind & 2)
|
|
8408
|
+
if ((kind & 2) === 0) {
|
|
8383
8409
|
if (parser.tokenValue === 'constructor') {
|
|
8384
8410
|
if ((parser.token & 1073741824) === 1073741824) {
|
|
8385
8411
|
report(parser, 125);
|
|
8386
8412
|
}
|
|
8387
|
-
else if ((kind & 32)
|
|
8413
|
+
else if ((kind & 32) === 0 && parser.token === 67174411) {
|
|
8388
8414
|
if (kind & (768 | 16 | 128 | 8)) {
|
|
8389
8415
|
report(parser, 50, 'accessor');
|
|
8390
8416
|
}
|
|
8391
|
-
else if ((context & 524288)
|
|
8417
|
+
else if ((context & 524288) === 0) {
|
|
8392
8418
|
if (parser.flags & 32)
|
|
8393
8419
|
report(parser, 51);
|
|
8394
8420
|
else
|
|
@@ -8397,7 +8423,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8397
8423
|
}
|
|
8398
8424
|
kind |= 64;
|
|
8399
8425
|
}
|
|
8400
|
-
else if ((kind & 4096)
|
|
8426
|
+
else if ((kind & 4096) === 0 &&
|
|
8401
8427
|
kind & (32 | 768 | 8 | 16) &&
|
|
8402
8428
|
parser.tokenValue === 'prototype') {
|
|
8403
8429
|
report(parser, 49);
|
|
@@ -8410,7 +8436,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8410
8436
|
return finishNode(parser, context, start, line, column, context & 1
|
|
8411
8437
|
? {
|
|
8412
8438
|
type: 'MethodDefinition',
|
|
8413
|
-
kind: (kind & 32)
|
|
8439
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8414
8440
|
? 'constructor'
|
|
8415
8441
|
: kind & 256
|
|
8416
8442
|
? 'get'
|
|
@@ -8425,7 +8451,7 @@ function parseClassElementList(parser, context, scope, inheritedContext, type, d
|
|
|
8425
8451
|
}
|
|
8426
8452
|
: {
|
|
8427
8453
|
type: 'MethodDefinition',
|
|
8428
|
-
kind: (kind & 32)
|
|
8454
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8429
8455
|
? 'constructor'
|
|
8430
8456
|
: kind & 256
|
|
8431
8457
|
? 'get'
|
|
@@ -8768,7 +8794,7 @@ var estree = /*#__PURE__*/Object.freeze({
|
|
|
8768
8794
|
__proto__: null
|
|
8769
8795
|
});
|
|
8770
8796
|
|
|
8771
|
-
var version$1 = "4.
|
|
8797
|
+
var version$1 = "4.3.0";
|
|
8772
8798
|
|
|
8773
8799
|
const version = version$1;
|
|
8774
8800
|
function parseScript(source, options) {
|