Unnamed repository; edit this file 'description' to name the repository.
Diffstat (limited to 'crates/hir/src/symbols.rs')
-rw-r--r--crates/hir/src/symbols.rs10
1 files changed, 6 insertions, 4 deletions
diff --git a/crates/hir/src/symbols.rs b/crates/hir/src/symbols.rs
index c088f3aa0c..ff56544d82 100644
--- a/crates/hir/src/symbols.rs
+++ b/crates/hir/src/symbols.rs
@@ -8,9 +8,11 @@ use hir_def::{
AdtId, AssocItemId, AstIdLoc, Complete, DefWithBodyId, ExternCrateId, HasModule, ImplId,
Lookup, MacroId, ModuleDefId, ModuleId, TraitId,
db::DefDatabase,
+ expr_store::Body,
item_scope::{ImportId, ImportOrExternCrate, ImportOrGlob},
nameres::crate_def_map,
per_ns::Item,
+ signatures::{EnumSignature, ImplSignature, TraitSignature},
src::{HasChildSource, HasSource},
visibility::{Visibility, VisibilityExplicitness},
};
@@ -185,7 +187,7 @@ impl<'a> SymbolCollector<'a> {
}
ModuleDefId::AdtId(AdtId::EnumId(id)) => {
this.push_decl(id, name, false, None);
- let enum_name = Symbol::intern(this.db.enum_signature(id).name.as_str());
+ let enum_name = Symbol::intern(EnumSignature::of(this.db, id).name.as_str());
this.with_container_name(Some(enum_name), |this| {
let variants = id.enum_variants(this.db);
for (variant_id, variant_name, _) in &variants.variants {
@@ -386,7 +388,7 @@ impl<'a> SymbolCollector<'a> {
return;
}
let body_id = body_id.into();
- let body = self.db.body(body_id);
+ let body = Body::of(self.db, body_id);
// Descend into the blocks and enqueue collection of all modules within.
for (_, def_map) in body.blocks(self.db) {
@@ -397,7 +399,7 @@ impl<'a> SymbolCollector<'a> {
}
fn collect_from_impl(&mut self, impl_id: ImplId) {
- let impl_data = self.db.impl_signature(impl_id);
+ let impl_data = ImplSignature::of(self.db, impl_id);
let impl_name = Some(
hir_display_with_store(impl_data.self_ty, &impl_data.store)
.display(
@@ -419,7 +421,7 @@ impl<'a> SymbolCollector<'a> {
}
fn collect_from_trait(&mut self, trait_id: TraitId, trait_do_not_complete: Complete) {
- let trait_data = self.db.trait_signature(trait_id);
+ let trait_data = TraitSignature::of(self.db, trait_id);
self.with_container_name(Some(Symbol::intern(trait_data.name.as_str())), |s| {
for &(ref name, assoc_item_id) in &trait_id.trait_items(self.db).items {
s.push_assoc_item(assoc_item_id, name, Some(trait_do_not_complete));