Remove visibility query, instead add struct field visibility to data

Methods should be handled the same, and for items the visibility will be in the
def map.
This commit is contained in:
Florian Diebold 2019-12-26 16:22:15 +01:00
parent 50ebff257d
commit 78111620a3
5 changed files with 35 additions and 102 deletions

View file

@ -257,8 +257,8 @@ impl StructField {
impl HasVisibility for StructField {
fn visibility(&self, db: &impl HirDatabase) -> Visibility {
let struct_field_id: hir_def::StructFieldId = (*self).into();
let visibility = db.visibility(struct_field_id.into());
let variant_data = self.parent.variant_data(db);
let visibility = &variant_data.fields()[self.id].visibility;
let parent_id: hir_def::VariantId = self.parent.into();
visibility.resolve(db, &parent_id.resolver(db))
}