summaryrefslogtreecommitdiff
path: root/test/parser_test.c
diff options
context:
space:
mode:
authorCarlos Maniero <carlos@maniero.me>2023-05-02 23:45:50 -0300
committerJohnny Richard <johnny@johnnyrichard.com>2023-05-03 22:39:26 +0200
commit990f4d3e4c662c401a08e3704a39878fd6c1c1b6 (patch)
treeeb8e7469afafc6babae582304b8695611e179ad3 /test/parser_test.c
parent77dbf3a5011566b4a6274b3cdfa075dd723642d3 (diff)
parser: Refactor return statement to return an ast_node
During the refactoring process, I identified a memory leak where the return argument was allocated but not freed in case of an error. It also introduces the concept of keyword tokens. Where return is now a keyword simplifying the parser. Signed-off-by: Carlos Maniero <carlos@maniero.me>
Diffstat (limited to 'test/parser_test.c')
-rw-r--r--test/parser_test.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/test/parser_test.c b/test/parser_test.c
index f923c46..52437ce 100644
--- a/test/parser_test.c
+++ b/test/parser_test.c
@@ -208,7 +208,7 @@ test_parse_basic_syntax_errors(const MunitParameter params[], void *user_data_or
assert_parser_error("main(: i32 { return 42; }", "expected ')' but got ':'");
assert_parser_error("main() i32 { return 42; }", "expected ':' but got 'TOKEN_NAME'");
assert_parser_error("main(): { return 42; }", "expected 'TOKEN_NAME' but got '{'");
- assert_parser_error("main(): i32 return 42; }", "expected '{' but got 'TOKEN_NAME'");
+ assert_parser_error("main(): i32 return 42; }", "expected '{' but got 'return'");
assert_parser_error("main(): i32 { 42; }", "expected 'TOKEN_NAME' but got 'TOKEN_NUMBER'");
assert_parser_error("main(): i32 { return; }", "unexpected '; (;)' token");
assert_parser_error("main(): i32 { return 42;", "expected '}' but got end of file");