Gather module items after lowering.
This commit is contained in:
parent
0212c70b1d
commit
fa6f5adf73
13 changed files with 121 additions and 69 deletions
|
@ -102,8 +102,6 @@ struct LoweringContext<'a, 'hir: 'a> {
|
|||
owners: IndexVec<LocalDefId, Option<hir::OwnerNode<'hir>>>,
|
||||
bodies: BTreeMap<hir::BodyId, hir::Body<'hir>>,
|
||||
|
||||
modules: BTreeMap<LocalDefId, hir::ModuleItems>,
|
||||
|
||||
generator_kind: Option<hir::GeneratorKind>,
|
||||
|
||||
attrs: BTreeMap<hir::HirId, &'hir [Attribute]>,
|
||||
|
@ -152,8 +150,6 @@ struct LoweringContext<'a, 'hir: 'a> {
|
|||
/// vector.
|
||||
in_scope_lifetimes: Vec<ParamName>,
|
||||
|
||||
current_module: LocalDefId,
|
||||
|
||||
current_hir_id_owner: (LocalDefId, u32),
|
||||
item_local_id_counters: NodeMap<u32>,
|
||||
node_id_to_hir_id: IndexVec<NodeId, Option<hir::HirId>>,
|
||||
|
@ -327,7 +323,6 @@ pub fn lower_crate<'a, 'hir>(
|
|||
arena,
|
||||
owners: IndexVec::default(),
|
||||
bodies: BTreeMap::new(),
|
||||
modules: BTreeMap::new(),
|
||||
attrs: BTreeMap::default(),
|
||||
catch_scope: None,
|
||||
loop_scope: None,
|
||||
|
@ -335,7 +330,6 @@ pub fn lower_crate<'a, 'hir>(
|
|||
is_in_trait_impl: false,
|
||||
is_in_dyn_type: false,
|
||||
anonymous_lifetime_mode: AnonymousLifetimeMode::PassThrough,
|
||||
current_module: CRATE_DEF_ID,
|
||||
current_hir_id_owner: (CRATE_DEF_ID, 0),
|
||||
item_local_id_counters: Default::default(),
|
||||
node_id_to_hir_id: IndexVec::new(),
|
||||
|
@ -508,13 +502,8 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
}
|
||||
}
|
||||
|
||||
let krate = hir::Crate {
|
||||
owners: self.owners,
|
||||
bodies: self.bodies,
|
||||
modules: self.modules,
|
||||
trait_map,
|
||||
attrs: self.attrs,
|
||||
};
|
||||
let krate =
|
||||
hir::Crate { owners: self.owners, bodies: self.bodies, trait_map, attrs: self.attrs };
|
||||
self.arena.alloc(krate)
|
||||
}
|
||||
|
||||
|
@ -523,7 +512,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
let item = self.arena.alloc(item);
|
||||
self.owners.ensure_contains_elem(id.def_id, || None);
|
||||
self.owners[id.def_id] = Some(hir::OwnerNode::Item(item));
|
||||
self.modules.entry(self.current_module).or_default().items.insert(id);
|
||||
id
|
||||
}
|
||||
|
||||
|
@ -532,7 +520,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
let item = self.arena.alloc(item);
|
||||
self.owners.ensure_contains_elem(id.def_id, || None);
|
||||
self.owners[id.def_id] = Some(hir::OwnerNode::ForeignItem(item));
|
||||
self.modules.entry(self.current_module).or_default().foreign_items.insert(id);
|
||||
id
|
||||
}
|
||||
|
||||
|
@ -541,7 +528,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
let item = self.arena.alloc(item);
|
||||
self.owners.ensure_contains_elem(id.def_id, || None);
|
||||
self.owners[id.def_id] = Some(hir::OwnerNode::ImplItem(item));
|
||||
self.modules.entry(self.current_module).or_default().impl_items.insert(id);
|
||||
id
|
||||
}
|
||||
|
||||
|
@ -550,7 +536,6 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
let item = self.arena.alloc(item);
|
||||
self.owners.ensure_contains_elem(id.def_id, || None);
|
||||
self.owners[id.def_id] = Some(hir::OwnerNode::TraitItem(item));
|
||||
self.modules.entry(self.current_module).or_default().trait_items.insert(id);
|
||||
id
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue