mirror of
https://github.com/rust-lang/rust-analyzer.git
synced 2025-10-01 11:31:15 +00:00
Use explicit match for extracting def from classify_name
This commit is contained in:
parent
4edf736eb2
commit
48b6dd0b33
@ -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]
|
||||||
},
|
},
|
||||||
|
Loading…
x
Reference in New Issue
Block a user