diff options
| author | Bradley Lewis <22850972+BradLewis@users.noreply.github.com> | 2025-10-22 09:46:26 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-10-22 09:46:26 -0400 |
| commit | 3c5a77c625d9946515235548165cad8e80db85ef (patch) | |
| tree | f8b0f1d2b5a7985cd0aec269d8d2e8b57f4e7a25 | |
| parent | 6a6045e1f98f7a822f240b63518402f8d4d6257b (diff) | |
| parent | 6573de43b7d395f5ff792e3b8e0d2aa8479bc07d (diff) | |
Merge pull request #1114 from BradLewis/fix/clone-and-free-selector-call-expr
Clone and free Selector_Call_Expr
| -rw-r--r-- | src/server/ast.odin | 3 | ||||
| -rw-r--r-- | src/server/clone.odin | 3 |
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: |