meriyah 6.1.1 → 6.1.3
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 +23 -0
- package/README.md +2 -2
- package/dist/meriyah.cjs +61 -50
- package/dist/meriyah.min.mjs +1 -1
- package/dist/meriyah.mjs +61 -50
- package/dist/meriyah.umd.js +61 -50
- package/dist/meriyah.umd.min.js +1 -1
- package/dist/types/parser.d.ts +5 -5
- package/package.json +10 -9
package/dist/meriyah.mjs
CHANGED
|
@@ -178,6 +178,11 @@ const errorMessages = {
|
|
|
178
178
|
[177]: 'cannot use "await" in static blocks',
|
|
179
179
|
};
|
|
180
180
|
class ParseError extends SyntaxError {
|
|
181
|
+
start;
|
|
182
|
+
end;
|
|
183
|
+
range;
|
|
184
|
+
loc;
|
|
185
|
+
description;
|
|
181
186
|
constructor(start, end, type, ...params) {
|
|
182
187
|
const description = errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]);
|
|
183
188
|
const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
|
|
@@ -979,6 +984,10 @@ function scanString(parser, context, quote) {
|
|
|
979
984
|
}
|
|
980
985
|
marker = parser.index + 1;
|
|
981
986
|
}
|
|
987
|
+
else if (char === 8232 || char === 8233) {
|
|
988
|
+
parser.column = -1;
|
|
989
|
+
parser.line++;
|
|
990
|
+
}
|
|
982
991
|
if (parser.index >= parser.end)
|
|
983
992
|
report(parser, 16);
|
|
984
993
|
char = advanceChar(parser);
|
|
@@ -1628,6 +1637,7 @@ function scanIdentifierUnicodeEscape(parser) {
|
|
|
1628
1637
|
report(parser, 5);
|
|
1629
1638
|
}
|
|
1630
1639
|
parser.currentChar = parser.source.charCodeAt((parser.index += 2));
|
|
1640
|
+
parser.column += 2;
|
|
1631
1641
|
return scanUnicodeEscape(parser);
|
|
1632
1642
|
}
|
|
1633
1643
|
function scanUnicodeEscape(parser) {
|
|
@@ -1659,6 +1669,7 @@ function scanUnicodeEscape(parser) {
|
|
|
1659
1669
|
report(parser, 7);
|
|
1660
1670
|
codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);
|
|
1661
1671
|
parser.currentChar = parser.source.charCodeAt((parser.index += 4));
|
|
1672
|
+
parser.column += 4;
|
|
1662
1673
|
return codePoint;
|
|
1663
1674
|
}
|
|
1664
1675
|
|
|
@@ -4711,31 +4722,33 @@ function classifyIdentifier(parser, context, t) {
|
|
|
4711
4722
|
}
|
|
4712
4723
|
|
|
4713
4724
|
class Parser {
|
|
4725
|
+
source;
|
|
4726
|
+
options;
|
|
4727
|
+
lastOnToken = null;
|
|
4728
|
+
token = 1048576;
|
|
4729
|
+
flags = 0;
|
|
4730
|
+
index = 0;
|
|
4731
|
+
line = 1;
|
|
4732
|
+
column = 0;
|
|
4733
|
+
startIndex = 0;
|
|
4734
|
+
end = 0;
|
|
4735
|
+
tokenIndex = 0;
|
|
4736
|
+
startColumn = 0;
|
|
4737
|
+
tokenColumn = 0;
|
|
4738
|
+
tokenLine = 1;
|
|
4739
|
+
startLine = 1;
|
|
4740
|
+
tokenValue = '';
|
|
4741
|
+
tokenRaw = '';
|
|
4742
|
+
tokenRegExp = void 0;
|
|
4743
|
+
currentChar = 0;
|
|
4744
|
+
exportedNames = {};
|
|
4745
|
+
exportedBindings = {};
|
|
4746
|
+
assignable = 1;
|
|
4747
|
+
destructible = 0;
|
|
4748
|
+
leadingDecorators = { decorators: [] };
|
|
4714
4749
|
constructor(source, options = {}) {
|
|
4715
4750
|
this.source = source;
|
|
4716
4751
|
this.options = options;
|
|
4717
|
-
this.lastOnToken = null;
|
|
4718
|
-
this.token = 1048576;
|
|
4719
|
-
this.flags = 0;
|
|
4720
|
-
this.index = 0;
|
|
4721
|
-
this.line = 1;
|
|
4722
|
-
this.column = 0;
|
|
4723
|
-
this.startIndex = 0;
|
|
4724
|
-
this.end = 0;
|
|
4725
|
-
this.tokenIndex = 0;
|
|
4726
|
-
this.startColumn = 0;
|
|
4727
|
-
this.tokenColumn = 0;
|
|
4728
|
-
this.tokenLine = 1;
|
|
4729
|
-
this.startLine = 1;
|
|
4730
|
-
this.tokenValue = '';
|
|
4731
|
-
this.tokenRaw = '';
|
|
4732
|
-
this.tokenRegExp = void 0;
|
|
4733
|
-
this.currentChar = 0;
|
|
4734
|
-
this.exportedNames = {};
|
|
4735
|
-
this.exportedBindings = {};
|
|
4736
|
-
this.assignable = 1;
|
|
4737
|
-
this.destructible = 0;
|
|
4738
|
-
this.leadingDecorators = { decorators: [] };
|
|
4739
4752
|
this.end = source.length;
|
|
4740
4753
|
this.currentChar = source.charCodeAt(0);
|
|
4741
4754
|
}
|
|
@@ -4987,7 +5000,7 @@ function parseStatementListItem(parser, context, scope, privateScope, origin, la
|
|
|
4987
5000
|
case 67174411:
|
|
4988
5001
|
return parseImportCallDeclaration(parser, context, privateScope, start);
|
|
4989
5002
|
case 67108877:
|
|
4990
|
-
return parseImportMetaDeclaration(parser, context);
|
|
5003
|
+
return parseImportMetaDeclaration(parser, context, start);
|
|
4991
5004
|
default:
|
|
4992
5005
|
report(parser, 103, 'import');
|
|
4993
5006
|
}
|
|
@@ -5072,7 +5085,7 @@ function parseExpressionOrLabelledStatement(parser, context, scope, privateScope
|
|
|
5072
5085
|
}
|
|
5073
5086
|
return parseExpressionStatement(parser, context, expr, tokenStart);
|
|
5074
5087
|
}
|
|
5075
|
-
function parseBlock(parser, context, scope, privateScope, labels, start, type = 'BlockStatement') {
|
|
5088
|
+
function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
|
|
5076
5089
|
const body = [];
|
|
5077
5090
|
consume(parser, context | 8192, 2162700);
|
|
5078
5091
|
while (parser.getToken() !== 1074790415) {
|
|
@@ -5357,7 +5370,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
5357
5370
|
const start = parser.tokenStart;
|
|
5358
5371
|
nextToken(parser, context | 8192);
|
|
5359
5372
|
const firstScope = scope ? addChildScope(scope, 32) : void 0;
|
|
5360
|
-
const block = parseBlock(parser, context, firstScope, privateScope, { $: labels }
|
|
5373
|
+
const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
|
|
5361
5374
|
const { tokenStart } = parser;
|
|
5362
5375
|
const handler = consumeOpt(parser, context | 8192, 20557)
|
|
5363
5376
|
? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
|
|
@@ -5366,7 +5379,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
|
|
|
5366
5379
|
if (parser.getToken() === 20566) {
|
|
5367
5380
|
nextToken(parser, context | 8192);
|
|
5368
5381
|
const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;
|
|
5369
|
-
const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels }
|
|
5382
|
+
const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
|
|
5370
5383
|
finalizer = block;
|
|
5371
5384
|
}
|
|
5372
5385
|
if (!handler && !finalizer) {
|
|
@@ -5398,7 +5411,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
|
|
|
5398
5411
|
}
|
|
5399
5412
|
if (scope)
|
|
5400
5413
|
additionalScope = addChildScope(scope, 64);
|
|
5401
|
-
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels }
|
|
5414
|
+
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
|
|
5402
5415
|
return parser.finishNode({
|
|
5403
5416
|
type: 'CatchClause',
|
|
5404
5417
|
param,
|
|
@@ -5654,7 +5667,7 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
|
|
|
5654
5667
|
init = parseAssignmentExpression(parser, context | 33554432, privateScope, 0, 0, tokenStart, init);
|
|
5655
5668
|
}
|
|
5656
5669
|
if (parser.getToken() === 18)
|
|
5657
|
-
init = parseSequenceExpression(parser, context, privateScope, 0,
|
|
5670
|
+
init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);
|
|
5658
5671
|
consume(parser, context | 8192, 1074790417);
|
|
5659
5672
|
if (parser.getToken() !== 1074790417)
|
|
5660
5673
|
test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);
|
|
@@ -5722,7 +5735,7 @@ function parseImportDeclaration(parser, context, scope) {
|
|
|
5722
5735
|
case 67174411:
|
|
5723
5736
|
return parseImportCallDeclaration(parser, context, undefined, start);
|
|
5724
5737
|
case 67108877:
|
|
5725
|
-
return parseImportMetaDeclaration(parser, context);
|
|
5738
|
+
return parseImportMetaDeclaration(parser, context, start);
|
|
5726
5739
|
default:
|
|
5727
5740
|
report(parser, 30, KeywordDescTable[parser.getToken() & 255]);
|
|
5728
5741
|
}
|
|
@@ -5795,12 +5808,11 @@ function parseImportSpecifierOrNamedImports(parser, context, scope, specifiers)
|
|
|
5795
5808
|
consume(parser, context, 1074790415);
|
|
5796
5809
|
return specifiers;
|
|
5797
5810
|
}
|
|
5798
|
-
function parseImportMetaDeclaration(parser, context) {
|
|
5799
|
-
const start = parser.tokenStart;
|
|
5811
|
+
function parseImportMetaDeclaration(parser, context, start) {
|
|
5800
5812
|
let expr = parseImportMetaExpression(parser, context, parser.finishNode({
|
|
5801
5813
|
type: 'Identifier',
|
|
5802
5814
|
name: 'import',
|
|
5803
|
-
}, start));
|
|
5815
|
+
}, start), start);
|
|
5804
5816
|
expr = parseMemberOrUpdateExpression(parser, context, undefined, expr, 0, 0, start);
|
|
5805
5817
|
expr = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expr);
|
|
5806
5818
|
if (parser.getToken() === 18) {
|
|
@@ -6409,7 +6421,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
|
|
|
6409
6421
|
tag: expr,
|
|
6410
6422
|
quasi: parser.getToken() === 67174408
|
|
6411
6423
|
? parseTemplate(parser, context | 16384, privateScope)
|
|
6412
|
-
: parseTemplateLiteral(parser, context
|
|
6424
|
+
: parseTemplateLiteral(parser, context),
|
|
6413
6425
|
}, start);
|
|
6414
6426
|
}
|
|
6415
6427
|
expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);
|
|
@@ -6578,7 +6590,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6578
6590
|
case 86109:
|
|
6579
6591
|
return parseSuperExpression(parser, context);
|
|
6580
6592
|
case 67174409:
|
|
6581
|
-
return parseTemplateLiteral(parser, context
|
|
6593
|
+
return parseTemplateLiteral(parser, context);
|
|
6582
6594
|
case 67174408:
|
|
6583
6595
|
return parseTemplate(parser, context, privateScope);
|
|
6584
6596
|
case 86107:
|
|
@@ -6601,7 +6613,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
|
|
|
6601
6613
|
function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start) {
|
|
6602
6614
|
let expr = parseIdentifier(parser, context);
|
|
6603
6615
|
if (parser.getToken() === 67108877) {
|
|
6604
|
-
return parseImportMetaExpression(parser, context, expr);
|
|
6616
|
+
return parseImportMetaExpression(parser, context, expr, start);
|
|
6605
6617
|
}
|
|
6606
6618
|
if (inNew)
|
|
6607
6619
|
report(parser, 142);
|
|
@@ -6609,10 +6621,9 @@ function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, i
|
|
|
6609
6621
|
parser.assignable = 2;
|
|
6610
6622
|
return parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);
|
|
6611
6623
|
}
|
|
6612
|
-
function parseImportMetaExpression(parser, context, meta) {
|
|
6624
|
+
function parseImportMetaExpression(parser, context, meta, start) {
|
|
6613
6625
|
if ((context & 512) === 0)
|
|
6614
6626
|
report(parser, 169);
|
|
6615
|
-
const { tokenStart } = parser;
|
|
6616
6627
|
nextToken(parser, context);
|
|
6617
6628
|
const token = parser.getToken();
|
|
6618
6629
|
if (token !== 209030 && parser.tokenValue !== 'meta') {
|
|
@@ -6626,7 +6637,7 @@ function parseImportMetaExpression(parser, context, meta) {
|
|
|
6626
6637
|
type: 'MetaProperty',
|
|
6627
6638
|
meta,
|
|
6628
6639
|
property: parseIdentifier(parser, context),
|
|
6629
|
-
},
|
|
6640
|
+
}, start);
|
|
6630
6641
|
}
|
|
6631
6642
|
function parseImportExpression(parser, context, privateScope, inGroup, start) {
|
|
6632
6643
|
consume(parser, context | 8192, 67174411);
|
|
@@ -6749,7 +6760,7 @@ function parseBigIntLiteral(parser, context) {
|
|
|
6749
6760
|
}
|
|
6750
6761
|
return parser.finishNode(node, tokenStart);
|
|
6751
6762
|
}
|
|
6752
|
-
function parseTemplateLiteral(parser, context
|
|
6763
|
+
function parseTemplateLiteral(parser, context) {
|
|
6753
6764
|
parser.assignable = 2;
|
|
6754
6765
|
const { tokenValue, tokenRaw, tokenStart } = parser;
|
|
6755
6766
|
consume(parser, context, 67174409);
|
|
@@ -6758,7 +6769,7 @@ function parseTemplateLiteral(parser, context, start) {
|
|
|
6758
6769
|
type: 'TemplateLiteral',
|
|
6759
6770
|
expressions: [],
|
|
6760
6771
|
quasis,
|
|
6761
|
-
},
|
|
6772
|
+
}, tokenStart);
|
|
6762
6773
|
}
|
|
6763
6774
|
function parseTemplate(parser, context, privateScope) {
|
|
6764
6775
|
context = (context | 33554432) ^ 33554432;
|
|
@@ -7847,7 +7858,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
|
|
|
7847
7858
|
destructible |= 16;
|
|
7848
7859
|
key = parseLiteral(parser, context);
|
|
7849
7860
|
state |= 1;
|
|
7850
|
-
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, tokenStart);
|
|
7861
|
+
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
|
|
7851
7862
|
}
|
|
7852
7863
|
else if (parser.getToken() === 69271571) {
|
|
7853
7864
|
destructible |= 16;
|
|
@@ -8338,7 +8349,7 @@ function parseMemberExpressionNoCall(parser, context, privateScope, expr, inGrou
|
|
|
8338
8349
|
tag: expr,
|
|
8339
8350
|
quasi: parser.getToken() === 67174408
|
|
8340
8351
|
? parseTemplate(parser, context | 16384, privateScope)
|
|
8341
|
-
: parseTemplateLiteral(parser, context | 16384
|
|
8352
|
+
: parseTemplateLiteral(parser, context | 16384),
|
|
8342
8353
|
}, start), 0, start);
|
|
8343
8354
|
}
|
|
8344
8355
|
}
|
|
@@ -8637,12 +8648,13 @@ function parseDecorators(parser, context, privateScope) {
|
|
|
8637
8648
|
const list = [];
|
|
8638
8649
|
if (context & 1) {
|
|
8639
8650
|
while (parser.getToken() === 132) {
|
|
8640
|
-
list.push(parseDecoratorList(parser, context, privateScope
|
|
8651
|
+
list.push(parseDecoratorList(parser, context, privateScope));
|
|
8641
8652
|
}
|
|
8642
8653
|
}
|
|
8643
8654
|
return list;
|
|
8644
8655
|
}
|
|
8645
|
-
function parseDecoratorList(parser, context, privateScope
|
|
8656
|
+
function parseDecoratorList(parser, context, privateScope) {
|
|
8657
|
+
const start = parser.tokenStart;
|
|
8646
8658
|
nextToken(parser, context | 8192);
|
|
8647
8659
|
let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);
|
|
8648
8660
|
expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);
|
|
@@ -8690,7 +8702,6 @@ function parseClassBody(parser, context, inheritedContext, scope, parentScope, k
|
|
|
8690
8702
|
function parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {
|
|
8691
8703
|
let kind = isStatic ? 32 : 0;
|
|
8692
8704
|
let key = null;
|
|
8693
|
-
const { tokenStart } = parser;
|
|
8694
8705
|
const token = parser.getToken();
|
|
8695
8706
|
if (token & (143360 | 36864) || token === -2147483528) {
|
|
8696
8707
|
key = parseIdentifier(parser, context);
|
|
@@ -8706,7 +8717,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8706
8717
|
case 209005:
|
|
8707
8718
|
if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
|
|
8708
8719
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8709
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8720
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8710
8721
|
}
|
|
8711
8722
|
kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);
|
|
8712
8723
|
}
|
|
@@ -8714,7 +8725,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8714
8725
|
case 209008:
|
|
8715
8726
|
if (parser.getToken() !== 67174411) {
|
|
8716
8727
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8717
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8728
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8718
8729
|
}
|
|
8719
8730
|
kind |= 256;
|
|
8720
8731
|
}
|
|
@@ -8722,7 +8733,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8722
8733
|
case 209009:
|
|
8723
8734
|
if (parser.getToken() !== 67174411) {
|
|
8724
8735
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8725
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8736
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8726
8737
|
}
|
|
8727
8738
|
kind |= 512;
|
|
8728
8739
|
}
|
|
@@ -8730,7 +8741,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
|
|
|
8730
8741
|
case 12402:
|
|
8731
8742
|
if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
|
|
8732
8743
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8733
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8744
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8734
8745
|
}
|
|
8735
8746
|
if (context & 1)
|
|
8736
8747
|
kind |= 1024;
|
|
@@ -9238,7 +9249,7 @@ function parseJSXIdentifier(parser, context) {
|
|
|
9238
9249
|
}, start);
|
|
9239
9250
|
}
|
|
9240
9251
|
|
|
9241
|
-
var version$1 = "6.1.
|
|
9252
|
+
var version$1 = "6.1.3";
|
|
9242
9253
|
|
|
9243
9254
|
const version = version$1;
|
|
9244
9255
|
function parseScript(source, options) {
|
package/dist/meriyah.umd.js
CHANGED
|
@@ -184,6 +184,11 @@
|
|
|
184
184
|
[177]: 'cannot use "await" in static blocks',
|
|
185
185
|
};
|
|
186
186
|
class ParseError extends SyntaxError {
|
|
187
|
+
start;
|
|
188
|
+
end;
|
|
189
|
+
range;
|
|
190
|
+
loc;
|
|
191
|
+
description;
|
|
187
192
|
constructor(start, end, type, ...params) {
|
|
188
193
|
const description = errorMessages[type].replace(/%(\d+)/g, (_, i) => params[i]);
|
|
189
194
|
const message = '[' + start.line + ':' + start.column + '-' + end.line + ':' + end.column + ']: ' + description;
|
|
@@ -985,6 +990,10 @@
|
|
|
985
990
|
}
|
|
986
991
|
marker = parser.index + 1;
|
|
987
992
|
}
|
|
993
|
+
else if (char === 8232 || char === 8233) {
|
|
994
|
+
parser.column = -1;
|
|
995
|
+
parser.line++;
|
|
996
|
+
}
|
|
988
997
|
if (parser.index >= parser.end)
|
|
989
998
|
report(parser, 16);
|
|
990
999
|
char = advanceChar(parser);
|
|
@@ -1634,6 +1643,7 @@
|
|
|
1634
1643
|
report(parser, 5);
|
|
1635
1644
|
}
|
|
1636
1645
|
parser.currentChar = parser.source.charCodeAt((parser.index += 2));
|
|
1646
|
+
parser.column += 2;
|
|
1637
1647
|
return scanUnicodeEscape(parser);
|
|
1638
1648
|
}
|
|
1639
1649
|
function scanUnicodeEscape(parser) {
|
|
@@ -1665,6 +1675,7 @@
|
|
|
1665
1675
|
report(parser, 7);
|
|
1666
1676
|
codePoint = (toHex(char) << 12) | (toHex(char2) << 8) | (toHex(char3) << 4) | toHex(char4);
|
|
1667
1677
|
parser.currentChar = parser.source.charCodeAt((parser.index += 4));
|
|
1678
|
+
parser.column += 4;
|
|
1668
1679
|
return codePoint;
|
|
1669
1680
|
}
|
|
1670
1681
|
|
|
@@ -4717,31 +4728,33 @@
|
|
|
4717
4728
|
}
|
|
4718
4729
|
|
|
4719
4730
|
class Parser {
|
|
4731
|
+
source;
|
|
4732
|
+
options;
|
|
4733
|
+
lastOnToken = null;
|
|
4734
|
+
token = 1048576;
|
|
4735
|
+
flags = 0;
|
|
4736
|
+
index = 0;
|
|
4737
|
+
line = 1;
|
|
4738
|
+
column = 0;
|
|
4739
|
+
startIndex = 0;
|
|
4740
|
+
end = 0;
|
|
4741
|
+
tokenIndex = 0;
|
|
4742
|
+
startColumn = 0;
|
|
4743
|
+
tokenColumn = 0;
|
|
4744
|
+
tokenLine = 1;
|
|
4745
|
+
startLine = 1;
|
|
4746
|
+
tokenValue = '';
|
|
4747
|
+
tokenRaw = '';
|
|
4748
|
+
tokenRegExp = void 0;
|
|
4749
|
+
currentChar = 0;
|
|
4750
|
+
exportedNames = {};
|
|
4751
|
+
exportedBindings = {};
|
|
4752
|
+
assignable = 1;
|
|
4753
|
+
destructible = 0;
|
|
4754
|
+
leadingDecorators = { decorators: [] };
|
|
4720
4755
|
constructor(source, options = {}) {
|
|
4721
4756
|
this.source = source;
|
|
4722
4757
|
this.options = options;
|
|
4723
|
-
this.lastOnToken = null;
|
|
4724
|
-
this.token = 1048576;
|
|
4725
|
-
this.flags = 0;
|
|
4726
|
-
this.index = 0;
|
|
4727
|
-
this.line = 1;
|
|
4728
|
-
this.column = 0;
|
|
4729
|
-
this.startIndex = 0;
|
|
4730
|
-
this.end = 0;
|
|
4731
|
-
this.tokenIndex = 0;
|
|
4732
|
-
this.startColumn = 0;
|
|
4733
|
-
this.tokenColumn = 0;
|
|
4734
|
-
this.tokenLine = 1;
|
|
4735
|
-
this.startLine = 1;
|
|
4736
|
-
this.tokenValue = '';
|
|
4737
|
-
this.tokenRaw = '';
|
|
4738
|
-
this.tokenRegExp = void 0;
|
|
4739
|
-
this.currentChar = 0;
|
|
4740
|
-
this.exportedNames = {};
|
|
4741
|
-
this.exportedBindings = {};
|
|
4742
|
-
this.assignable = 1;
|
|
4743
|
-
this.destructible = 0;
|
|
4744
|
-
this.leadingDecorators = { decorators: [] };
|
|
4745
4758
|
this.end = source.length;
|
|
4746
4759
|
this.currentChar = source.charCodeAt(0);
|
|
4747
4760
|
}
|
|
@@ -4993,7 +5006,7 @@
|
|
|
4993
5006
|
case 67174411:
|
|
4994
5007
|
return parseImportCallDeclaration(parser, context, privateScope, start);
|
|
4995
5008
|
case 67108877:
|
|
4996
|
-
return parseImportMetaDeclaration(parser, context);
|
|
5009
|
+
return parseImportMetaDeclaration(parser, context, start);
|
|
4997
5010
|
default:
|
|
4998
5011
|
report(parser, 103, 'import');
|
|
4999
5012
|
}
|
|
@@ -5078,7 +5091,7 @@
|
|
|
5078
5091
|
}
|
|
5079
5092
|
return parseExpressionStatement(parser, context, expr, tokenStart);
|
|
5080
5093
|
}
|
|
5081
|
-
function parseBlock(parser, context, scope, privateScope, labels, start, type = 'BlockStatement') {
|
|
5094
|
+
function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
|
|
5082
5095
|
const body = [];
|
|
5083
5096
|
consume(parser, context | 8192, 2162700);
|
|
5084
5097
|
while (parser.getToken() !== 1074790415) {
|
|
@@ -5363,7 +5376,7 @@
|
|
|
5363
5376
|
const start = parser.tokenStart;
|
|
5364
5377
|
nextToken(parser, context | 8192);
|
|
5365
5378
|
const firstScope = scope ? addChildScope(scope, 32) : void 0;
|
|
5366
|
-
const block = parseBlock(parser, context, firstScope, privateScope, { $: labels }
|
|
5379
|
+
const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
|
|
5367
5380
|
const { tokenStart } = parser;
|
|
5368
5381
|
const handler = consumeOpt(parser, context | 8192, 20557)
|
|
5369
5382
|
? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
|
|
@@ -5372,7 +5385,7 @@
|
|
|
5372
5385
|
if (parser.getToken() === 20566) {
|
|
5373
5386
|
nextToken(parser, context | 8192);
|
|
5374
5387
|
const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;
|
|
5375
|
-
const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels }
|
|
5388
|
+
const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
|
|
5376
5389
|
finalizer = block;
|
|
5377
5390
|
}
|
|
5378
5391
|
if (!handler && !finalizer) {
|
|
@@ -5404,7 +5417,7 @@
|
|
|
5404
5417
|
}
|
|
5405
5418
|
if (scope)
|
|
5406
5419
|
additionalScope = addChildScope(scope, 64);
|
|
5407
|
-
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels }
|
|
5420
|
+
const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
|
|
5408
5421
|
return parser.finishNode({
|
|
5409
5422
|
type: 'CatchClause',
|
|
5410
5423
|
param,
|
|
@@ -5660,7 +5673,7 @@
|
|
|
5660
5673
|
init = parseAssignmentExpression(parser, context | 33554432, privateScope, 0, 0, tokenStart, init);
|
|
5661
5674
|
}
|
|
5662
5675
|
if (parser.getToken() === 18)
|
|
5663
|
-
init = parseSequenceExpression(parser, context, privateScope, 0,
|
|
5676
|
+
init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);
|
|
5664
5677
|
consume(parser, context | 8192, 1074790417);
|
|
5665
5678
|
if (parser.getToken() !== 1074790417)
|
|
5666
5679
|
test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);
|
|
@@ -5728,7 +5741,7 @@
|
|
|
5728
5741
|
case 67174411:
|
|
5729
5742
|
return parseImportCallDeclaration(parser, context, undefined, start);
|
|
5730
5743
|
case 67108877:
|
|
5731
|
-
return parseImportMetaDeclaration(parser, context);
|
|
5744
|
+
return parseImportMetaDeclaration(parser, context, start);
|
|
5732
5745
|
default:
|
|
5733
5746
|
report(parser, 30, KeywordDescTable[parser.getToken() & 255]);
|
|
5734
5747
|
}
|
|
@@ -5801,12 +5814,11 @@
|
|
|
5801
5814
|
consume(parser, context, 1074790415);
|
|
5802
5815
|
return specifiers;
|
|
5803
5816
|
}
|
|
5804
|
-
function parseImportMetaDeclaration(parser, context) {
|
|
5805
|
-
const start = parser.tokenStart;
|
|
5817
|
+
function parseImportMetaDeclaration(parser, context, start) {
|
|
5806
5818
|
let expr = parseImportMetaExpression(parser, context, parser.finishNode({
|
|
5807
5819
|
type: 'Identifier',
|
|
5808
5820
|
name: 'import',
|
|
5809
|
-
}, start));
|
|
5821
|
+
}, start), start);
|
|
5810
5822
|
expr = parseMemberOrUpdateExpression(parser, context, undefined, expr, 0, 0, start);
|
|
5811
5823
|
expr = parseAssignmentExpression(parser, context, undefined, 0, 0, start, expr);
|
|
5812
5824
|
if (parser.getToken() === 18) {
|
|
@@ -6415,7 +6427,7 @@
|
|
|
6415
6427
|
tag: expr,
|
|
6416
6428
|
quasi: parser.getToken() === 67174408
|
|
6417
6429
|
? parseTemplate(parser, context | 16384, privateScope)
|
|
6418
|
-
: parseTemplateLiteral(parser, context
|
|
6430
|
+
: parseTemplateLiteral(parser, context),
|
|
6419
6431
|
}, start);
|
|
6420
6432
|
}
|
|
6421
6433
|
expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);
|
|
@@ -6584,7 +6596,7 @@
|
|
|
6584
6596
|
case 86109:
|
|
6585
6597
|
return parseSuperExpression(parser, context);
|
|
6586
6598
|
case 67174409:
|
|
6587
|
-
return parseTemplateLiteral(parser, context
|
|
6599
|
+
return parseTemplateLiteral(parser, context);
|
|
6588
6600
|
case 67174408:
|
|
6589
6601
|
return parseTemplate(parser, context, privateScope);
|
|
6590
6602
|
case 86107:
|
|
@@ -6607,7 +6619,7 @@
|
|
|
6607
6619
|
function parseImportCallOrMetaExpression(parser, context, privateScope, inNew, inGroup, start) {
|
|
6608
6620
|
let expr = parseIdentifier(parser, context);
|
|
6609
6621
|
if (parser.getToken() === 67108877) {
|
|
6610
|
-
return parseImportMetaExpression(parser, context, expr);
|
|
6622
|
+
return parseImportMetaExpression(parser, context, expr, start);
|
|
6611
6623
|
}
|
|
6612
6624
|
if (inNew)
|
|
6613
6625
|
report(parser, 142);
|
|
@@ -6615,10 +6627,9 @@
|
|
|
6615
6627
|
parser.assignable = 2;
|
|
6616
6628
|
return parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGroup, 0, start);
|
|
6617
6629
|
}
|
|
6618
|
-
function parseImportMetaExpression(parser, context, meta) {
|
|
6630
|
+
function parseImportMetaExpression(parser, context, meta, start) {
|
|
6619
6631
|
if ((context & 512) === 0)
|
|
6620
6632
|
report(parser, 169);
|
|
6621
|
-
const { tokenStart } = parser;
|
|
6622
6633
|
nextToken(parser, context);
|
|
6623
6634
|
const token = parser.getToken();
|
|
6624
6635
|
if (token !== 209030 && parser.tokenValue !== 'meta') {
|
|
@@ -6632,7 +6643,7 @@
|
|
|
6632
6643
|
type: 'MetaProperty',
|
|
6633
6644
|
meta,
|
|
6634
6645
|
property: parseIdentifier(parser, context),
|
|
6635
|
-
},
|
|
6646
|
+
}, start);
|
|
6636
6647
|
}
|
|
6637
6648
|
function parseImportExpression(parser, context, privateScope, inGroup, start) {
|
|
6638
6649
|
consume(parser, context | 8192, 67174411);
|
|
@@ -6755,7 +6766,7 @@
|
|
|
6755
6766
|
}
|
|
6756
6767
|
return parser.finishNode(node, tokenStart);
|
|
6757
6768
|
}
|
|
6758
|
-
function parseTemplateLiteral(parser, context
|
|
6769
|
+
function parseTemplateLiteral(parser, context) {
|
|
6759
6770
|
parser.assignable = 2;
|
|
6760
6771
|
const { tokenValue, tokenRaw, tokenStart } = parser;
|
|
6761
6772
|
consume(parser, context, 67174409);
|
|
@@ -6764,7 +6775,7 @@
|
|
|
6764
6775
|
type: 'TemplateLiteral',
|
|
6765
6776
|
expressions: [],
|
|
6766
6777
|
quasis,
|
|
6767
|
-
},
|
|
6778
|
+
}, tokenStart);
|
|
6768
6779
|
}
|
|
6769
6780
|
function parseTemplate(parser, context, privateScope) {
|
|
6770
6781
|
context = (context | 33554432) ^ 33554432;
|
|
@@ -7853,7 +7864,7 @@
|
|
|
7853
7864
|
destructible |= 16;
|
|
7854
7865
|
key = parseLiteral(parser, context);
|
|
7855
7866
|
state |= 1;
|
|
7856
|
-
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, tokenStart);
|
|
7867
|
+
value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
|
|
7857
7868
|
}
|
|
7858
7869
|
else if (parser.getToken() === 69271571) {
|
|
7859
7870
|
destructible |= 16;
|
|
@@ -8344,7 +8355,7 @@
|
|
|
8344
8355
|
tag: expr,
|
|
8345
8356
|
quasi: parser.getToken() === 67174408
|
|
8346
8357
|
? parseTemplate(parser, context | 16384, privateScope)
|
|
8347
|
-
: parseTemplateLiteral(parser, context | 16384
|
|
8358
|
+
: parseTemplateLiteral(parser, context | 16384),
|
|
8348
8359
|
}, start), 0, start);
|
|
8349
8360
|
}
|
|
8350
8361
|
}
|
|
@@ -8643,12 +8654,13 @@
|
|
|
8643
8654
|
const list = [];
|
|
8644
8655
|
if (context & 1) {
|
|
8645
8656
|
while (parser.getToken() === 132) {
|
|
8646
|
-
list.push(parseDecoratorList(parser, context, privateScope
|
|
8657
|
+
list.push(parseDecoratorList(parser, context, privateScope));
|
|
8647
8658
|
}
|
|
8648
8659
|
}
|
|
8649
8660
|
return list;
|
|
8650
8661
|
}
|
|
8651
|
-
function parseDecoratorList(parser, context, privateScope
|
|
8662
|
+
function parseDecoratorList(parser, context, privateScope) {
|
|
8663
|
+
const start = parser.tokenStart;
|
|
8652
8664
|
nextToken(parser, context | 8192);
|
|
8653
8665
|
let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);
|
|
8654
8666
|
expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);
|
|
@@ -8696,7 +8708,6 @@
|
|
|
8696
8708
|
function parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {
|
|
8697
8709
|
let kind = isStatic ? 32 : 0;
|
|
8698
8710
|
let key = null;
|
|
8699
|
-
const { tokenStart } = parser;
|
|
8700
8711
|
const token = parser.getToken();
|
|
8701
8712
|
if (token & (143360 | 36864) || token === -2147483528) {
|
|
8702
8713
|
key = parseIdentifier(parser, context);
|
|
@@ -8712,7 +8723,7 @@
|
|
|
8712
8723
|
case 209005:
|
|
8713
8724
|
if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
|
|
8714
8725
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8715
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8726
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8716
8727
|
}
|
|
8717
8728
|
kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);
|
|
8718
8729
|
}
|
|
@@ -8720,7 +8731,7 @@
|
|
|
8720
8731
|
case 209008:
|
|
8721
8732
|
if (parser.getToken() !== 67174411) {
|
|
8722
8733
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8723
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8734
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8724
8735
|
}
|
|
8725
8736
|
kind |= 256;
|
|
8726
8737
|
}
|
|
@@ -8728,7 +8739,7 @@
|
|
|
8728
8739
|
case 209009:
|
|
8729
8740
|
if (parser.getToken() !== 67174411) {
|
|
8730
8741
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8731
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8742
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8732
8743
|
}
|
|
8733
8744
|
kind |= 512;
|
|
8734
8745
|
}
|
|
@@ -8736,7 +8747,7 @@
|
|
|
8736
8747
|
case 12402:
|
|
8737
8748
|
if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
|
|
8738
8749
|
if ((parser.getToken() & 1073741824) === 1073741824) {
|
|
8739
|
-
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators,
|
|
8750
|
+
return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
|
|
8740
8751
|
}
|
|
8741
8752
|
if (context & 1)
|
|
8742
8753
|
kind |= 1024;
|
|
@@ -9244,7 +9255,7 @@
|
|
|
9244
9255
|
}, start);
|
|
9245
9256
|
}
|
|
9246
9257
|
|
|
9247
|
-
var version$1 = "6.1.
|
|
9258
|
+
var version$1 = "6.1.3";
|
|
9248
9259
|
|
|
9249
9260
|
const version = version$1;
|
|
9250
9261
|
function parseScript(source, options) {
|