aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/adt.rs
diff options
context:
space:
mode:
authorEkaterina Babshukova <[email protected]>2019-07-12 17:56:18 +0100
committerEkaterina Babshukova <[email protected]>2019-07-12 18:31:49 +0100
commit2a1e11b36fe90460b139f2f6aee034f63e8252bf (patch)
tree8275d86d2d105a2bd2a5d601af9b6372a523107d /crates/ra_hir/src/adt.rs
parent8bb81d7418dbc4c295d31d261441b67dba4c0f76 (diff)
complete fields in enum variants
Diffstat (limited to 'crates/ra_hir/src/adt.rs')
-rw-r--r--crates/ra_hir/src/adt.rs7
1 files changed, 7 insertions, 0 deletions
diff --git a/crates/ra_hir/src/adt.rs b/crates/ra_hir/src/adt.rs
index 5a3ea5f55..8afdac801 100644
--- a/crates/ra_hir/src/adt.rs
+++ b/crates/ra_hir/src/adt.rs
@@ -185,6 +185,13 @@ pub enum VariantDef {
185impl_froms!(VariantDef: Struct, EnumVariant); 185impl_froms!(VariantDef: Struct, EnumVariant);
186 186
187impl VariantDef { 187impl VariantDef {
188 pub fn fields(self, db: &impl HirDatabase) -> Vec<StructField> {
189 match self {
190 VariantDef::Struct(it) => it.fields(db),
191 VariantDef::EnumVariant(it) => it.fields(db),
192 }
193 }
194
188 pub(crate) fn field(self, db: &impl HirDatabase, name: &Name) -> Option<StructField> { 195 pub(crate) fn field(self, db: &impl HirDatabase, name: &Name) -> Option<StructField> {
189 match self { 196 match self {
190 VariantDef::Struct(it) => it.field(db, name), 197 VariantDef::Struct(it) => it.field(db, name),