aboutsummaryrefslogtreecommitdiff
path: root/crates/ra_hir_def/src/resolver.rs
diff options
context:
space:
mode:
Diffstat (limited to 'crates/ra_hir_def/src/resolver.rs')
-rw-r--r--crates/ra_hir_def/src/resolver.rs18
1 files changed, 13 insertions, 5 deletions
diff --git a/crates/ra_hir_def/src/resolver.rs b/crates/ra_hir_def/src/resolver.rs
index d79c9813b..af9d194f8 100644
--- a/crates/ra_hir_def/src/resolver.rs
+++ b/crates/ra_hir_def/src/resolver.rs
@@ -17,9 +17,9 @@ use crate::{
17 nameres::{BuiltinShadowMode, CrateDefMap}, 17 nameres::{BuiltinShadowMode, CrateDefMap},
18 path::{ModPath, PathKind}, 18 path::{ModPath, PathKind},
19 per_ns::PerNs, 19 per_ns::PerNs,
20 AdtId, AssocContainerId, ConstId, DefWithBodyId, EnumId, EnumVariantId, FunctionId, 20 AdtId, AssocContainerId, ConstId, ContainerId, DefWithBodyId, EnumId, EnumVariantId,
21 GenericDefId, HasModule, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId, StaticId, 21 FunctionId, GenericDefId, HasModule, ImplId, LocalModuleId, Lookup, ModuleDefId, ModuleId,
22 StructId, TraitId, TypeAliasId, TypeParamId, VariantId, 22 StaticId, StructId, TraitId, TypeAliasId, TypeParamId, VariantId,
23}; 23};
24 24
25#[derive(Debug, Clone, Default)] 25#[derive(Debug, Clone, Default)]
@@ -580,13 +580,21 @@ impl HasResolver for DefWithBodyId {
580 } 580 }
581} 581}
582 582
583impl HasResolver for ContainerId {
584 fn resolver(self, db: &impl DefDatabase) -> Resolver {
585 match self {
586 ContainerId::ModuleId(it) => it.resolver(db),
587 ContainerId::DefWithBodyId(it) => it.resolver(db),
588 }
589 }
590}
591
583impl HasResolver for AssocContainerId { 592impl HasResolver for AssocContainerId {
584 fn resolver(self, db: &impl DefDatabase) -> Resolver { 593 fn resolver(self, db: &impl DefDatabase) -> Resolver {
585 match self { 594 match self {
595 AssocContainerId::ContainerId(it) => it.resolver(db),
586 AssocContainerId::TraitId(it) => it.resolver(db), 596 AssocContainerId::TraitId(it) => it.resolver(db),
587 AssocContainerId::ImplId(it) => it.resolver(db), 597 AssocContainerId::ImplId(it) => it.resolver(db),
588 AssocContainerId::ModuleId(it) => it.resolver(db),
589 AssocContainerId::DefWithBodyId(it) => it.resolver(db),
590 } 598 }
591 } 599 }
592} 600}