aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir/src/code_model.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir/src/code_model.rs')
-rw-r--r--crates/ra_hir/src/code_model.rs21
1 files changed, 16 insertions, 5 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs
index 20a8d7d80..0a750b590 100644
--- a/crates/ra_hir/src/code_model.rs
+++ b/crates/ra_hir/src/code_model.rs
@@ -528,6 +528,13 @@ pub struct EnumVariant {
528 pub(crate) id: EnumVariantId, 528 pub(crate) id: EnumVariantId,
529} 529}
530 530
531impl HasSource for EnumVariant {
532 type Ast = TreeArc<ast::EnumVariant>;
533 fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source<TreeArc<ast::EnumVariant>> {
534 self.source_impl(db)
535 }
536}
537
531impl EnumVariant { 538impl EnumVariant {
532 pub fn source( 539 pub fn source(
533 &self, 540 &self,
@@ -886,12 +893,16 @@ pub struct Trait {
886 pub(crate) id: TraitId, 893 pub(crate) id: TraitId,
887} 894}
888 895
896impl HasSource for Trait {
897 type Ast = TreeArc<ast::TraitDef>;
898 fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source<TreeArc<ast::TraitDef>> {
899 self.id.source(db).into()
900 }
901}
902
889impl Trait { 903impl Trait {
890 pub fn source( 904 pub fn source(self, db: &(impl DefDatabase + AstDatabase)) -> Source<TreeArc<ast::TraitDef>> {
891 self, 905 self.id.source(db).into()
892 db: &(impl DefDatabase + AstDatabase),
893 ) -> (HirFileId, TreeArc<ast::TraitDef>) {
894 self.id.source(db)
895 } 906 }
896 907
897 pub fn module(self, db: &impl DefDatabase) -> Module { 908 pub fn module(self, db: &impl DefDatabase) -> Module {