From fca3bf239cfdf03c4479f5d0c14a21c1fd96ea3e Mon Sep 17 00:00:00 2001 From: Carson Fleming Date: Fri, 27 Mar 2026 10:30:10 -1000 Subject: woah we got variables --- ast.c | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) (limited to 'ast.c') diff --git a/ast.c b/ast.c index ac95413..1334073 100644 --- a/ast.c +++ b/ast.c @@ -5,7 +5,7 @@ static void expr_destroy(struct expr_node* node); static void stmt_destroy(struct stmt_node* node); static void type_destroy(struct type_node* node) { - free(node->type); + free(node->name); } static void var_decl_destroy(struct var_decl_node* node) { @@ -14,6 +14,10 @@ static void var_decl_destroy(struct var_decl_node* node) { free(node->ident); } +static void var_ref_destroy(struct var_ref_node* node) { + free(node->ident); +} + static void group_destroy(struct group_node* node) { struct stmt_node* body_node = node->body_head; while (body_node != NULL) { @@ -52,6 +56,9 @@ static void expr_destroy(struct expr_node* node) { case EXPR_EMPTY: case EXPR_INT_LIT: break; + case EXPR_VAR_REF: + var_ref_destroy(&node->as._var_ref); + break; } } -- cgit v1.2.3