More idiomatic classification API

This commit is contained in:
Aleksey Kladov 2020-10-15 17:27:50 +02:00
parent f9c1336873
commit 56e67e3a39
11 changed files with 206 additions and 206 deletions

View file

@ -13,7 +13,7 @@ pub(crate) mod rename;
use hir::Semantics;
use ide_db::{
defs::{classify_name, classify_name_ref, Definition},
defs::{Definition, NameClass, NameRefClass},
search::SearchScope,
RootDatabase,
};
@ -132,13 +132,13 @@ fn find_name(
opt_name: Option<ast::Name>,
) -> Option<RangeInfo<Definition>> {
if let Some(name) = opt_name {
let def = classify_name(sema, &name)?.reference_or_definition(sema.db);
let def = NameClass::classify(sema, &name)?.reference_or_definition(sema.db);
let range = name.syntax().text_range();
return Some(RangeInfo::new(range, def));
}
let name_ref =
sema.find_node_at_offset_with_descend::<ast::NameRef>(&syntax, position.offset)?;
let def = classify_name_ref(sema, &name_ref)?.definition(sema.db);
let def = NameRefClass::classify(sema, &name_ref)?.definition(sema.db);
let range = name_ref.syntax().text_range();
Some(RangeInfo::new(range, def))
}