summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-10-22 09:39:07 -0400
committerBrad Lewis <22850972+BradLewis@users.noreply.github.com>2025-10-22 09:39:07 -0400
commit6573de43b7d395f5ff792e3b8e0d2aa8479bc07d (patch)
treef8b0f1d2b5a7985cd0aec269d8d2e8b57f4e7a25
parent6a6045e1f98f7a822f240b63518402f8d4d6257b (diff)
Clone and free Selector_Call_Expr
-rw-r--r--src/server/ast.odin3
-rw-r--r--src/server/clone.odin3
2 files changed, 6 insertions, 0 deletions
diff --git a/src/server/ast.odin b/src/server/ast.odin
index c695816..60e7d00 100644
--- a/src/server/ast.odin
+++ b/src/server/ast.odin
@@ -659,6 +659,9 @@ free_ast_node :: proc(node: ^ast.Node, allocator: mem.Allocator) {
case ^Selector_Expr:
free_ast(n.expr, allocator)
free_ast(n.field, allocator)
+ case ^Selector_Call_Expr:
+ free_ast(n.expr, allocator)
+ free_ast(n.call, allocator)
case ^Implicit_Selector_Expr:
free_ast(n.field, allocator)
case ^Index_Expr:
diff --git a/src/server/clone.odin b/src/server/clone.odin
index c215fc8..d62f6de 100644
--- a/src/server/clone.odin
+++ b/src/server/clone.odin
@@ -175,6 +175,9 @@ clone_node :: proc(node: ^ast.Node, allocator: mem.Allocator, unique_strings: ^m
case ^Selector_Expr:
r.expr = clone_type(r.expr, allocator, unique_strings)
r.field = auto_cast clone_type(r.field, allocator, unique_strings)
+ case ^Selector_Call_Expr:
+ r.expr = clone_type(r.expr, allocator, unique_strings)
+ r.call = auto_cast clone_type(r.call, allocator, unique_strings)
case ^Implicit_Selector_Expr:
r.field = auto_cast clone_type(r.field, allocator, unique_strings)
case ^Slice_Expr: