aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDanielGavin <danielgavin5@hotmail.com>2025-06-27 21:41:19 +0200
committerDanielGavin <danielgavin5@hotmail.com>2025-06-27 21:41:19 +0200
commitbaf498d2eff7e3a8dedc2e86a3759da8cdf2a7a6 (patch)
treeb132983ec0a493293e1013bcb0dd0a97dc8f8262
parent344eea71fbf1863106bc051dbae11534e7dcca74 (diff)
Add clone for field.docs.
-rw-r--r--src/server/clone.odin18
1 files changed, 7 insertions, 11 deletions
diff --git a/src/server/clone.odin b/src/server/clone.odin
index 43f8d24..7baec58 100644
--- a/src/server/clone.odin
+++ b/src/server/clone.odin
@@ -208,6 +208,7 @@ clone_node :: proc(node: ^ast.Node, allocator: mem.Allocator, unique_strings: ^m
r.names = clone_type(r.names, allocator, unique_strings)
r.type = clone_type(r.type, allocator, unique_strings)
r.default_value = clone_type(r.default_value, allocator, unique_strings)
+ r.docs = clone_type(r.docs, allocator, unique_strings)
case ^Field_List:
r.list = clone_type(r.list, allocator, unique_strings)
case ^Field_Value:
@@ -283,16 +284,7 @@ clone_node :: proc(node: ^ast.Node, allocator: mem.Allocator, unique_strings: ^m
case ^Comment_Group:
list := make([dynamic]tokenizer.Token, 0, len(r.list), allocator)
for t in r.list {
- append(&list, tokenizer.Token {
- text = strings.clone(t.text, allocator),
- kind = t.kind,
- pos = tokenizer.Pos {
- file = strings.clone(t.pos.file, allocator),
- offset = t.pos.offset,
- line = t.pos.line,
- column = t.pos.column,
- },
- })
+ append(&list, tokenizer.Token{text = strings.clone(t.text, allocator), kind = t.kind, pos = tokenizer.Pos{file = strings.clone(t.pos.file, allocator), offset = t.pos.offset, line = t.pos.line, column = t.pos.column}})
}
r.list = list[:]
case:
@@ -301,6 +293,10 @@ clone_node :: proc(node: ^ast.Node, allocator: mem.Allocator, unique_strings: ^m
return res
}
-clone_comment_group :: proc(node: ^ast.Comment_Group, allocator: mem.Allocator, unique_strings: ^map[string]string) -> ^ast.Comment_Group {
+clone_comment_group :: proc(
+ node: ^ast.Comment_Group,
+ allocator: mem.Allocator,
+ unique_strings: ^map[string]string,
+) -> ^ast.Comment_Group {
return cast(^ast.Comment_Group)clone_node(node, allocator, unique_strings)
}