authorchloe caruso <git@paperclover.net> 2024-02-02 22:45:03-08:00
committergravatar for noreply@github.comGitHub <noreply@github.com> 2024-02-03 07:45:03+01:00
logaeeab025ce0b9698e869be9a04033dd327cb0ad0
tree1dcb4f1bf9fca7b5e9806e70579fb107dbdc1f73
parent91e93a9d73b3caa20e42a0a904802393924c405f

fix(parser): parse empty blocks (#17)


1 files changed, 12 insertions(+), 0 deletions(-)

crates/parser/parse_block.rs+12
...@@ -20,6 +20,18 @@ pub fn parse_block(p: &mut Parser) -> Result<Block> {...@@ -20,6 +20,18 @@ pub fn parse_block(p: &mut Parser) -> Result<Block> {
20 .peek()20 .peek()
21 .map_or(false, |x| x.is_start_of_statement_like_expression());21 .map_or(false, |x| x.is_start_of_statement_like_expression());
2222
23 match p.peek() {
24 Some(TokenType::ClosedBrace) => {
25 p.next();
26 p.is_top_level = was_top_level;
27 return Ok(Block {
28 statements,
29 has_implicit_return: false,
30 });
31 }
32 _ => (),
33 }
34
23 let statement = match parse_statement(p) {35 let statement = match parse_statement(p) {
24 Ok(statement) => statement,36 Ok(statement) => statement,
25 Err(err) => {37 Err(err) => {