From deab4caa7b1ba81c1b7e6561bc270bbde6467f13 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Fri, 12 Jul 2019 19:41:13 +0300 Subject: make Parse fields private this is in preparation for the new rowan API --- crates/ra_hir/src/code_model.rs | 2 +- crates/ra_hir/src/expr/validation.rs | 3 ++- crates/ra_hir/src/ids.rs | 2 +- crates/ra_hir/src/source_binder.rs | 4 ++-- 4 files changed, 6 insertions(+), 5 deletions(-) (limited to 'crates/ra_hir/src') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 805357662..4fb5844f4 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -167,7 +167,7 @@ impl ModuleSource { ) -> ModuleSource { match (file_id, decl_id) { (Some(file_id), _) => { - let source_file = db.parse(file_id).tree; + let source_file = db.parse(file_id).tree().to_owned(); ModuleSource::SourceFile(source_file) } (None, Some(item_id)) => { diff --git a/crates/ra_hir/src/expr/validation.rs b/crates/ra_hir/src/expr/validation.rs index 4e6131dce..c2a10a0b5 100644 --- a/crates/ra_hir/src/expr/validation.rs +++ b/crates/ra_hir/src/expr/validation.rs @@ -71,7 +71,8 @@ impl<'a, 'b> ExprValidator<'a, 'b> { } let source_map = self.func.body_source_map(db); let file_id = self.func.source(db).file_id; - let source_file = db.parse(file_id.original_file(db)).tree; + let parse = db.parse(file_id.original_file(db)); + let source_file = parse.tree(); if let Some(field_list_node) = source_map .expr_syntax(id) .map(|ptr| ptr.to_node(source_file.syntax())) diff --git a/crates/ra_hir/src/ids.rs b/crates/ra_hir/src/ids.rs index 5212b78ac..80e9cccd6 100644 --- a/crates/ra_hir/src/ids.rs +++ b/crates/ra_hir/src/ids.rs @@ -60,7 +60,7 @@ impl HirFileId { file_id: HirFileId, ) -> Option> { match file_id.0 { - HirFileIdRepr::File(file_id) => Some(db.parse(file_id).tree.syntax().to_owned()), + HirFileIdRepr::File(file_id) => Some(db.parse(file_id).tree().syntax().to_owned()), HirFileIdRepr::Macro(macro_file) => db.parse_macro(macro_file), } } diff --git a/crates/ra_hir/src/source_binder.rs b/crates/ra_hir/src/source_binder.rs index 429575fee..573add7da 100644 --- a/crates/ra_hir/src/source_binder.rs +++ b/crates/ra_hir/src/source_binder.rs @@ -49,8 +49,8 @@ pub fn module_from_declaration( /// Locates the module by position in the source code. pub fn module_from_position(db: &impl HirDatabase, position: FilePosition) -> Option { - let file = db.parse(position.file_id).tree; - match find_node_at_offset::(file.syntax(), position.offset) { + let parse = db.parse(position.file_id); + match find_node_at_offset::(parse.tree().syntax(), position.offset) { Some(m) if !m.has_semi() => module_from_inline(db, position.file_id, m), _ => module_from_file_id(db, position.file_id), } -- cgit v1.2.3