aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_syntax/src/lib.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_syntax/src/lib.rs')
-rw-r--r--crates/ra_syntax/src/lib.rs12
1 files changed, 10 insertions, 2 deletions
diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs
index 9790a984d..06d3ea727 100644
--- a/crates/ra_syntax/src/lib.rs
+++ b/crates/ra_syntax/src/lib.rs
@@ -59,11 +59,19 @@ pub use rowan::{SmolStr, TextRange, TextUnit};
59/// files. 59/// files.
60#[derive(Debug, Clone, PartialEq, Eq)] 60#[derive(Debug, Clone, PartialEq, Eq)]
61pub struct Parse { 61pub struct Parse {
62 pub tree: TreeArc<SourceFile>, 62 tree: TreeArc<SourceFile>,
63 pub errors: Arc<Vec<SyntaxError>>, 63 errors: Arc<Vec<SyntaxError>>,
64} 64}
65 65
66impl Parse { 66impl Parse {
67 pub fn tree(&self) -> &SourceFile {
68 &*self.tree
69 }
70
71 pub fn errors(&self) -> &[SyntaxError] {
72 &*self.errors
73 }
74
67 pub fn ok(self) -> Result<TreeArc<SourceFile>, Arc<Vec<SyntaxError>>> { 75 pub fn ok(self) -> Result<TreeArc<SourceFile>, Arc<Vec<SyntaxError>>> {
68 if self.errors.is_empty() { 76 if self.errors.is_empty() {
69 Ok(self.tree) 77 Ok(self.tree)