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.rs36
1 files changed, 18 insertions, 18 deletions
diff --git a/crates/ra_hir/src/code_model.rs b/crates/ra_hir/src/code_model.rs
index 034fb7cfa..b71ee764a 100644
--- a/crates/ra_hir/src/code_model.rs
+++ b/crates/ra_hir/src/code_model.rs
@@ -229,8 +229,8 @@ impl Module {
229 } 229 }
230 } 230 }
231 231
232 for impl_block in self.impl_blocks(db) { 232 for impl_def in self.impl_defs(db) {
233 for item in impl_block.items(db) { 233 for item in impl_def.items(db) {
234 if let AssocItem::Function(f) = item { 234 if let AssocItem::Function(f) = item {
235 f.diagnostics(db, sink); 235 f.diagnostics(db, sink);
236 } 236 }
@@ -243,9 +243,9 @@ impl Module {
243 def_map[self.id.local_id].scope.declarations().map(ModuleDef::from).collect() 243 def_map[self.id.local_id].scope.declarations().map(ModuleDef::from).collect()
244 } 244 }
245 245
246 pub fn impl_blocks(self, db: &impl DefDatabase) -> Vec<ImplBlock> { 246 pub fn impl_defs(self, db: &impl DefDatabase) -> Vec<ImplDef> {
247 let def_map = db.crate_def_map(self.id.krate); 247 let def_map = db.crate_def_map(self.id.krate);
248 def_map[self.id.local_id].scope.impls().map(ImplBlock::from).collect() 248 def_map[self.id.local_id].scope.impls().map(ImplDef::from).collect()
249 } 249 }
250 250
251 pub(crate) fn with_module_id(self, module_id: LocalModuleId) -> Module { 251 pub(crate) fn with_module_id(self, module_id: LocalModuleId) -> Module {
@@ -686,7 +686,7 @@ pub enum AssocItem {
686} 686}
687pub enum AssocItemContainer { 687pub enum AssocItemContainer {
688 Trait(Trait), 688 Trait(Trait),
689 ImplBlock(ImplBlock), 689 ImplDef(ImplDef),
690} 690}
691pub trait AsAssocItem { 691pub trait AsAssocItem {
692 fn as_assoc_item(self, db: &impl DefDatabase) -> Option<AssocItem>; 692 fn as_assoc_item(self, db: &impl DefDatabase) -> Option<AssocItem>;
@@ -736,7 +736,7 @@ impl AssocItem {
736 }; 736 };
737 match container { 737 match container {
738 AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()), 738 AssocContainerId::TraitId(id) => AssocItemContainer::Trait(id.into()),
739 AssocContainerId::ImplId(id) => AssocItemContainer::ImplBlock(id.into()), 739 AssocContainerId::ImplId(id) => AssocItemContainer::ImplDef(id.into()),
740 AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"), 740 AssocContainerId::ContainerId(_) => panic!("invalid AssocItem"),
741 } 741 }
742 } 742 }
@@ -748,7 +748,7 @@ pub enum GenericDef {
748 Adt(Adt), 748 Adt(Adt),
749 Trait(Trait), 749 Trait(Trait),
750 TypeAlias(TypeAlias), 750 TypeAlias(TypeAlias),
751 ImplBlock(ImplBlock), 751 ImplDef(ImplDef),
752 // enum variants cannot have generics themselves, but their parent enums 752 // enum variants cannot have generics themselves, but their parent enums
753 // can, and this makes some code easier to write 753 // can, and this makes some code easier to write
754 EnumVariant(EnumVariant), 754 EnumVariant(EnumVariant),
@@ -760,7 +760,7 @@ impl_froms!(
760 Adt(Struct, Enum, Union), 760 Adt(Struct, Enum, Union),
761 Trait, 761 Trait,
762 TypeAlias, 762 TypeAlias,
763 ImplBlock, 763 ImplDef,
764 EnumVariant, 764 EnumVariant,
765 Const 765 Const
766); 766);
@@ -850,20 +850,20 @@ impl TypeParam {
850 } 850 }
851} 851}
852 852
853// FIXME: rename from `ImplBlock` to `Impl` 853// FIXME: rename from `ImplDef` to `Impl`
854#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)] 854#[derive(Debug, Clone, Copy, PartialEq, Eq, Hash)]
855pub struct ImplBlock { 855pub struct ImplDef {
856 pub(crate) id: ImplId, 856 pub(crate) id: ImplId,
857} 857}
858 858
859impl ImplBlock { 859impl ImplDef {
860 pub fn all_in_crate(db: &impl HirDatabase, krate: Crate) -> Vec<ImplBlock> { 860 pub fn all_in_crate(db: &impl HirDatabase, krate: Crate) -> Vec<ImplDef> {
861 let impls = db.impls_in_crate(krate.id); 861 let impls = db.impls_in_crate(krate.id);
862 impls.all_impls().map(Self::from).collect() 862 impls.all_impls().map(Self::from).collect()
863 } 863 }
864 pub fn for_trait(db: &impl HirDatabase, krate: Crate, trait_: Trait) -> Vec<ImplBlock> { 864 pub fn for_trait(db: &impl HirDatabase, krate: Crate, trait_: Trait) -> Vec<ImplDef> {
865 let impls = db.impls_in_crate(krate.id); 865 let impls = db.impls_in_crate(krate.id);
866 impls.lookup_impl_blocks_for_trait(trait_.id).map(Self::from).collect() 866 impls.lookup_impl_defs_for_trait(trait_.id).map(Self::from).collect()
867 } 867 }
868 868
869 pub fn target_trait(&self, db: &impl DefDatabase) -> Option<TypeRef> { 869 pub fn target_trait(&self, db: &impl DefDatabase) -> Option<TypeRef> {
@@ -1077,7 +1077,7 @@ impl Type {
1077 } 1077 }
1078 1078
1079 // This would be nicer if it just returned an iterator, but that runs into 1079 // This would be nicer if it just returned an iterator, but that runs into
1080 // lifetime problems, because we need to borrow temp `CrateImplBlocks`. 1080 // lifetime problems, because we need to borrow temp `CrateImplDefs`.
1081 pub fn iterate_impl_items<T>( 1081 pub fn iterate_impl_items<T>(
1082 self, 1082 self,
1083 db: &impl HirDatabase, 1083 db: &impl HirDatabase,
@@ -1087,8 +1087,8 @@ impl Type {
1087 for krate in self.ty.value.def_crates(db, krate.id)? { 1087 for krate in self.ty.value.def_crates(db, krate.id)? {
1088 let impls = db.impls_in_crate(krate); 1088 let impls = db.impls_in_crate(krate);
1089 1089
1090 for impl_block in impls.lookup_impl_blocks(&self.ty.value) { 1090 for impl_def in impls.lookup_impl_defs(&self.ty.value) {
1091 for &item in db.impl_data(impl_block).items.iter() { 1091 for &item in db.impl_data(impl_def).items.iter() {
1092 if let Some(result) = callback(item.into()) { 1092 if let Some(result) = callback(item.into()) {
1093 return Some(result); 1093 return Some(result);
1094 } 1094 }
@@ -1196,7 +1196,7 @@ pub enum ScopeDef {
1196 ModuleDef(ModuleDef), 1196 ModuleDef(ModuleDef),
1197 MacroDef(MacroDef), 1197 MacroDef(MacroDef),
1198 GenericParam(TypeParam), 1198 GenericParam(TypeParam),
1199 ImplSelfType(ImplBlock), 1199 ImplSelfType(ImplDef),
1200 AdtSelfType(Adt), 1200 AdtSelfType(Adt),
1201 Local(Local), 1201 Local(Local),
1202 Unknown, 1202 Unknown,