mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-04-21 12:05:15 +00:00
LibJS: Fix parsing of IfStatement, fixes #1829
This commit is contained in:
parent
3072f9fd82
commit
cebb619f8e
Notes:
sideshowbarker
2024-07-19 07:30:36 +09:00
Author: https://github.com/sunverwerth Commit: https://github.com/SerenityOS/serenity/commit/cebb619f8e6 Pull-request: https://github.com/SerenityOS/serenity/pull/1841
2 changed files with 23 additions and 1 deletions
|
@ -664,8 +664,11 @@ NonnullRefPtr<ReturnStatement> Parser::parse_return_statement()
|
|||
return create_ast_node<ReturnStatement>(nullptr);
|
||||
|
||||
if (match_expression()) {
|
||||
return create_ast_node<ReturnStatement>(parse_expression(0));
|
||||
auto expression = parse_expression(0);
|
||||
consume_or_insert_semicolon();
|
||||
return create_ast_node<ReturnStatement>(move(expression));
|
||||
}
|
||||
|
||||
consume_or_insert_semicolon();
|
||||
return create_ast_node<ReturnStatement>(nullptr);
|
||||
}
|
||||
|
|
|
@ -5,6 +5,25 @@ load("test-common.js");
|
|||
* If this file produces syntax errors, something is wrong.
|
||||
*/
|
||||
|
||||
function bar() {
|
||||
// https://github.com/SerenityOS/serenity/issues/1829
|
||||
if (1)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
|
||||
if (1)
|
||||
return 1
|
||||
else
|
||||
return 0
|
||||
|
||||
if (1)
|
||||
return 1
|
||||
else
|
||||
return 0;
|
||||
|
||||
}
|
||||
|
||||
function foo() {
|
||||
for (var i = 0; i < 4; i++) {
|
||||
break // semicolon inserted here
|
||||
|
|
Loading…
Add table
Reference in a new issue