aboutsummaryrefslogtreecommitdiff
path: root/src/yellow/green.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/yellow/green.rs')
-rw-r--r--src/yellow/green.rs8
1 files changed, 4 insertions, 4 deletions
diff --git a/src/yellow/green.rs b/src/yellow/green.rs
index 5b4ce313a..57579a8f2 100644
--- a/src/yellow/green.rs
+++ b/src/yellow/green.rs
@@ -16,7 +16,7 @@ impl GreenNode {
16 GreenNode::Leaf(GreenLeaf::new(kind, text)) 16 GreenNode::Leaf(GreenLeaf::new(kind, text))
17 } 17 }
18 18
19 pub(crate) fn new_branch(kind: SyntaxKind, children: Vec<GreenNode>) -> GreenNode { 19 pub(crate) fn new_branch(kind: SyntaxKind, children: Box<[GreenNode]>) -> GreenNode {
20 GreenNode::Branch(Arc::new(GreenBranch::new(kind, children))) 20 GreenNode::Branch(Arc::new(GreenBranch::new(kind, children)))
21 } 21 }
22 22
@@ -64,11 +64,11 @@ fn assert_send_sync() {
64pub(crate) struct GreenBranch { 64pub(crate) struct GreenBranch {
65 text_len: TextUnit, 65 text_len: TextUnit,
66 kind: SyntaxKind, 66 kind: SyntaxKind,
67 children: Vec<GreenNode>, 67 children: Box<[GreenNode]>,
68} 68}
69 69
70impl GreenBranch { 70impl GreenBranch {
71 fn new(kind: SyntaxKind, children: Vec<GreenNode>) -> GreenBranch { 71 fn new(kind: SyntaxKind, children: Box<[GreenNode]>) -> GreenBranch {
72 let text_len = children.iter().map(|x| x.text_len()).sum::<TextUnit>(); 72 let text_len = children.iter().map(|x| x.text_len()).sum::<TextUnit>();
73 GreenBranch { 73 GreenBranch {
74 text_len, 74 text_len,
@@ -86,7 +86,7 @@ impl GreenBranch {
86 } 86 }
87 87
88 pub fn children(&self) -> &[GreenNode] { 88 pub fn children(&self) -> &[GreenNode] {
89 self.children.as_slice() 89 &*self.children
90 } 90 }
91} 91}
92 92