From ac37a11f04b31f792068a1cb50dbbf5ccd4d982d Mon Sep 17 00:00:00 2001 From: Veetaha Date: Sun, 26 Jan 2020 20:44:49 +0200 Subject: Reimplemented lexer with vectors instead of iterators --- crates/ra_syntax/src/syntax_node.rs | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'crates/ra_syntax/src/syntax_node.rs') diff --git a/crates/ra_syntax/src/syntax_node.rs b/crates/ra_syntax/src/syntax_node.rs index b3eb5da63..591855302 100644 --- a/crates/ra_syntax/src/syntax_node.rs +++ b/crates/ra_syntax/src/syntax_node.rs @@ -4,7 +4,7 @@ //! `SyntaxNode`, and a basic traversal API (parent, children, siblings). //! //! The *real* implementation is in the (language-agnostic) `rowan` crate, this -//! modules just wraps its API. +//! module just wraps its API. use ra_parser::ParseError; use rowan::{GreenNodeBuilder, Language}; @@ -38,14 +38,15 @@ pub type SyntaxElementChildren = rowan::SyntaxElementChildren; pub use rowan::{Direction, NodeOrToken}; +#[derive(Default)] pub struct SyntaxTreeBuilder { errors: Vec, inner: GreenNodeBuilder<'static>, } -impl Default for SyntaxTreeBuilder { - fn default() -> SyntaxTreeBuilder { - SyntaxTreeBuilder { errors: Vec::new(), inner: GreenNodeBuilder::new() } +impl SyntaxTreeBuilder { + pub fn new(errors: Vec) -> Self { + Self { errors, inner: GreenNodeBuilder::default() } } } -- cgit v1.2.3