From 56e67e3a392d7c7c7f30ca39d8e83446ea8bbec3 Mon Sep 17 00:00:00 2001 From: Aleksey Kladov Date: Thu, 15 Oct 2020 17:27:50 +0200 Subject: More idiomatic classification API --- crates/ide/src/doc_links.rs | 6 +++--- crates/ide/src/goto_definition.rs | 6 +++--- crates/ide/src/hover.rs | 6 +++--- crates/ide/src/references.rs | 6 +++--- crates/ide/src/references/rename.rs | 6 +++--- crates/ide/src/syntax_highlighting.rs | 6 +++--- 6 files changed, 18 insertions(+), 18 deletions(-) (limited to 'crates/ide/src') diff --git a/crates/ide/src/doc_links.rs b/crates/ide/src/doc_links.rs index 5e4147362..592a8e3ad 100644 --- a/crates/ide/src/doc_links.rs +++ b/crates/ide/src/doc_links.rs @@ -14,7 +14,7 @@ use hir::{ ModuleDef, }; use ide_db::{ - defs::{classify_name, classify_name_ref, Definition}, + defs::{Definition, NameClass, NameRefClass}, RootDatabase, }; use syntax::{ast, match_ast, AstNode, SyntaxKind::*, SyntaxToken, TokenAtOffset, T}; @@ -232,8 +232,8 @@ pub(crate) fn external_docs( let node = token.parent(); let definition = match_ast! { match node { - ast::NameRef(name_ref) => classify_name_ref(&sema, &name_ref).map(|d| d.definition(sema.db)), - ast::Name(name) => classify_name(&sema, &name).map(|d| d.reference_or_definition(sema.db)), + ast::NameRef(name_ref) => NameRefClass::classify(&sema, &name_ref).map(|d| d.definition(sema.db)), + ast::Name(name) => NameClass::classify(&sema, &name).map(|d| d.reference_or_definition(sema.db)), _ => None, } }; diff --git a/crates/ide/src/goto_definition.rs b/crates/ide/src/goto_definition.rs index be2f81aab..db6ad689e 100644 --- a/crates/ide/src/goto_definition.rs +++ b/crates/ide/src/goto_definition.rs @@ -1,6 +1,6 @@ use hir::Semantics; use ide_db::{ - defs::{classify_name, classify_name_ref}, + defs::{NameClass, NameRefClass}, symbol_index, RootDatabase, }; use syntax::{ @@ -40,7 +40,7 @@ pub(crate) fn goto_definition( reference_definition(&sema, &name_ref).to_vec() }, ast::Name(name) => { - let def = classify_name(&sema, &name)?.reference_or_definition(sema.db); + let def = NameClass::classify(&sema, &name)?.reference_or_definition(sema.db); let nav = def.try_to_nav(sema.db)?; vec![nav] }, @@ -81,7 +81,7 @@ pub(crate) fn reference_definition( sema: &Semantics, name_ref: &ast::NameRef, ) -> ReferenceResult { - let name_kind = classify_name_ref(sema, name_ref); + let name_kind = NameRefClass::classify(sema, name_ref); if let Some(def) = name_kind { let def = def.definition(sema.db); return match def.try_to_nav(sema.db) { diff --git a/crates/ide/src/hover.rs b/crates/ide/src/hover.rs index 51f03c718..e915a753e 100644 --- a/crates/ide/src/hover.rs +++ b/crates/ide/src/hover.rs @@ -4,7 +4,7 @@ use hir::{ Module, ModuleDef, ModuleSource, Semantics, }; use ide_db::{ - defs::{classify_name, classify_name_ref, Definition}, + defs::{Definition, NameClass, NameRefClass}, RootDatabase, }; use itertools::Itertools; @@ -107,8 +107,8 @@ pub(crate) fn hover( let node = token.parent(); let definition = match_ast! { match node { - ast::NameRef(name_ref) => classify_name_ref(&sema, &name_ref).map(|d| d.definition(sema.db)), - ast::Name(name) => classify_name(&sema, &name).and_then(|d| d.definition(sema.db)), + ast::Name(name) => NameClass::classify(&sema, &name).and_then(|d| d.definition(sema.db)), + ast::NameRef(name_ref) => NameRefClass::classify(&sema, &name_ref).map(|d| d.definition(sema.db)), _ => None, } }; diff --git a/crates/ide/src/references.rs b/crates/ide/src/references.rs index 95d872b83..fc537b9c0 100644 --- a/crates/ide/src/references.rs +++ b/crates/ide/src/references.rs @@ -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, ) -> Option> { 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::(&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)) } diff --git a/crates/ide/src/references/rename.rs b/crates/ide/src/references/rename.rs index f9a11e43d..35aafc49d 100644 --- a/crates/ide/src/references/rename.rs +++ b/crates/ide/src/references/rename.rs @@ -3,7 +3,7 @@ use base_db::SourceDatabaseExt; use hir::{Module, ModuleDef, ModuleSource, Semantics}; use ide_db::{ - defs::{classify_name, classify_name_ref, Definition, NameClass, NameRefClass}, + defs::{Definition, NameClass, NameRefClass}, RootDatabase, }; @@ -88,13 +88,13 @@ fn find_module_at_offset( let module = match_ast! { match (ident.parent()) { ast::NameRef(name_ref) => { - match classify_name_ref(sema, &name_ref)? { + match NameRefClass::classify(sema, &name_ref)? { NameRefClass::Definition(Definition::ModuleDef(ModuleDef::Module(module))) => module, _ => return None, } }, ast::Name(name) => { - match classify_name(&sema, &name)? { + match NameClass::classify(&sema, &name)? { NameClass::Definition(Definition::ModuleDef(ModuleDef::Module(module))) => module, _ => return None, } diff --git a/crates/ide/src/syntax_highlighting.rs b/crates/ide/src/syntax_highlighting.rs index 928f771a9..b35c03162 100644 --- a/crates/ide/src/syntax_highlighting.rs +++ b/crates/ide/src/syntax_highlighting.rs @@ -8,7 +8,7 @@ mod tests; use hir::{Local, Name, Semantics, VariantDef}; use ide_db::{ - defs::{classify_name, classify_name_ref, Definition, NameClass, NameRefClass}, + defs::{Definition, NameClass, NameRefClass}, RootDatabase, }; use rustc_hash::FxHashMap; @@ -443,7 +443,7 @@ fn highlight_element( // Highlight definitions depending on the "type" of the definition. NAME => { let name = element.into_node().and_then(ast::Name::cast).unwrap(); - let name_kind = classify_name(sema, &name); + let name_kind = NameClass::classify(sema, &name); if let Some(NameClass::Definition(Definition::Local(local))) = &name_kind { if let Some(name) = local.name(db) { @@ -480,7 +480,7 @@ fn highlight_element( NAME_REF => { let name_ref = element.into_node().and_then(ast::NameRef::cast).unwrap(); highlight_func_by_name_ref(sema, &name_ref).unwrap_or_else(|| { - match classify_name_ref(sema, &name_ref) { + match NameRefClass::classify(sema, &name_ref) { Some(name_kind) => match name_kind { NameRefClass::ExternCrate(_) => HighlightTag::Module.into(), NameRefClass::Definition(def) => { -- cgit v1.2.3