complete fields in enum variants

This commit is contained in:
Ekaterina Babshukova 2019-07-12 19:56:18 +03:00
parent 8bb81d7418
commit 2a1e11b36f
5 changed files with 116 additions and 16 deletions

View file

@ -185,6 +185,13 @@ pub enum VariantDef {
impl_froms!(VariantDef: Struct, EnumVariant);
impl VariantDef {
pub fn fields(self, db: &impl HirDatabase) -> Vec<StructField> {
match self {
VariantDef::Struct(it) => it.fields(db),
VariantDef::EnumVariant(it) => it.fields(db),
}
}
pub(crate) fn field(self, db: &impl HirDatabase, name: &Name) -> Option<StructField> {
match self {
VariantDef::Struct(it) => it.field(db, name),