Use explicit match for extracting def from classify_name

This commit is contained in:
unexge 2020-06-08 15:38:10 +03:00
parent 4edf736eb2
commit 48b6dd0b33

View File

@ -1,6 +1,6 @@
use hir::Semantics; use hir::Semantics;
use ra_ide_db::{ use ra_ide_db::{
defs::{classify_name, classify_name_ref}, defs::{classify_name, classify_name_ref, NameClass},
symbol_index, RootDatabase, symbol_index, RootDatabase,
}; };
use ra_syntax::{ use ra_syntax::{
@ -39,7 +39,10 @@ pub(crate) fn goto_definition(
reference_definition(&sema, &name_ref).to_vec() reference_definition(&sema, &name_ref).to_vec()
}, },
ast::Name(name) => { ast::Name(name) => {
let def = classify_name(&sema, &name)?.into_definition()?; let def = match classify_name(&sema, &name)? {
NameClass::Definition(def) | NameClass::ConstReference(def) => def,
NameClass::FieldShorthand { local: _, field } => field,
};
let nav = def.try_to_nav(sema.db)?; let nav = def.try_to_nav(sema.db)?;
vec![nav] vec![nav]
}, },