Skip to content

Commit

Permalink
fix(parser): fixed an issue where async as ident wasn't assignable
Browse files Browse the repository at this point in the history
  • Loading branch information
KFlash committed Jun 4, 2019
1 parent 5d62f79 commit 48b67c3
Show file tree
Hide file tree
Showing 3 changed files with 435 additions and 2 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "meriyah",
"version": "0.2.7",
"version": "0.2.8",
"description": "A 100% compliant, self-hosted javascript parser with high focus on both performance and stability",
"main": "dist/meriyah.umd.js",
"module": "dist/meriyah.esm.js",
Expand Down
4 changes: 3 additions & 1 deletion src/parser.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4281,7 +4281,6 @@ export function parseObjectLiteralOrPattern(
: PropertyKind.Method) | PropertyKind.Computed;

key = parseComputedPropertyName(parser, context, inGroup);

destructible |= parser.assignable;

value = parseMethodDefinition(parser, context, state, parser.tokenIndex);
Expand Down Expand Up @@ -4458,6 +4457,7 @@ export function parseObjectLiteralOrPattern(
if (parser.token === Token.Colon) {
nextToken(parser, context | Context.AllowRegExp); // skip ':'
const idxAfterColon = parser.tokenIndex;

if (parser.token & Token.IsIdentifier) {
value = parsePrimaryExpressionExtended(parser, context, type, 0, 1, inGroup, idxAfterColon);

Expand Down Expand Up @@ -5340,6 +5340,8 @@ export function parseAsyncExpression(
return parseArrowFunctionExpression(parser, context, [expr], 0, start);
}

parser.assignable = AssignmentKind.IsAssignable;

return expr;
}

Expand Down

0 comments on commit 48b67c3

Please sign in to comment.