From bc2550b196fbf341ce0168f7dda5498e4d7aaf63 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 28 May 2019 16:59:22 +0300 Subject: update tests --- crates/ra_syntax/src/lib.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) (limited to 'crates/ra_syntax/src/lib.rs') diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index f765f621b..37320e1ba 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs @@ -31,7 +31,7 @@ pub mod ast; #[doc(hidden)] pub mod fuzz; -use std::sync::Arc; +use std::{sync::Arc, fmt::Write}; use ra_text_edit::AtomTextEdit; @@ -68,6 +68,14 @@ impl Parse { Err(self.errors) } } + + pub fn debug_dump(&self) -> String { + let mut buf = self.tree.syntax().debug_dump(); + for err in self.errors.iter() { + writeln!(buf, "err: `{}`", err).unwrap(); + } + buf + } } /// `SourceFile` represents a parse tree for a single Rust file. @@ -83,6 +91,12 @@ impl SourceFile { TreeArc::cast(root) } + pub fn parse2(text: &str) -> Parse { + let (green, errors) = parsing::parse_text(text); + let tree = SourceFile::new(green); + Parse { tree, errors: Arc::new(errors) } + } + pub fn parse(text: &str) -> TreeArc { let (green, _errors) = parsing::parse_text(text); SourceFile::new(green) -- cgit v1.2.3