aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_ide_api/src/display/navigation_target.rs
diff options
context:
space:
mode:
authorbors[bot] <26634292+bors[bot]@users.noreply.github.com>2019-09-17 22:16:28 +0100
committerGitHub <[email protected]>2019-09-17 22:16:28 +0100
commit54379ec6f8f82a470a275771e70825634d3d553b (patch)
tree498719aafe633f9eb9cb65ba65932076981e4632 /crates/ra_ide_api/src/display/navigation_target.rs
parentd505ee968b2a99eed65dfe7be27940ad9b2647c1 (diff)
parentc2f9558e1af8dbf73ff86eeffcb9ea6940947dd6 (diff)
Merge #1862
1862: Assoc item resolution refactoring (again) r=flodiebold a=flodiebold This is #1849, with the associated type selection code removed for now. Handling cycles there will need some more thought. Co-authored-by: Florian Diebold <[email protected]>
Diffstat (limited to 'crates/ra_ide_api/src/display/navigation_target.rs')
-rw-r--r--crates/ra_ide_api/src/display/navigation_target.rs15
1 files changed, 9 insertions, 6 deletions
diff --git a/crates/ra_ide_api/src/display/navigation_target.rs b/crates/ra_ide_api/src/display/navigation_target.rs
index 03382ab3c..11f73ccfd 100644
--- a/crates/ra_ide_api/src/display/navigation_target.rs
+++ b/crates/ra_ide_api/src/display/navigation_target.rs
@@ -1,4 +1,4 @@
1use hir::{FieldSource, HasSource, ImplItem, ModuleSource}; 1use hir::{AssocItem, FieldSource, HasSource, ModuleSource};
2use ra_db::{FileId, SourceDatabase}; 2use ra_db::{FileId, SourceDatabase};
3use ra_syntax::{ 3use ra_syntax::{
4 algo::visit::{visitor, Visitor}, 4 algo::visit::{visitor, Visitor},
@@ -221,11 +221,14 @@ impl NavigationTarget {
221 ) 221 )
222 } 222 }
223 223
224 pub(crate) fn from_impl_item(db: &RootDatabase, impl_item: hir::ImplItem) -> NavigationTarget { 224 pub(crate) fn from_assoc_item(
225 match impl_item { 225 db: &RootDatabase,
226 ImplItem::Method(it) => NavigationTarget::from_def_source(db, it), 226 assoc_item: hir::AssocItem,
227 ImplItem::Const(it) => NavigationTarget::from_def_source(db, it), 227 ) -> NavigationTarget {
228 ImplItem::TypeAlias(it) => NavigationTarget::from_def_source(db, it), 228 match assoc_item {
229 AssocItem::Function(it) => NavigationTarget::from_def_source(db, it),
230 AssocItem::Const(it) => NavigationTarget::from_def_source(db, it),
231 AssocItem::TypeAlias(it) => NavigationTarget::from_def_source(db, it),
229 } 232 }
230 } 233 }
231 234