From 8f959f20ee0fecd644054ffed334c378f9ae20f5 Mon Sep 17 00:00:00 2001 From: Kirill Bulatov Date: Tue, 11 Feb 2020 15:21:12 +0200 Subject: Trait location draft --- crates/ra_hir/src/code_model.rs | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 deletions(-) (limited to 'crates/ra_hir/src/code_model.rs') diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs index 4fb679f6d..73158b8bd 100644 --- a/crates/ra_hir/src/code_model.rs +++ b/crates/ra_hir/src/code_model.rs @@ -123,7 +123,7 @@ impl_froms!( ); pub use hir_def::{ - attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocItemId, AssocItemLoc, + attr::Attrs, item_scope::ItemInNs, visibility::Visibility, AssocContainerId, AssocItemId, }; use rustc_hash::FxHashSet; @@ -696,16 +696,12 @@ impl AssocItem { AssocItem::TypeAlias(t) => t.module(db), } } - pub fn container(self, db: &impl DefDatabase) -> AssocItemContainer { - let container = match self { - AssocItem::Function(it) => it.id.lookup(db).container, - AssocItem::Const(it) => it.id.lookup(db).container, - AssocItem::TypeAlias(it) => it.id.lookup(db).container, - }; - match container { - AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()), - AssocContainerId::ImplId(id) => AssocItemContainer::ImplBlock(id.into()), - AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"), + + pub fn container(self, db: &impl DefDatabase) -> AssocContainerId { + match self { + AssocItem::Function(f) => f.id.lookup(db).container, + AssocItem::Const(c) => c.id.lookup(db).container, + AssocItem::TypeAlias(t) => t.id.lookup(db).container, } } } -- cgit v1.2.3