Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/lib.rs')
-rw-r--r--crates/hir/src/lib.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index 91b48bbfb6..ecd11fb5d7 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -1984,6 +1984,14 @@ impl Variant {
Variant::EnumVariant(e) => (*e).name(db),
}
}
+
+ pub fn adt(&self, db: &dyn HirDatabase) -> Adt {
+ match *self {
+ Variant::Struct(it) => it.into(),
+ Variant::Union(it) => it.into(),
+ Variant::EnumVariant(it) => it.parent_enum(db).into(),
+ }
+ }
}
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]