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/CHANGELOG.md
CHANGED
|
@@ -1,3 +1,20 @@
|
|
|
1
|
+
# [4.3.0](https://github.com/meriyah/meriyah/compare/v4.2.1...v4.3.0) (2022-08-02)
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
### Bug Fixes
|
|
5
|
+
|
|
6
|
+
* **parser:** Support for class static initialization block without next flag ([a3b10f0](https://github.com/meriyah/meriyah/commit/a3b10f01651cb1f02e703fde0ef2fac1a3222d65))
|
|
7
|
+
* **parser:** support top level for-await in module context ([69761bf](https://github.com/meriyah/meriyah/commit/69761bf60d30524e7d95251d4219ed8166d97577)), closes [#214](https://github.com/meriyah/meriyah/issues/214)
|
|
8
|
+
* use null as regex value in environment missing flag "d" support ([b174ae6](https://github.com/meriyah/meriyah/commit/b174ae69cc45ce1d925c86f6c8eab8cce58057b8))
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
### Features
|
|
12
|
+
|
|
13
|
+
* **lexer:** support new RegExp Indices flag "d" ([#217](https://github.com/meriyah/meriyah/issues/217)) ([b98e3bd](https://github.com/meriyah/meriyah/commit/b98e3bd79f7c13bef436976c37b04e128b40cec5)), closes [#214](https://github.com/meriyah/meriyah/issues/214)
|
|
14
|
+
* **parser:** Add support for class static initialization block ([1510e36](https://github.com/meriyah/meriyah/commit/1510e36b28e58317be93e59b7caed35985320c68))
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
|
|
1
18
|
## [4.2.1](https://github.com/meriyah/meriyah/compare/v4.2.0...v4.2.1) (2022-03-31)
|
|
2
19
|
|
|
3
20
|
|
package/dist/meriyah.amd.js
CHANGED
|
@@ -865,7 +865,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
865
865
|
break;
|
|
866
866
|
case 117:
|
|
867
867
|
if (mask & 16)
|
|
868
|
-
report(parser, 34, '
|
|
868
|
+
report(parser, 34, 'u');
|
|
869
869
|
mask |= 16;
|
|
870
870
|
break;
|
|
871
871
|
case 121:
|
|
@@ -878,6 +878,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
878
878
|
report(parser, 34, 's');
|
|
879
879
|
mask |= 32;
|
|
880
880
|
break;
|
|
881
|
+
case 100:
|
|
882
|
+
if (mask & 64)
|
|
883
|
+
report(parser, 34, 'd');
|
|
884
|
+
mask |= 64;
|
|
885
|
+
break;
|
|
881
886
|
default:
|
|
882
887
|
report(parser, 33);
|
|
883
888
|
}
|
|
@@ -896,7 +901,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
896
901
|
return new RegExp(pattern, flags);
|
|
897
902
|
}
|
|
898
903
|
catch (e) {
|
|
899
|
-
|
|
904
|
+
try {
|
|
905
|
+
new RegExp(pattern, flags.replace('d', ''));
|
|
906
|
+
return null;
|
|
907
|
+
}
|
|
908
|
+
catch (e) {
|
|
909
|
+
report(parser, 32);
|
|
910
|
+
}
|
|
900
911
|
}
|
|
901
912
|
}
|
|
902
913
|
|
|
@@ -1207,8 +1218,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1207
1218
|
digits++;
|
|
1208
1219
|
char = advanceChar(parser);
|
|
1209
1220
|
}
|
|
1210
|
-
if (digits
|
|
1211
|
-
report(parser, digits
|
|
1221
|
+
if (digits === 0 || !allowSeparator) {
|
|
1222
|
+
report(parser, digits === 0 ? 19 : 147);
|
|
1212
1223
|
}
|
|
1213
1224
|
}
|
|
1214
1225
|
else if ((char | 32) === 111) {
|
|
@@ -1228,8 +1239,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1228
1239
|
digits++;
|
|
1229
1240
|
char = advanceChar(parser);
|
|
1230
1241
|
}
|
|
1231
|
-
if (digits
|
|
1232
|
-
report(parser, digits
|
|
1242
|
+
if (digits === 0 || !allowSeparator) {
|
|
1243
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1233
1244
|
}
|
|
1234
1245
|
}
|
|
1235
1246
|
else if ((char | 32) === 98) {
|
|
@@ -1249,8 +1260,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1249
1260
|
digits++;
|
|
1250
1261
|
char = advanceChar(parser);
|
|
1251
1262
|
}
|
|
1252
|
-
if (digits
|
|
1253
|
-
report(parser, digits
|
|
1263
|
+
if (digits === 0 || !allowSeparator) {
|
|
1264
|
+
report(parser, digits === 0 ? 0 : 147);
|
|
1254
1265
|
}
|
|
1255
1266
|
}
|
|
1256
1267
|
else if (CharTypes[char] & 32) {
|
|
@@ -1326,7 +1337,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1326
1337
|
if (CharTypes[char] & 256)
|
|
1327
1338
|
char = advanceChar(parser);
|
|
1328
1339
|
const { index } = parser;
|
|
1329
|
-
if ((CharTypes[char] & 16)
|
|
1340
|
+
if ((CharTypes[char] & 16) === 0)
|
|
1330
1341
|
report(parser, 10);
|
|
1331
1342
|
value += parser.source.substring(end, index) + scanDecimalDigitsOrSeparator(parser, char);
|
|
1332
1343
|
char = parser.currentChar;
|
|
@@ -1807,7 +1818,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
1807
1818
|
return 8456258;
|
|
1808
1819
|
}
|
|
1809
1820
|
if (ch === 47) {
|
|
1810
|
-
if ((context & 16)
|
|
1821
|
+
if ((context & 16) === 0)
|
|
1811
1822
|
return 8456258;
|
|
1812
1823
|
const index = parser.index + 1;
|
|
1813
1824
|
if (index < parser.end) {
|
|
@@ -4913,7 +4924,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4913
4924
|
case 86106:
|
|
4914
4925
|
report(parser, context & 1024
|
|
4915
4926
|
? 73
|
|
4916
|
-
: (context & 256)
|
|
4927
|
+
: (context & 256) === 0
|
|
4917
4928
|
? 75
|
|
4918
4929
|
: 74);
|
|
4919
4930
|
case 86096:
|
|
@@ -4959,7 +4970,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4959
4970
|
});
|
|
4960
4971
|
}
|
|
4961
4972
|
function parseReturnStatement(parser, context, start, line, column) {
|
|
4962
|
-
if ((context & 32)
|
|
4973
|
+
if ((context & 32) === 0 && context & 8192)
|
|
4963
4974
|
report(parser, 89);
|
|
4964
4975
|
nextToken(parser, context | 32768);
|
|
4965
4976
|
const argument = parser.flags & 1 || parser.token & 1048576
|
|
@@ -4983,7 +4994,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
4983
4994
|
validateAndDeclareLabel(parser, labels, value);
|
|
4984
4995
|
nextToken(parser, context | 32768);
|
|
4985
4996
|
const body = allowFuncDecl &&
|
|
4986
|
-
(context & 1024)
|
|
4997
|
+
(context & 1024) === 0 &&
|
|
4987
4998
|
context & 256 &&
|
|
4988
4999
|
parser.token === 86106
|
|
4989
5000
|
? parseFunctionDeclaration(parser, context, addChildScope(scope, 2), origin, 0, 0, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
@@ -5092,7 +5103,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5092
5103
|
}
|
|
5093
5104
|
function parseConsequentOrAlternative(parser, context, scope, labels, start, line, column) {
|
|
5094
5105
|
return context & 1024 ||
|
|
5095
|
-
(context & 256)
|
|
5106
|
+
(context & 256) === 0 ||
|
|
5096
5107
|
parser.token !== 86106
|
|
5097
5108
|
? parseStatement(parser, context, scope, 0, { $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos)
|
|
5098
5109
|
: parseFunctionDeclaration(parser, context, addChildScope(scope, 2), 0, 0, 0, 0, start, line, column);
|
|
@@ -5157,11 +5168,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5157
5168
|
return parseStatement(parser, ((context | 134217728) ^ 134217728) | 131072, scope, 0, { loop: 1, $: labels }, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5158
5169
|
}
|
|
5159
5170
|
function parseContinueStatement(parser, context, labels, start, line, column) {
|
|
5160
|
-
if ((context & 131072)
|
|
5171
|
+
if ((context & 131072) === 0)
|
|
5161
5172
|
report(parser, 65);
|
|
5162
5173
|
nextToken(parser, context);
|
|
5163
5174
|
let label = null;
|
|
5164
|
-
if ((parser.flags & 1)
|
|
5175
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5165
5176
|
const { tokenValue } = parser;
|
|
5166
5177
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5167
5178
|
if (!isValidLabel(parser, labels, tokenValue, 1))
|
|
@@ -5176,13 +5187,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5176
5187
|
function parseBreakStatement(parser, context, labels, start, line, column) {
|
|
5177
5188
|
nextToken(parser, context | 32768);
|
|
5178
5189
|
let label = null;
|
|
5179
|
-
if ((parser.flags & 1)
|
|
5190
|
+
if ((parser.flags & 1) === 0 && parser.token & 143360) {
|
|
5180
5191
|
const { tokenValue } = parser;
|
|
5181
5192
|
label = parseIdentifier(parser, context | 32768, 0);
|
|
5182
5193
|
if (!isValidLabel(parser, labels, tokenValue, 0))
|
|
5183
5194
|
report(parser, 134, tokenValue);
|
|
5184
5195
|
}
|
|
5185
|
-
else if ((context & (4096 | 131072))
|
|
5196
|
+
else if ((context & (4096 | 131072)) === 0) {
|
|
5186
5197
|
report(parser, 66);
|
|
5187
5198
|
}
|
|
5188
5199
|
matchOrInsertSemicolon(parser, context | 32768);
|
|
@@ -5262,6 +5273,17 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5262
5273
|
body
|
|
5263
5274
|
});
|
|
5264
5275
|
}
|
|
5276
|
+
function parseStaticBlock(parser, context, scope, start, line, column) {
|
|
5277
|
+
if (scope)
|
|
5278
|
+
scope = addChildScope(scope, 2);
|
|
5279
|
+
const ctorContext = 16384 | 524288;
|
|
5280
|
+
context = ((context | ctorContext) ^ ctorContext) | 262144;
|
|
5281
|
+
const { body } = parseBlock(parser, context, scope, {}, start, line, column);
|
|
5282
|
+
return finishNode(parser, context, start, line, column, {
|
|
5283
|
+
type: 'StaticBlock',
|
|
5284
|
+
body
|
|
5285
|
+
});
|
|
5286
|
+
}
|
|
5265
5287
|
function parseDoWhileStatement(parser, context, scope, labels, start, line, column) {
|
|
5266
5288
|
nextToken(parser, context | 32768);
|
|
5267
5289
|
const body = parseIterationStatementBody(parser, context, scope, labels);
|
|
@@ -5349,10 +5371,10 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5349
5371
|
if (parser.token === 1077936157) {
|
|
5350
5372
|
nextToken(parser, context | 32768);
|
|
5351
5373
|
init = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
5352
|
-
if (origin & 32 || (token & 2097152)
|
|
5374
|
+
if (origin & 32 || (token & 2097152) === 0) {
|
|
5353
5375
|
if (parser.token === 274549 ||
|
|
5354
5376
|
(parser.token === 8738868 &&
|
|
5355
|
-
(token & 2097152 || (kind & 4)
|
|
5377
|
+
(token & 2097152 || (kind & 4) === 0 || context & 1024))) {
|
|
5356
5378
|
reportMessageAt(tokenPos, parser.line, parser.index - 3, 57, parser.token === 274549 ? 'of' : 'in');
|
|
5357
5379
|
}
|
|
5358
5380
|
}
|
|
@@ -5369,7 +5391,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5369
5391
|
}
|
|
5370
5392
|
function parseForStatement(parser, context, scope, labels, start, line, column) {
|
|
5371
5393
|
nextToken(parser, context);
|
|
5372
|
-
const forAwait = (context & 4194304) > 0 &&
|
|
5394
|
+
const forAwait = ((context & 4194304) > 0 || ((context & 2048) > 0 && (context & 8192) > 0)) &&
|
|
5395
|
+
consumeOpt(parser, context, 209008);
|
|
5373
5396
|
consume(parser, context | 32768, 67174411);
|
|
5374
5397
|
if (scope)
|
|
5375
5398
|
scope = addChildScope(scope, 1);
|
|
@@ -5658,7 +5681,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5658
5681
|
const { tokenPos, linePos, colPos } = parser;
|
|
5659
5682
|
declaration = parseIdentifier(parser, context, 0);
|
|
5660
5683
|
const { flags } = parser;
|
|
5661
|
-
if ((flags & 1)
|
|
5684
|
+
if ((flags & 1) === 0) {
|
|
5662
5685
|
if (parser.token === 86106) {
|
|
5663
5686
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 1, 1, tokenPos, linePos, colPos);
|
|
5664
5687
|
}
|
|
@@ -5782,7 +5805,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5782
5805
|
case 209007:
|
|
5783
5806
|
const { tokenPos, linePos, colPos } = parser;
|
|
5784
5807
|
nextToken(parser, context);
|
|
5785
|
-
if ((parser.flags & 1)
|
|
5808
|
+
if ((parser.flags & 1) === 0 && parser.token === 86106) {
|
|
5786
5809
|
declaration = parseFunctionDeclaration(parser, context, scope, 4, 1, 2, 1, tokenPos, linePos, colPos);
|
|
5787
5810
|
if (scope) {
|
|
5788
5811
|
key = declaration.id ? declaration.id.name : '';
|
|
@@ -5939,7 +5962,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5939
5962
|
const { token } = parser;
|
|
5940
5963
|
const expr = parseIdentifier(parser, context, isPattern);
|
|
5941
5964
|
const { flags } = parser;
|
|
5942
|
-
if ((flags & 1)
|
|
5965
|
+
if ((flags & 1) === 0) {
|
|
5943
5966
|
if (parser.token === 86106) {
|
|
5944
5967
|
return parseFunctionExpression(parser, context, 1, inGroup, start, line, column);
|
|
5945
5968
|
}
|
|
@@ -5973,7 +5996,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
5973
5996
|
report(parser, 120);
|
|
5974
5997
|
let argument = null;
|
|
5975
5998
|
let delegate = false;
|
|
5976
|
-
if ((parser.flags & 1)
|
|
5999
|
+
if ((parser.flags & 1) === 0) {
|
|
5977
6000
|
delegate = consumeOpt(parser, context | 32768, 8457014);
|
|
5978
6001
|
if (parser.token & (12288 | 65536) || delegate) {
|
|
5979
6002
|
argument = parseExpression(parser, context, 1, 0, 0, parser.tokenPos, parser.linePos, parser.colPos);
|
|
@@ -6050,8 +6073,8 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6050
6073
|
if (context & 64 &&
|
|
6051
6074
|
scope &&
|
|
6052
6075
|
scopeError !== void 0 &&
|
|
6053
|
-
(prevContext & 1024)
|
|
6054
|
-
(context & 8192)
|
|
6076
|
+
(prevContext & 1024) === 0 &&
|
|
6077
|
+
(context & 8192) === 0) {
|
|
6055
6078
|
reportScopeError(scopeError);
|
|
6056
6079
|
}
|
|
6057
6080
|
}
|
|
@@ -6077,7 +6100,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6077
6100
|
case 67108991:
|
|
6078
6101
|
report(parser, 161);
|
|
6079
6102
|
case 67174411: {
|
|
6080
|
-
if ((context & 524288)
|
|
6103
|
+
if ((context & 524288) === 0)
|
|
6081
6104
|
report(parser, 26);
|
|
6082
6105
|
if (context & 16384)
|
|
6083
6106
|
report(parser, 27);
|
|
@@ -6086,7 +6109,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6086
6109
|
}
|
|
6087
6110
|
case 69271571:
|
|
6088
6111
|
case 67108877: {
|
|
6089
|
-
if ((context & 262144)
|
|
6112
|
+
if ((context & 262144) === 0)
|
|
6090
6113
|
report(parser, 27);
|
|
6091
6114
|
if (context & 16384)
|
|
6092
6115
|
report(parser, 27);
|
|
@@ -6116,7 +6139,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6116
6139
|
});
|
|
6117
6140
|
}
|
|
6118
6141
|
function parseMemberOrUpdateExpression(parser, context, expr, inGroup, inChain, start, line, column) {
|
|
6119
|
-
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1)
|
|
6142
|
+
if ((parser.token & 33619968) === 33619968 && (parser.flags & 1) === 0) {
|
|
6120
6143
|
expr = parseUpdateExpression(parser, context, expr, start, line, column);
|
|
6121
6144
|
}
|
|
6122
6145
|
else if ((parser.token & 67108864) === 67108864) {
|
|
@@ -6243,7 +6266,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6243
6266
|
});
|
|
6244
6267
|
}
|
|
6245
6268
|
else {
|
|
6246
|
-
if ((parser.token & (143360 | 4096))
|
|
6269
|
+
if ((parser.token & (143360 | 4096)) === 0)
|
|
6247
6270
|
report(parser, 154);
|
|
6248
6271
|
const property = parseIdentifier(parser, context, 0);
|
|
6249
6272
|
parser.assignable = 2;
|
|
@@ -6261,7 +6284,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6261
6284
|
return node;
|
|
6262
6285
|
}
|
|
6263
6286
|
function parsePropertyOrPrivatePropertyName(parser, context) {
|
|
6264
|
-
if ((parser.token & (143360 | 4096))
|
|
6287
|
+
if ((parser.token & (143360 | 4096)) === 0 && parser.token !== 131) {
|
|
6265
6288
|
report(parser, 154);
|
|
6266
6289
|
}
|
|
6267
6290
|
return context & 1 && parser.token === 131
|
|
@@ -6586,11 +6609,11 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6586
6609
|
let firstRestricted;
|
|
6587
6610
|
let functionScope = scope ? createScope() : void 0;
|
|
6588
6611
|
if (parser.token === 67174411) {
|
|
6589
|
-
if ((flags & 1)
|
|
6612
|
+
if ((flags & 1) === 0)
|
|
6590
6613
|
report(parser, 37, 'Function');
|
|
6591
6614
|
}
|
|
6592
6615
|
else {
|
|
6593
|
-
const kind = origin & 4 && ((context & 8192)
|
|
6616
|
+
const kind = origin & 4 && ((context & 8192) === 0 || (context & 2048) === 0)
|
|
6594
6617
|
? 4
|
|
6595
6618
|
: 64;
|
|
6596
6619
|
validateFunctionName(parser, context | ((context & 3072) << 11), parser.token);
|
|
@@ -6736,7 +6759,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6736
6759
|
destructible |=
|
|
6737
6760
|
kind & 1
|
|
6738
6761
|
? 32
|
|
6739
|
-
: (kind & 2)
|
|
6762
|
+
: (kind & 2) === 0
|
|
6740
6763
|
? 16
|
|
6741
6764
|
: 0;
|
|
6742
6765
|
left = parseMemberOrUpdateExpression(parser, context, left, inGroup, 0, tokenPos, linePos, colPos);
|
|
@@ -6795,7 +6818,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6795
6818
|
left = parseLeftHandSideExpression(parser, context, 1, 0, 1, tokenPos, linePos, colPos);
|
|
6796
6819
|
if (parser.token !== 18 && parser.token !== 20) {
|
|
6797
6820
|
left = parseAssignmentExpression(parser, context, inGroup, isPattern, tokenPos, linePos, colPos, left);
|
|
6798
|
-
if ((kind & (2 | 1))
|
|
6821
|
+
if ((kind & (2 | 1)) === 0 && token === 67174411)
|
|
6799
6822
|
destructible |= 16;
|
|
6800
6823
|
}
|
|
6801
6824
|
else if (parser.assignable & 2) {
|
|
@@ -6984,7 +7007,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
6984
7007
|
});
|
|
6985
7008
|
}
|
|
6986
7009
|
function parseMethodDefinition(parser, context, kind, inGroup, start, line, column) {
|
|
6987
|
-
const modifierFlags = (kind & 64)
|
|
7010
|
+
const modifierFlags = (kind & 64) === 0 ? 31981568 : 14680064;
|
|
6988
7011
|
context =
|
|
6989
7012
|
((context | modifierFlags) ^ modifierFlags) |
|
|
6990
7013
|
((kind & 88) << 18) |
|
|
@@ -7552,7 +7575,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7552
7575
|
let left = null;
|
|
7553
7576
|
const { tokenPos, linePos, colPos } = parser;
|
|
7554
7577
|
if (parser.token & 143360) {
|
|
7555
|
-
if ((context & 1024)
|
|
7578
|
+
if ((context & 1024) === 0) {
|
|
7556
7579
|
if ((parser.token & 36864) === 36864) {
|
|
7557
7580
|
parser.flags |= 256;
|
|
7558
7581
|
}
|
|
@@ -7813,7 +7836,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7813
7836
|
(134221824 | 8192 | 16384), scope, 16, void 0, void 0);
|
|
7814
7837
|
switch (parser.token) {
|
|
7815
7838
|
case 69271571:
|
|
7816
|
-
if ((parser.flags & 1)
|
|
7839
|
+
if ((parser.flags & 1) === 0) {
|
|
7817
7840
|
report(parser, 112);
|
|
7818
7841
|
}
|
|
7819
7842
|
break;
|
|
@@ -7822,13 +7845,13 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7822
7845
|
case 22:
|
|
7823
7846
|
report(parser, 113);
|
|
7824
7847
|
case 67174411:
|
|
7825
|
-
if ((parser.flags & 1)
|
|
7848
|
+
if ((parser.flags & 1) === 0) {
|
|
7826
7849
|
report(parser, 112);
|
|
7827
7850
|
}
|
|
7828
7851
|
parser.flags |= 1024;
|
|
7829
7852
|
break;
|
|
7830
7853
|
}
|
|
7831
|
-
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1)
|
|
7854
|
+
if ((parser.token & 8454144) === 8454144 && (parser.flags & 1) === 0)
|
|
7832
7855
|
report(parser, 28, KeywordDescTable[parser.token & 255]);
|
|
7833
7856
|
if ((parser.token & 33619968) === 33619968)
|
|
7834
7857
|
report(parser, 121);
|
|
@@ -7854,7 +7877,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
7854
7877
|
let left;
|
|
7855
7878
|
const { tokenPos, linePos, colPos } = parser;
|
|
7856
7879
|
if (parser.token & 143360) {
|
|
7857
|
-
if ((context & 1024)
|
|
7880
|
+
if ((context & 1024) === 0) {
|
|
7858
7881
|
if ((parser.token & 36864) === 36864) {
|
|
7859
7882
|
parser.flags |= 256;
|
|
7860
7883
|
}
|
|
@@ -8174,7 +8197,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8174
8197
|
id = parseIdentifier(parser, context, 0);
|
|
8175
8198
|
}
|
|
8176
8199
|
else {
|
|
8177
|
-
if ((flags & 1)
|
|
8200
|
+
if ((flags & 1) === 0)
|
|
8178
8201
|
report(parser, 37, 'Class');
|
|
8179
8202
|
}
|
|
8180
8203
|
let inheritedContext = context;
|
|
@@ -8305,7 +8328,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8305
8328
|
}
|
|
8306
8329
|
break;
|
|
8307
8330
|
case 209007:
|
|
8308
|
-
if (parser.token !== 67174411 && (parser.flags & 1)
|
|
8331
|
+
if (parser.token !== 67174411 && (parser.flags & 1) === 0) {
|
|
8309
8332
|
if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8310
8333
|
return parsePropertyDefinition(parser, context, key, kind, decorators, tokenPos, linePos, colPos);
|
|
8311
8334
|
}
|
|
@@ -8348,6 +8371,9 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8348
8371
|
else if (context & 1 && (parser.token & 1073741824) === 1073741824) {
|
|
8349
8372
|
kind |= 128;
|
|
8350
8373
|
}
|
|
8374
|
+
else if (isStatic && token === 2162700) {
|
|
8375
|
+
return parseStaticBlock(parser, context, scope, tokenPos, linePos, colPos);
|
|
8376
|
+
}
|
|
8351
8377
|
else if (token === 122) {
|
|
8352
8378
|
key = parseIdentifier(parser, context, 0);
|
|
8353
8379
|
if (parser.token !== 67174411)
|
|
@@ -8377,16 +8403,16 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8377
8403
|
else
|
|
8378
8404
|
report(parser, 131);
|
|
8379
8405
|
}
|
|
8380
|
-
if ((kind & 2)
|
|
8406
|
+
if ((kind & 2) === 0) {
|
|
8381
8407
|
if (parser.tokenValue === 'constructor') {
|
|
8382
8408
|
if ((parser.token & 1073741824) === 1073741824) {
|
|
8383
8409
|
report(parser, 125);
|
|
8384
8410
|
}
|
|
8385
|
-
else if ((kind & 32)
|
|
8411
|
+
else if ((kind & 32) === 0 && parser.token === 67174411) {
|
|
8386
8412
|
if (kind & (768 | 16 | 128 | 8)) {
|
|
8387
8413
|
report(parser, 50, 'accessor');
|
|
8388
8414
|
}
|
|
8389
|
-
else if ((context & 524288)
|
|
8415
|
+
else if ((context & 524288) === 0) {
|
|
8390
8416
|
if (parser.flags & 32)
|
|
8391
8417
|
report(parser, 51);
|
|
8392
8418
|
else
|
|
@@ -8395,7 +8421,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8395
8421
|
}
|
|
8396
8422
|
kind |= 64;
|
|
8397
8423
|
}
|
|
8398
|
-
else if ((kind & 4096)
|
|
8424
|
+
else if ((kind & 4096) === 0 &&
|
|
8399
8425
|
kind & (32 | 768 | 8 | 16) &&
|
|
8400
8426
|
parser.tokenValue === 'prototype') {
|
|
8401
8427
|
report(parser, 49);
|
|
@@ -8408,7 +8434,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8408
8434
|
return finishNode(parser, context, start, line, column, context & 1
|
|
8409
8435
|
? {
|
|
8410
8436
|
type: 'MethodDefinition',
|
|
8411
|
-
kind: (kind & 32)
|
|
8437
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8412
8438
|
? 'constructor'
|
|
8413
8439
|
: kind & 256
|
|
8414
8440
|
? 'get'
|
|
@@ -8423,7 +8449,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8423
8449
|
}
|
|
8424
8450
|
: {
|
|
8425
8451
|
type: 'MethodDefinition',
|
|
8426
|
-
kind: (kind & 32)
|
|
8452
|
+
kind: (kind & 32) === 0 && kind & 64
|
|
8427
8453
|
? 'constructor'
|
|
8428
8454
|
: kind & 256
|
|
8429
8455
|
? 'get'
|
|
@@ -8766,7 +8792,7 @@ define(['exports'], (function (exports) { 'use strict';
|
|
|
8766
8792
|
__proto__: null
|
|
8767
8793
|
});
|
|
8768
8794
|
|
|
8769
|
-
var version$1 = "4.
|
|
8795
|
+
var version$1 = "4.3.0";
|
|
8770
8796
|
|
|
8771
8797
|
const version = version$1;
|
|
8772
8798
|
function parseScript(source, options) {
|