From 2a1fe26b6d354dbbd1b3843d288d56e74fa00557 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Tue, 11 Jun 2019 03:17:29 +0300 Subject: use Source more --- crates/ra_ide_api/src/display/navigation_target.rs | 50 ++++++---------------- crates/ra_ide_api/src/hover.rs | 15 ++++--- 2 files changed, 22 insertions(+), 43 deletions(-) (limited to 'crates/ra_ide_api/src') diff --git a/crates/ra_ide_api/src/display/navigation_target.rs b/crates/ra_ide_api/src/display/navigation_target.rs index c02bc005b..7c68bb41c 100644 --- a/crates/ra_ide_api/src/display/navigation_target.rs +++ b/crates/ra_ide_api/src/display/navigation_target.rs @@ -207,12 +207,12 @@ impl NavigationTarget { ) } hir::AdtDef::Enum(s) => { - let (file_id, node) = s.source(db); + let src = s.source(db); NavigationTarget::from_named( - file_id.original_file(db), - &*node, - node.doc_comment_text(), - node.short_label(), + src.file_id.original_file(db), + &*src.ast, + src.ast.doc_comment_text(), + src.ast.short_label(), ) } } @@ -225,24 +225,9 @@ impl NavigationTarget { let nav = match module_def { hir::ModuleDef::Module(module) => NavigationTarget::from_module(db, module), hir::ModuleDef::Function(func) => NavigationTarget::from_function(db, func), - hir::ModuleDef::Struct(s) => { - let src = s.source(db); - NavigationTarget::from_named( - src.file_id.original_file(db), - &*src.ast, - src.ast.doc_comment_text(), - src.ast.short_label(), - ) - } - hir::ModuleDef::Union(s) => { - let (file_id, node) = s.source(db); - NavigationTarget::from_named( - file_id.original_file(db), - &*node, - node.doc_comment_text(), - node.short_label(), - ) - } + hir::ModuleDef::Struct(it) => NavigationTarget::from_adt_def(db, it.into()), + hir::ModuleDef::Enum(it) => NavigationTarget::from_adt_def(db, it.into()), + hir::ModuleDef::Union(it) => NavigationTarget::from_adt_def(db, it.into()), hir::ModuleDef::Const(s) => { let (file_id, node) = s.source(db); NavigationTarget::from_named( @@ -261,22 +246,13 @@ impl NavigationTarget { node.short_label(), ) } - hir::ModuleDef::Enum(e) => { - let (file_id, node) = e.source(db); - NavigationTarget::from_named( - file_id.original_file(db), - &*node, - node.doc_comment_text(), - node.short_label(), - ) - } hir::ModuleDef::EnumVariant(var) => { - let (file_id, node) = var.source(db); + let src = var.source(db); NavigationTarget::from_named( - file_id.original_file(db), - &*node, - node.doc_comment_text(), - node.short_label(), + src.file_id.original_file(db), + &*src.ast, + src.ast.doc_comment_text(), + src.ast.short_label(), ) } hir::ModuleDef::Trait(e) => { diff --git a/crates/ra_ide_api/src/hover.rs b/crates/ra_ide_api/src/hover.rs index 80445761c..ee0f2dde8 100644 --- a/crates/ra_ide_api/src/hover.rs +++ b/crates/ra_ide_api/src/hover.rs @@ -144,12 +144,12 @@ pub(crate) fn hover(db: &RootDatabase, position: FilePosition) -> Option { - let it = it.source(db).1; - res.extend(hover_text(it.doc_comment_text(), it.short_label())) + let src = it.source(db); + res.extend(hover_text(src.ast.doc_comment_text(), src.ast.short_label())) } hir::ModuleDef::EnumVariant(it) => { - let it = it.source(db).1; - res.extend(hover_text(it.doc_comment_text(), it.short_label())) + let src = it.source(db); + res.extend(hover_text(src.ast.doc_comment_text(), src.ast.short_label())) } hir::ModuleDef::Const(it) => { let it = it.source(db).1; @@ -187,8 +187,11 @@ pub(crate) fn hover(db: &RootDatabase, position: FilePosition) -> Option { - let it = it.source(db).1; - res.extend(hover_text(it.doc_comment_text(), it.short_label())) + let src = it.source(db); + res.extend(hover_text( + src.ast.doc_comment_text(), + src.ast.short_label(), + )) } } } -- cgit v1.2.3