From 37ed2f35badfb41cd6c50ef04d6fd6a6ce67e0d1 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 1 Jan 2019 23:21:16 +0300 Subject: rename MFileId -> HirFileId --- crates/ra_hir/src/module.rs | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) (limited to 'crates/ra_hir/src/module.rs') diff --git a/crates/ra_hir/src/module.rs b/crates/ra_hir/src/module.rs index dde036f2c..26171d27c 100644 --- a/crates/ra_hir/src/module.rs +++ b/crates/ra_hir/src/module.rs @@ -15,7 +15,7 @@ use relative_path::RelativePathBuf; use crate::{ Def, DefKind, DefLoc, DefId, Name, Path, PathKind, HirDatabase, SourceItemId, SourceFileItemId, Crate, - MFileId, + HirFileId, arena::{Arena, Id}, }; @@ -49,13 +49,17 @@ impl Module { /// Returns `None` for the root module pub fn parent_link_source(&self, db: &impl HirDatabase) -> Option<(FileId, ast::ModuleNode)> { let link = self.module_id.parent_link(&self.tree)?; - let file_id = link.owner(&self.tree).source(&self.tree).file_id(); + let file_id = link + .owner(&self.tree) + .source(&self.tree) + .file_id() + .as_original_file(); let src = link.bind_source(&self.tree, db); Some((file_id, src)) } - pub fn source(&self) -> ModuleSource { - self.module_id.source(&self.tree) + pub fn file_id(&self) -> FileId { + self.source().file_id().as_original_file() } /// Parent module. Returns `None` if this is a root module. @@ -70,7 +74,7 @@ impl Module { /// Returns the crate this module is part of. pub fn krate(&self, db: &impl HirDatabase) -> Option { let root_id = self.module_id.crate_root(&self.tree); - let file_id = root_id.source(&self.tree).file_id(); + let file_id = root_id.source(&self.tree).file_id().as_original_file(); let crate_graph = db.crate_graph(); let crate_id = crate_graph.crate_id_for_crate_root(file_id)?; Some(Crate::new(crate_id)) @@ -163,6 +167,10 @@ impl Module { pub fn problems(&self, db: &impl HirDatabase) -> Vec<(SyntaxNode, Problem)> { self.module_id.problems(&self.tree, db) } + + pub(crate) fn source(&self) -> ModuleSource { + self.module_id.source(&self.tree) + } } /// Physically, rust source is organized as a set of files, but logically it is @@ -292,34 +300,28 @@ pub struct ModuleData { impl ModuleSource { // precondition: item_id **must** point to module - fn new(file_id: FileId, item_id: Option) -> ModuleSource { - let source_item_id = SourceItemId { - mfile_id: file_id.into(), - item_id, - }; + fn new(file_id: HirFileId, item_id: Option) -> ModuleSource { + let source_item_id = SourceItemId { file_id, item_id }; ModuleSource(source_item_id) } - pub(crate) fn new_file(file_id: FileId) -> ModuleSource { + pub(crate) fn new_file(file_id: HirFileId) -> ModuleSource { ModuleSource::new(file_id, None) } pub(crate) fn new_inline( db: &impl HirDatabase, - file_id: FileId, + file_id: HirFileId, m: ast::Module, ) -> ModuleSource { assert!(!m.has_semi()); - let file_items = db.file_items(file_id.into()); - let item_id = file_items.id_of(file_id.into(), m.syntax()); + let file_items = db.file_items(file_id); + let item_id = file_items.id_of(file_id, m.syntax()); ModuleSource::new(file_id, Some(item_id)) } - pub fn file_id(self) -> FileId { - match self.0.mfile_id { - MFileId::File(file_id) => file_id, - MFileId::Macro(_) => unreachable!(), - } + pub(crate) fn file_id(self) -> HirFileId { + self.0.file_id } pub(crate) fn resolve(self, db: &impl HirDatabase) -> ModuleSourceNode { -- cgit v1.2.3