Stop using ContainerId in AssocContainerId

This commit is contained in:
Jonas Schievink 2021-03-09 18:27:16 +01:00
parent 12f6bdcfd9
commit a430549aa6
7 changed files with 12 additions and 12 deletions

View File

@ -1157,7 +1157,7 @@ fn as_assoc_item<ID, DEF, CTOR, AST>(db: &dyn HirDatabase, ctor: CTOR, id: ID) -
{
match id.lookup(db.upcast()).container {
AssocContainerId::TraitId(_) | AssocContainerId::ImplId(_) => Some(ctor(DEF::from(id))),
AssocContainerId::ContainerId(_) => None,
AssocContainerId::ModuleId(_) => None,
}
}
@ -1185,7 +1185,7 @@ pub fn container(self, db: &dyn HirDatabase) -> AssocItemContainer {
match container {
AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()),
AssocContainerId::ImplId(id) => AssocItemContainer::Impl(id.into()),
AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"),
AssocContainerId::ModuleId(_) => panic!("invalid AssocItem"),
}
}

View File

@ -286,11 +286,11 @@ pub enum ContainerId {
#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
pub enum AssocContainerId {
ContainerId(ContainerId),
ModuleId(ModuleId),
ImplId(ImplId),
TraitId(TraitId),
}
impl_from!(ContainerId for AssocContainerId);
impl_from!(ModuleId for AssocContainerId);
/// A Data Type
#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
@ -459,7 +459,7 @@ fn module(&self, db: &dyn db::DefDatabase) -> ModuleId {
impl HasModule for AssocContainerId {
fn module(&self, db: &dyn db::DefDatabase) -> ModuleId {
match *self {
AssocContainerId::ContainerId(it) => it.module(db),
AssocContainerId::ModuleId(it) => it,
AssocContainerId::ImplId(it) => it.lookup(db).container.module(db),
AssocContainerId::TraitId(it) => it.lookup(db).container.module(db),
}

View File

@ -1121,7 +1121,7 @@ fn collect(&mut self, items: &[ModItem]) {
def = Some(DefData {
id: FunctionLoc {
container: container.into(),
container: module.into(),
id: ItemTreeId::new(self.file_id, id),
}
.intern(self.def_collector.db)
@ -1188,7 +1188,7 @@ fn collect(&mut self, items: &[ModItem]) {
if let Some(name) = &it.name {
def = Some(DefData {
id: ConstLoc {
container: container.into(),
container: module.into(),
id: ItemTreeId::new(self.file_id, id),
}
.intern(self.def_collector.db)
@ -1228,7 +1228,7 @@ fn collect(&mut self, items: &[ModItem]) {
def = Some(DefData {
id: TypeAliasLoc {
container: container.into(),
container: module.into(),
id: ItemTreeId::new(self.file_id, id),
}
.intern(self.def_collector.db)

View File

@ -700,7 +700,7 @@ fn resolver(self, db: &dyn DefDatabase) -> Resolver {
impl HasResolver for AssocContainerId {
fn resolver(self, db: &dyn DefDatabase) -> Resolver {
match self {
AssocContainerId::ContainerId(it) => it.resolver(db),
AssocContainerId::ModuleId(it) => it.resolver(db),
AssocContainerId::TraitId(it) => it.resolver(db),
AssocContainerId::ImplId(it) => it.resolver(db),
}

View File

@ -260,7 +260,7 @@ fn resolve_ty_assoc_item(
}));
Some(trait_substs)
}
AssocContainerId::ContainerId(_) => None,
AssocContainerId::ModuleId(_) => None,
};
self.write_assoc_resolution(id, item);

View File

@ -715,7 +715,7 @@ fn transform_receiver_ty(
.fill_with_unknown()
.build()
}
AssocContainerId::ContainerId(_) => unreachable!(),
AssocContainerId::ModuleId(_) => unreachable!(),
};
let sig = db.callable_item_signature(function_id.into());
Some(sig.value.params()[0].clone().subst_bound_vars(&substs))

View File

@ -259,6 +259,6 @@ fn parent_generic_def(db: &dyn DefDatabase, def: GenericDefId) -> Option<Generic
match container {
AssocContainerId::ImplId(it) => Some(it.into()),
AssocContainerId::TraitId(it) => Some(it.into()),
AssocContainerId::ContainerId(_) => None,
AssocContainerId::ModuleId(_) => None,
}
}