mirror of
https://github.com/fergalmoran/ladybird.git
synced 2025-12-26 03:09:08 +00:00
LibJS: Fix do..while parsing by consuming parentheses explicitly (#1652)
Before this patch the parser accepted conditions without enclosing parentheses (like: .."while number < 9").
This commit is contained in:
@@ -729,9 +729,16 @@ NonnullRefPtr<TryStatement> Parser::parse_try_statement()
|
||||
NonnullRefPtr<DoWhileStatement> Parser::parse_do_while_statement()
|
||||
{
|
||||
consume(TokenType::Do);
|
||||
|
||||
auto body = parse_statement();
|
||||
|
||||
consume(TokenType::While);
|
||||
consume(TokenType::ParenOpen);
|
||||
|
||||
auto test = parse_expression(0);
|
||||
|
||||
consume(TokenType::ParenClose);
|
||||
|
||||
return create_ast_node<DoWhileStatement>(move(test), move(body));
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user