Explicitly check for reference locals or fields in Name classification

This commit is contained in:
Lukas Wirth
2021-07-11 14:03:35 +02:00
parent 87621de2b9
commit c65bb7f8b9
11 changed files with 67 additions and 50 deletions

View File

@@ -25,10 +25,10 @@ pub(crate) fn goto_declaration(
match parent {
ast::NameRef(name_ref) => {
let name_kind = NameRefClass::classify(&sema, &name_ref)?;
name_kind.referenced()
name_kind.referenced_local()
},
ast::Name(name) => {
NameClass::classify(&sema, &name)?.referenced_or_defined()
NameClass::classify(&sema, &name)?.defined_or_referenced_local()
},
_ => return None,
}