aboutsummaryrefslogtreecommitdiff
path: root/crates/hir
diff options
context:
space:
mode:
Diffstat (limited to 'crates/hir')
-rw-r--r--crates/hir/src/lib.rs17
1 files changed, 17 insertions, 0 deletions
diff --git a/crates/hir/src/lib.rs b/crates/hir/src/lib.rs
index a7c42ca1e..6522a924b 100644
--- a/crates/hir/src/lib.rs
+++ b/crates/hir/src/lib.rs
@@ -673,6 +673,11 @@ impl Variant {
673 pub fn module(self, db: &dyn HirDatabase) -> Module { 673 pub fn module(self, db: &dyn HirDatabase) -> Module {
674 self.parent.module(db) 674 self.parent.module(db)
675 } 675 }
676
677 pub fn krate(self, db: &dyn HirDatabase) -> Crate {
678 self.module(db).krate()
679 }
680
676 pub fn parent_enum(self, _db: &dyn HirDatabase) -> Enum { 681 pub fn parent_enum(self, _db: &dyn HirDatabase) -> Enum {
677 self.parent 682 self.parent
678 } 683 }
@@ -767,6 +772,10 @@ impl VariantDef {
767 } 772 }
768 } 773 }
769 774
775 pub fn krate(self, db: &dyn HirDatabase) -> Crate {
776 self.module(db).krate()
777 }
778
770 pub fn name(&self, db: &dyn HirDatabase) -> Name { 779 pub fn name(&self, db: &dyn HirDatabase) -> Name {
771 match self { 780 match self {
772 VariantDef::Struct(s) => s.name(db), 781 VariantDef::Struct(s) => s.name(db),
@@ -1074,6 +1083,10 @@ impl Trait {
1074 Module { id: self.id.lookup(db.upcast()).container } 1083 Module { id: self.id.lookup(db.upcast()).container }
1075 } 1084 }
1076 1085
1086 pub fn krate(self, db: &dyn HirDatabase) -> Crate {
1087 self.module(db).krate()
1088 }
1089
1077 pub fn name(self, db: &dyn HirDatabase) -> Name { 1090 pub fn name(self, db: &dyn HirDatabase) -> Name {
1078 db.trait_data(self.id).name.clone() 1091 db.trait_data(self.id).name.clone()
1079 } 1092 }
@@ -1178,6 +1191,10 @@ impl MacroDef {
1178 Some(Module { id: def_map.module_id(module_id) }) 1191 Some(Module { id: def_map.module_id(module_id) })
1179 } 1192 }
1180 1193
1194 pub fn krate(self, db: &dyn HirDatabase) -> Option<Crate> {
1195 self.module(db).map(Module::krate)
1196 }
1197
1181 /// XXX: this parses the file 1198 /// XXX: this parses the file
1182 pub fn name(self, db: &dyn HirDatabase) -> Option<Name> { 1199 pub fn name(self, db: &dyn HirDatabase) -> Option<Name> {
1183 match self.source(db)?.value { 1200 match self.source(db)?.value {