aboutsummaryrefslogtreecommitdiff
path: root/src/yellow/builder.rs
diff options
context:
space:
mode:
authorAleksey Kladov <[email protected]>2018-07-30 01:21:17 +0100
committerAleksey Kladov <[email protected]>2018-07-30 01:21:17 +0100
commitae849cf134f3ff21261e175d95ba994e86ffe81a (patch)
treebe123a10589615f38518e294db56e8821c972e09 /src/yellow/builder.rs
parent83acbc06bd01cd7045566170148e2150f568f77c (diff)
Owned&Borrowed nodes
HOLLY COW, UNLIKE C++, WE CAN BE GENERIC WRT OWNERSHIP/BORROWING, SO WE CAN BOTH MAKE SYNTAX NODES OWNED (WHICH IS CONVENIENT) AND BORROWED (WHICH IS CONVENIENT FOR LOCAL PROCESSING, BC YOU DON'T NEED TO BUMP REFCOUNTS).
Diffstat (limited to 'src/yellow/builder.rs')
-rw-r--r--src/yellow/builder.rs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/yellow/builder.rs b/src/yellow/builder.rs
index 73b4b5ff9..65cc97ff9 100644
--- a/src/yellow/builder.rs
+++ b/src/yellow/builder.rs
@@ -1,6 +1,6 @@
1use { 1use {
2 SyntaxKind, TextRange, TextUnit, 2 SyntaxKind, TextRange, TextUnit,
3 yellow::{SyntaxNode, GreenNode, GreenNodeBuilder, SyntaxError}, 3 yellow::{SyntaxNode, SyntaxRoot, GreenNode, GreenNodeBuilder, SyntaxError},
4 parser::Sink 4 parser::Sink
5}; 5};
6 6
@@ -57,7 +57,8 @@ impl Sink for GreenBuilder {
57 } 57 }
58 58
59 fn finish(self) -> SyntaxNode { 59 fn finish(self) -> SyntaxNode {
60 SyntaxNode::new(self.root.unwrap(), self.errors) 60 let root = SyntaxRoot::new(self.root.unwrap(), self.errors);
61 SyntaxNode::new_owned(root)
61 } 62 }
62} 63}
63 64