From 8447f101ac2170abd30d030b2a5e9a9fdb282d76 Mon Sep 17 00:00:00 2001 From: Jonas Schievink Date: Fri, 12 Mar 2021 23:54:29 +0100 Subject: Remove `ItemTree::source` `HasSource` should be used instead --- crates/hir_def/src/item_tree.rs | 12 ------------ crates/hir_ty/src/tests.rs | 10 ++++------ 2 files changed, 4 insertions(+), 18 deletions(-) (limited to 'crates') diff --git a/crates/hir_def/src/item_tree.rs b/crates/hir_def/src/item_tree.rs index 6bb334573..09bcb10dc 100644 --- a/crates/hir_def/src/item_tree.rs +++ b/crates/hir_def/src/item_tree.rs @@ -209,18 +209,6 @@ impl ItemTree { } } - pub fn source(&self, db: &dyn DefDatabase, of: ItemTreeId) -> S::Source { - // This unwrap cannot fail, since it has either succeeded above, or resulted in an empty - // ItemTree (in which case there is no valid `FileItemTreeId` to call this method with). - let root = - db.parse_or_expand(of.file_id).expect("parse_or_expand failed on constructed ItemTree"); - - let id = self[of.value].ast_id(); - let map = db.ast_id_map(of.file_id); - let ptr = map.get(id); - ptr.to_node(&root) - } - fn data(&self) -> &ItemTreeData { self.data.as_ref().expect("attempted to access data of empty ItemTree") } diff --git a/crates/hir_ty/src/tests.rs b/crates/hir_ty/src/tests.rs index fc770ea60..0a4141e69 100644 --- a/crates/hir_ty/src/tests.rs +++ b/crates/hir_ty/src/tests.rs @@ -19,6 +19,7 @@ use hir_def::{ item_scope::ItemScope, keys, nameres::DefMap, + src::HasSource, AssocItemId, DefWithBodyId, LocalModuleId, Lookup, ModuleDefId, }; use hir_expand::{db::AstDatabase, InFile}; @@ -195,18 +196,15 @@ fn infer_with_mismatches(content: &str, include_mismatches: bool) -> String { defs.sort_by_key(|def| match def { DefWithBodyId::FunctionId(it) => { let loc = it.lookup(&db); - let tree = db.item_tree(loc.id.file_id); - tree.source(&db, loc.id).syntax().text_range().start() + loc.source(&db).value.syntax().text_range().start() } DefWithBodyId::ConstId(it) => { let loc = it.lookup(&db); - let tree = db.item_tree(loc.id.file_id); - tree.source(&db, loc.id).syntax().text_range().start() + loc.source(&db).value.syntax().text_range().start() } DefWithBodyId::StaticId(it) => { let loc = it.lookup(&db); - let tree = db.item_tree(loc.id.file_id); - tree.source(&db, loc.id).syntax().text_range().start() + loc.source(&db).value.syntax().text_range().start() } }); for def in defs { -- cgit v1.2.3