ra_ide: remove dead code in HoverResult

This commit is contained in:
veetaha 2020-03-16 01:30:50 +02:00
parent bf0c3ec67e
commit 4fd07a02a2

View File

@ -1,4 +1,5 @@
//! FIXME: write short doc here
//! Logic for computing info that is displayed when the user hovers over any
//! source code items (e.g. function call, struct field, variable symbol...)
use hir::{
Adt, AsAssocItem, AssocItemContainer, FieldSource, HasSource, HirDisplay, ModuleDef,
@ -24,35 +25,20 @@
use std::iter::once;
/// Contains the results when hovering over an item
#[derive(Debug, Clone)]
#[derive(Debug, Default)]
pub struct HoverResult {
results: Vec<String>,
exact: bool,
}
impl Default for HoverResult {
fn default() -> Self {
HoverResult::new()
}
}
impl HoverResult {
pub fn new() -> HoverResult {
HoverResult {
results: Vec::new(),
// We assume exact by default
exact: true,
}
Self::default()
}
pub fn extend(&mut self, item: Option<String>) {
self.results.extend(item);
}
pub fn is_exact(&self) -> bool {
self.exact
}
pub fn is_empty(&self) -> bool {
self.results.is_empty()
}
@ -72,20 +58,7 @@ pub fn results(&self) -> &[String] {
/// Returns the results converted into markup
/// for displaying in a UI
pub fn to_markup(&self) -> String {
let mut markup = if !self.exact {
let mut msg = String::from("Failed to exactly resolve the symbol. This is probably because rust_analyzer does not yet support traits.");
if !self.results.is_empty() {
msg.push_str(" \nThese items were found instead:");
}
msg.push_str("\n\n---\n");
msg
} else {
String::new()
};
markup.push_str(&self.results.join("\n\n---\n"));
markup
self.results.join("\n\n---\n")
}
}
@ -595,7 +568,6 @@ fn main() {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("wrapper::Thing\nfn new() -> Thing"));
assert_eq!(hover.info.is_exact(), true);
}
#[test]
@ -618,7 +590,6 @@ fn main() {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("const C: u32"));
assert_eq!(hover.info.is_exact(), true);
}
#[test]
@ -635,7 +606,6 @@ fn new() -> Self {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("Thing"));
assert_eq!(hover.info.is_exact(), true);
/* FIXME: revive these tests
let (analysis, position) = single_file_with_position(
@ -651,7 +621,6 @@ fn new() -> Self<|> {
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("Thing"));
assert_eq!(hover.info.is_exact(), true);
let (analysis, position) = single_file_with_position(
"
@ -665,7 +634,6 @@ pub fn new() -> Self<|> {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("enum Thing"));
assert_eq!(hover.info.is_exact(), true);
let (analysis, position) = single_file_with_position(
"
@ -678,7 +646,6 @@ pub fn thing(a: Self<|>) {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("enum Thing"));
assert_eq!(hover.info.is_exact(), true);
*/
}
@ -696,7 +663,6 @@ fn y() {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("i32"));
assert_eq!(hover.info.is_exact(), true);
}
#[test]
@ -714,7 +680,6 @@ fn f() {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("macro_rules! foo"));
assert_eq!(hover.info.is_exact(), true);
}
#[test]
@ -726,7 +691,6 @@ fn test_hover_tuple_field() {
);
let hover = analysis.hover(position).unwrap().unwrap();
assert_eq!(trim_markup_opt(hover.info.first()), Some("i32"));
assert_eq!(hover.info.is_exact(), true);
}
#[test]