From ae849cf134f3ff21261e175d95ba994e86ffe81a Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Mon, 30 Jul 2018 03:21:17 +0300 Subject: 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). --- src/yellow/builder.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) (limited to 'src/yellow/builder.rs') 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 @@ use { SyntaxKind, TextRange, TextUnit, - yellow::{SyntaxNode, GreenNode, GreenNodeBuilder, SyntaxError}, + yellow::{SyntaxNode, SyntaxRoot, GreenNode, GreenNodeBuilder, SyntaxError}, parser::Sink }; @@ -57,7 +57,8 @@ impl Sink for GreenBuilder { } fn finish(self) -> SyntaxNode { - SyntaxNode::new(self.root.unwrap(), self.errors) + let root = SyntaxRoot::new(self.root.unwrap(), self.errors); + SyntaxNode::new_owned(root) } } -- cgit v1.2.3