diff options
| author | vsrs <[email protected]> | 2020-06-11 12:41:42 +0100 |
|---|---|---|
| committer | vsrs <[email protected]> | 2020-06-18 08:15:43 +0100 |
| commit | 7ec0064409f90334f6b0dd61e572a65702702985 (patch) | |
| tree | 4a97c35ea8f6defd4718fdfdc801f3646105de7e /crates/ra_ide/src | |
| parent | 7e986d1504e6fd6dc1fc9b64f5fb9eac2bef952a (diff) | |
Remove AdtOrTrait
Diffstat (limited to 'crates/ra_ide/src')
| -rw-r--r-- | crates/ra_ide/src/display/navigation_target.rs | 9 | ||||
| -rw-r--r-- | crates/ra_ide/src/hover.rs | 21 |
2 files changed, 13 insertions, 17 deletions
diff --git a/crates/ra_ide/src/display/navigation_target.rs b/crates/ra_ide/src/display/navigation_target.rs index 325b247bb..c7bb1e69f 100644 --- a/crates/ra_ide/src/display/navigation_target.rs +++ b/crates/ra_ide/src/display/navigation_target.rs | |||
| @@ -321,15 +321,6 @@ impl ToNav for hir::Adt { | |||
| 321 | } | 321 | } |
| 322 | } | 322 | } |
| 323 | 323 | ||
| 324 | impl ToNav for hir::AdtOrTrait { | ||
| 325 | fn to_nav(&self, db: &RootDatabase) -> NavigationTarget { | ||
| 326 | match self { | ||
| 327 | hir::AdtOrTrait::Adt(adt) => adt.to_nav(db), | ||
| 328 | hir::AdtOrTrait::Trait(trait_) => trait_.to_nav(db), | ||
| 329 | } | ||
| 330 | } | ||
| 331 | } | ||
| 332 | |||
| 333 | impl ToNav for hir::AssocItem { | 324 | impl ToNav for hir::AssocItem { |
| 334 | fn to_nav(&self, db: &RootDatabase) -> NavigationTarget { | 325 | fn to_nav(&self, db: &RootDatabase) -> NavigationTarget { |
| 335 | match self { | 326 | match self { |
diff --git a/crates/ra_ide/src/hover.rs b/crates/ra_ide/src/hover.rs index 2a06006e1..045713519 100644 --- a/crates/ra_ide/src/hover.rs +++ b/crates/ra_ide/src/hover.rs | |||
| @@ -1,8 +1,8 @@ | |||
| 1 | use std::iter::once; | 1 | use std::iter::once; |
| 2 | 2 | ||
| 3 | use hir::{ | 3 | use hir::{ |
| 4 | Adt, AdtOrTrait, AsAssocItem, AssocItemContainer, Documentation, FieldSource, HasSource, | 4 | Adt, AsAssocItem, AssocItemContainer, Documentation, FieldSource, HasSource, HirDisplay, |
| 5 | HirDisplay, Module, ModuleDef, ModuleSource, Semantics, | 5 | Module, ModuleDef, ModuleSource, Semantics, |
| 6 | }; | 6 | }; |
| 7 | use itertools::Itertools; | 7 | use itertools::Itertools; |
| 8 | use ra_db::SourceDatabase; | 8 | use ra_db::SourceDatabase; |
| @@ -13,7 +13,9 @@ use ra_ide_db::{ | |||
| 13 | use ra_syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset}; | 13 | use ra_syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset}; |
| 14 | 14 | ||
| 15 | use crate::{ | 15 | use crate::{ |
| 16 | display::{macro_label, rust_code_markup, rust_code_markup_with_doc, ShortLabel, ToNav}, | 16 | display::{ |
| 17 | macro_label, rust_code_markup, rust_code_markup_with_doc, ShortLabel, ToNav, TryToNav, | ||
| 18 | }, | ||
| 17 | runnables::runnable, | 19 | runnables::runnable, |
| 18 | FileId, FilePosition, NavigationTarget, RangeInfo, Runnable, | 20 | FileId, FilePosition, NavigationTarget, RangeInfo, Runnable, |
| 19 | }; | 21 | }; |
| @@ -238,9 +240,11 @@ fn goto_type_action(db: &RootDatabase, def: Definition) -> Option<HoverAction> { | |||
| 238 | .ty(db) | 240 | .ty(db) |
| 239 | .flattened_type_items(db) | 241 | .flattened_type_items(db) |
| 240 | .into_iter() | 242 | .into_iter() |
| 241 | .map(|it| HoverGotoTypeData { | 243 | .filter_map(|it| { |
| 242 | mod_path: adt_or_trait_mod_path(db, &it), | 244 | Some(HoverGotoTypeData { |
| 243 | nav: it.to_nav(db), | 245 | mod_path: mod_path(db, &it)?, |
| 246 | nav: it.try_to_nav(db)?, | ||
| 247 | }) | ||
| 244 | }) | 248 | }) |
| 245 | .collect_vec(); | 249 | .collect_vec(); |
| 246 | 250 | ||
| @@ -294,8 +298,9 @@ fn determine_mod_path(db: &RootDatabase, module: Module, name: Option<String>) - | |||
| 294 | .join("::") | 298 | .join("::") |
| 295 | } | 299 | } |
| 296 | 300 | ||
| 297 | fn adt_or_trait_mod_path(db: &RootDatabase, item: &AdtOrTrait) -> String { | 301 | // returns None only for ModuleDef::BuiltinType |
| 298 | determine_mod_path(db, item.module(db), Some(item.name(db).to_string())) | 302 | fn mod_path(db: &RootDatabase, item: &ModuleDef) -> Option<String> { |
| 303 | Some(determine_mod_path(db, item.module(db)?, item.name(db).map(|name| name.to_string()))) | ||
| 299 | } | 304 | } |
| 300 | 305 | ||
| 301 | fn definition_mod_path(db: &RootDatabase, def: &Definition) -> Option<String> { | 306 | fn definition_mod_path(db: &RootDatabase, def: &Definition) -> Option<String> { |
