diff options
Diffstat (limited to 'src/yellow/green.rs')
-rw-r--r-- | src/yellow/green.rs | 8 |
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() { | |||
64 | pub(crate) struct GreenBranch { | 64 | pub(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 | ||
70 | impl GreenBranch { | 70 | impl 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 | ||