LibJS: Make missing variable decls in for..in/of a syntax error

...instead of a hard crash :P
This commit is contained in:
Ali Mohammad Pur 2021-05-30 10:34:52 +04:30 committed by Linus Groh
parent e10006b3fa
commit 724b89f90c
Notes: sideshowbarker 2024-07-18 17:11:00 +09:00

View file

@ -1961,7 +1961,9 @@ NonnullRefPtr<Statement> Parser::parse_for_in_of_statement(NonnullRefPtr<ASTNode
auto declarations = static_cast<VariableDeclaration&>(*lhs).declarations();
if (declarations.size() > 1)
syntax_error("multiple declarations not allowed in for..in/of");
if (declarations.first().init() != nullptr)
if (declarations.size() < 1)
syntax_error("need exactly one variable declaration in for..in/of");
else if (declarations.first().init() != nullptr)
syntax_error("variable initializer not allowed in for..in/of");
}
auto in_or_of = consume();