diff --git a/crates/ra_syntax/Cargo.toml b/crates/ra_syntax/Cargo.toml index 043c9bacd85f..6c2e012ee622 100644 --- a/crates/ra_syntax/Cargo.toml +++ b/crates/ra_syntax/Cargo.toml @@ -1,5 +1,5 @@ [package] -edition = "2018" +edition = "2015" name = "ra_syntax" version = "0.1.0" authors = ["Aleksey Kladov "] diff --git a/crates/ra_syntax/src/lib.rs b/crates/ra_syntax/src/lib.rs index 8996eb921033..acc2d9603338 100644 --- a/crates/ra_syntax/src/lib.rs +++ b/crates/ra_syntax/src/lib.rs @@ -60,6 +60,7 @@ pub use crate::{ use crate::yellow::GreenNode; +/// File represents a parse tree for a single Rust file. #[derive(Clone, Debug, Hash, PartialEq, Eq)] pub struct File { root: SyntaxNode, @@ -92,9 +93,11 @@ impl File { text_utils::replace_range(self.syntax().text().to_string(), edit.delete, &edit.insert); File::parse(&text) } + /// Typed AST representation of the parse tree. pub fn ast(&self) -> ast::Root { ast::Root::cast(self.syntax()).unwrap() } + /// Untyped homogeneous representation of the parse tree. pub fn syntax(&self) -> SyntaxNodeRef { self.root.borrowed() }