diff options
Diffstat (limited to 'crates/ra_ide_api/src/hover.rs')
-rw-r--r-- | crates/ra_ide_api/src/hover.rs | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/crates/ra_ide_api/src/hover.rs b/crates/ra_ide_api/src/hover.rs index 24b161c5c..ba328efa1 100644 --- a/crates/ra_ide_api/src/hover.rs +++ b/crates/ra_ide_api/src/hover.rs | |||
@@ -14,7 +14,7 @@ use crate::{ | |||
14 | description_from_symbol, docs_from_symbol, macro_label, rust_code_markup, | 14 | description_from_symbol, docs_from_symbol, macro_label, rust_code_markup, |
15 | rust_code_markup_with_doc, ShortLabel, | 15 | rust_code_markup_with_doc, ShortLabel, |
16 | }, | 16 | }, |
17 | name_ref_kind::{classify_name_ref, NameRefKind::*}, | 17 | references::{classify_name_ref, NameKind::*}, |
18 | FilePosition, FileRange, RangeInfo, | 18 | FilePosition, FileRange, RangeInfo, |
19 | }; | 19 | }; |
20 | 20 | ||
@@ -99,17 +99,14 @@ pub(crate) fn hover(db: &RootDatabase, position: FilePosition) -> Option<RangeIn | |||
99 | 99 | ||
100 | let mut range = None; | 100 | let mut range = None; |
101 | if let Some(name_ref) = find_node_at_offset::<ast::NameRef>(file.syntax(), position.offset) { | 101 | if let Some(name_ref) = find_node_at_offset::<ast::NameRef>(file.syntax(), position.offset) { |
102 | let analyzer = hir::SourceAnalyzer::new(db, position.file_id, name_ref.syntax(), None); | ||
103 | |||
104 | let mut no_fallback = false; | 102 | let mut no_fallback = false; |
105 | 103 | let name_kind = classify_name_ref(db, position.file_id, &name_ref).map(|d| d.kind); | |
106 | match classify_name_ref(db, &analyzer, &name_ref) { | 104 | match name_kind { |
107 | Some(Method(it)) => res.extend(from_def_source(db, it)), | ||
108 | Some(Macro(it)) => { | 105 | Some(Macro(it)) => { |
109 | let src = it.source(db); | 106 | let src = it.source(db); |
110 | res.extend(hover_text(src.ast.doc_comment_text(), Some(macro_label(&src.ast)))); | 107 | res.extend(hover_text(src.ast.doc_comment_text(), Some(macro_label(&src.ast)))); |
111 | } | 108 | } |
112 | Some(FieldAccess(it)) => { | 109 | Some(Field(it)) => { |
113 | let src = it.source(db); | 110 | let src = it.source(db); |
114 | if let hir::FieldSource::Named(it) = src.ast { | 111 | if let hir::FieldSource::Named(it) = src.ast { |
115 | res.extend(hover_text(it.doc_comment_text(), it.short_label())); | 112 | res.extend(hover_text(it.doc_comment_text(), it.short_label())); |