Fix parsing of expression statements
This commit is contained in:
parent
8e2bc3a7f7
commit
ed51ee61ed
@ -135,8 +135,7 @@ namespace parsing {
|
||||
auto ret = new AST::ReturnStatement{ std::move(expression) };
|
||||
return new std::unique_ptr<AST::Statement>{ ret };
|
||||
}
|
||||
else if (inner.peek().type == token::Type::Ident) {
|
||||
if (auto init = parse_init_statement(inner); init.ok()) {
|
||||
else if (auto init = parse_init_statement(inner); init.ok()) {
|
||||
stream.m_position = inner.m_position;
|
||||
return new std::unique_ptr<AST::Statement>{ init.unwrap() };
|
||||
}
|
||||
@ -146,10 +145,6 @@ namespace parsing {
|
||||
auto expr_statement = new AST::ExpressionStatement{ expr.unwrap() };
|
||||
return new std::unique_ptr<AST::Statement>{ expr_statement };
|
||||
}
|
||||
else {
|
||||
throw std::runtime_error("Expected initialization statement");
|
||||
}
|
||||
}
|
||||
else {
|
||||
throw std::runtime_error("Expected return-keyword");
|
||||
}
|
||||
|
||||
Loading…
Reference in New Issue
Block a user