aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/server/clone.odin6
1 files changed, 6 insertions, 0 deletions
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)