trait_impls: BTreeMap<DefId, Vec<hir::HirId>>,
- modules: BTreeMap<NodeId, hir::ModuleItems>,
+ modules: BTreeMap<hir::HirId, hir::ModuleItems>,
generator_kind: Option<hir::GeneratorKind>,
/// vector.
in_scope_lifetimes: Vec<ParamName>,
- current_module: NodeId,
+ current_module: hir::HirId,
type_def_lifetime_params: DefIdMap<usize>,
is_in_dyn_type: false,
anonymous_lifetime_mode: AnonymousLifetimeMode::PassThrough,
type_def_lifetime_params: Default::default(),
- current_module: CRATE_NODE_ID,
+ current_module: hir::CRATE_HIR_ID,
current_hir_id_owner: vec![(CRATE_DEF_INDEX, 0)],
item_local_id_counters: Default::default(),
node_id_to_hir_id: IndexVec::new(),
impl<'tcx, 'interner> Visitor<'tcx> for ItemLowerer<'tcx, 'interner> {
fn visit_mod(&mut self, m: &'tcx Mod, _s: Span, _attrs: &[Attribute], n: NodeId) {
- self.lctx.modules.insert(n, hir::ModuleItems {
+ let hir_id = self.lctx.lower_node_id(n);
+
+ self.lctx.modules.insert(hir_id, hir::ModuleItems {
items: BTreeSet::new(),
trait_items: BTreeSet::new(),
impl_items: BTreeSet::new(),
});
let old = self.lctx.current_module;
- self.lctx.current_module = n;
+ self.lctx.current_module = hir_id;
visit::walk_mod(self, m);
self.lctx.current_module = old;
}
let errors = Lock::new(Vec::new());
par_iter(&hir_map.krate().modules).for_each(|(module_id, _)| {
- let local_def_id = hir_map.local_def_id_from_node_id(*module_id);
+ let local_def_id = hir_map.local_def_id(*module_id);
hir_map.visit_item_likes_in_module(local_def_id, &mut OuterVisitor {
hir_map,
errors: &errors,
// in the expect_* calls the loops below
self.read(hir_id);
- let node_id = self.hir_to_node_id[&hir_id];
-
- let module = &self.forest.krate.modules[&node_id];
+ let module = &self.forest.krate.modules[&hir_id];
for id in &module.items {
visitor.visit_item(self.expect_item(*id));
/// A list of modules written out in the order in which they
/// appear in the crate. This includes the main crate module.
- pub modules: BTreeMap<NodeId, ModuleItems>,
+ pub modules: BTreeMap<HirId, ModuleItems>,
}
impl Crate {
time(tcx.sess, "module lints", || {
// Run per-module lints
par_iter(&tcx.hir().krate().modules).for_each(|(&module, _)| {
- tcx.ensure().lint_mod(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().lint_mod(tcx.hir().local_def_id(module));
});
});
});
});
}, {
par_iter(&tcx.hir().krate().modules).for_each(|(&module, _)| {
- tcx.ensure().check_mod_loops(tcx.hir().local_def_id_from_node_id(module));
- tcx.ensure().check_mod_attrs(tcx.hir().local_def_id_from_node_id(module));
- tcx.ensure().check_mod_unstable_api_usage(
- tcx.hir().local_def_id_from_node_id(module));
+ let local_def_id = tcx.hir().local_def_id(module);
+ tcx.ensure().check_mod_loops(local_def_id);
+ tcx.ensure().check_mod_attrs(local_def_id);
+ tcx.ensure().check_mod_unstable_api_usage(local_def_id);
});
});
});
// "not all control paths return a value" is reported here.
//
// maybe move the check to a MIR pass?
- tcx.ensure().check_mod_liveness(tcx.hir().local_def_id_from_node_id(module));
+ let local_def_id = tcx.hir().local_def_id(module);
- tcx.ensure().check_mod_intrinsics(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().check_mod_liveness(local_def_id);
+ tcx.ensure().check_mod_intrinsics(local_def_id);
});
});
});
}, {
time(sess, "privacy checking modules", || {
par_iter(&tcx.hir().krate().modules).for_each(|(&module, _)| {
- tcx.ensure().check_mod_privacy(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().check_mod_privacy(tcx.hir().local_def_id(module));
});
});
});
// but it's one that we must perform earlier than the rest of
// WfCheck.
for &module in tcx.hir().krate().modules.keys() {
- tcx.ensure().check_mod_impl_wf(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().check_mod_impl_wf(tcx.hir().local_def_id(module));
}
}
tcx.sess.track_errors(|| {
time(tcx.sess, "type collecting", || {
for &module in tcx.hir().krate().modules.keys() {
- tcx.ensure().collect_mod_item_types(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().collect_mod_item_types(tcx.hir().local_def_id(module));
}
});
})?;
time(tcx.sess, "item-types checking", || {
for &module in tcx.hir().krate().modules.keys() {
- tcx.ensure().check_mod_item_types(tcx.hir().local_def_id_from_node_id(module));
+ tcx.ensure().check_mod_item_types(tcx.hir().local_def_id(module));
}
});