diff options
author | Aleksey Kladov <[email protected]> | 2018-07-30 01:21:17 +0100 |
---|---|---|
committer | Aleksey Kladov <[email protected]> | 2018-07-30 01:21:17 +0100 |
commit | ae849cf134f3ff21261e175d95ba994e86ffe81a (patch) | |
tree | be123a10589615f38518e294db56e8821c972e09 /src/yellow/builder.rs | |
parent | 83acbc06bd01cd7045566170148e2150f568f77c (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.rs | 5 |
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 @@ | |||
1 | use { | 1 | use { |
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 | ||