Move impls of ToNav that use source() to TryToNav

This commit is contained in:
Nick Spain 2021-01-01 17:13:15 +11:00
parent 6800c606ec
commit 3f1b3df65b
5 changed files with 64 additions and 69 deletions

View file

@ -8,7 +8,7 @@ use ide_db::RootDatabase;
use syntax::{ast, match_ast, AstNode, TextRange};
use crate::{
display::ToNav, goto_definition, references, FilePosition, NavigationTarget, RangeInfo,
display::TryToNav, goto_definition, references, FilePosition, NavigationTarget, RangeInfo,
};
#[derive(Debug, Clone)]
@ -61,7 +61,7 @@ pub(crate) fn incoming_calls(db: &RootDatabase, position: FilePosition) -> Optio
match node {
ast::Fn(it) => {
let def = sema.to_def(&it)?;
Some(def.to_nav(sema.db))
def.try_to_nav(sema.db)
},
_ => None,
}
@ -99,7 +99,7 @@ pub(crate) fn outgoing_calls(db: &RootDatabase, position: FilePosition) -> Optio
match callable.kind() {
hir::CallableKind::Function(it) => {
let fn_def: hir::Function = it.into();
let nav = fn_def.to_nav(db);
let nav = fn_def.try_to_nav(db)?;
Some(nav)
}
_ => None,
@ -107,7 +107,7 @@ pub(crate) fn outgoing_calls(db: &RootDatabase, position: FilePosition) -> Optio
}
FnCallNode::MethodCallExpr(expr) => {
let function = sema.resolve_method_call(&expr)?;
Some(function.to_nav(db))
function.try_to_nav(db)
}
} {
Some((func_target, name_ref.syntax().text_range()))