Skip to content

Commit

Permalink
Fixed for-in unwanted detection of arrow function.
Browse files Browse the repository at this point in the history
  • Loading branch information
VadimZhestikov committed Nov 17, 2022
1 parent 66e4e6c commit 36f649b
Show file tree
Hide file tree
Showing 2 changed files with 11 additions and 6 deletions.
14 changes: 8 additions & 6 deletions src/njs_parser.c
Original file line number Diff line number Diff line change
Expand Up @@ -4291,14 +4291,16 @@ njs_parser_assignment_expression(njs_parser_t *parser,
{
njs_int_t ret;

ret = njs_parser_match_arrow_expression(parser, token);
if (ret == NJS_OK) {
njs_parser_next(parser, njs_parser_arrow_function);
if (!parser->use_lhs) {
ret = njs_parser_match_arrow_expression(parser, token);
if (ret == NJS_OK) {
njs_parser_next(parser, njs_parser_arrow_function);

return NJS_OK;
return NJS_OK;

} else if (ret == NJS_ERROR) {
return NJS_ERROR;
} else if (ret == NJS_ERROR) {
return NJS_ERROR;
}
}

njs_parser_next(parser, njs_parser_conditional_expression);
Expand Down
3 changes: 3 additions & 0 deletions src/test/njs_unit_test.c
Original file line number Diff line number Diff line change
Expand Up @@ -2965,6 +2965,9 @@ static njs_unit_test_t njs_test[] =
{ njs_str("for(I in``[)8"),
njs_str("SyntaxError: Unexpected token \")\" in 1") },

{ njs_str("for(9A=>>"),
njs_str("SyntaxError: Unexpected token \"A\" in 1") },

/* switch. */

{ njs_str("switch"),
Expand Down

0 comments on commit 36f649b

Please sign in to comment.