From 27ecd5fb6b2dd603f297966611894a1f0b5a89f7 Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Mon, 29 Jul 2024 22:30:42 +0200 Subject: Add missing op token when building string for unary expr node --- src/common/ast.odin | 1 + 1 file changed, 1 insertion(+) (limited to 'src') diff --git a/src/common/ast.odin b/src/common/ast.odin index 267c84d..6e71f60 100644 --- a/src/common/ast.odin +++ b/src/common/ast.odin @@ -1086,6 +1086,7 @@ build_string_node :: proc( case ^Tag_Expr: build_string(n.expr, builder, remove_pointers) case ^Unary_Expr: + strings.write_string(builder, n.op.text) build_string(n.expr, builder, remove_pointers) case ^Binary_Expr: build_string(n.left, builder, remove_pointers) -- cgit v1.2.3 From bc26ac3fd1cf2df7df93a04346c7157fccdbaa3e Mon Sep 17 00:00:00 2001 From: Damian Tarnawski Date: Tue, 30 Jul 2024 23:18:56 +0200 Subject: Clone op token text for unary expr --- src/server/clone.odin | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'src') diff --git a/src/server/clone.odin b/src/server/clone.odin index 2057c98..507e753 100644 --- a/src/server/clone.odin +++ b/src/server/clone.odin @@ -180,7 +180,13 @@ clone_node :: proc( case ^Tag_Expr: r.expr = clone_type(r.expr, allocator, unique_strings) case ^Unary_Expr: + n := node.derived.(^Unary_Expr) r.expr = clone_type(r.expr, allocator, unique_strings) + if unique_strings == nil { + r.op.text = strings.clone(n.op.text, allocator) + } else { + r.op.text = get_index_unique_string(unique_strings, allocator, n.op.text) + } case ^Binary_Expr: n := node.derived.(^Binary_Expr) r.left = clone_type(r.left, allocator, unique_strings) -- cgit v1.2.3