1
Fork 0

resolve: Minor cleanup to Resolver::get_module

This commit is contained in:
Vadim Petrochenkov 2023-03-14 19:01:09 +04:00
parent 52c73975b4
commit 18b59f5d6d

View file

@ -115,27 +115,24 @@ impl<'a, 'tcx> Resolver<'a, 'tcx> {
if !def_id.is_local() { if !def_id.is_local() {
let def_kind = self.cstore().def_kind(def_id); let def_kind = self.cstore().def_kind(def_id);
match def_kind { if let DefKind::Mod | DefKind::Enum | DefKind::Trait = def_kind {
DefKind::Mod | DefKind::Enum | DefKind::Trait => { let parent = self
let parent = self .tcx
.tcx .opt_parent(def_id)
.opt_parent(def_id) .map(|parent_id| self.get_nearest_non_block_module(parent_id));
.map(|parent_id| self.get_nearest_non_block_module(parent_id)); let expn_id = self.cstore().module_expansion_untracked(def_id, &self.tcx.sess);
let expn_id = self.cstore().module_expansion_untracked(def_id, &self.tcx.sess); return Some(self.new_module(
Some(self.new_module( parent,
parent, ModuleKind::Def(def_kind, def_id, self.tcx.item_name(def_id)),
ModuleKind::Def(def_kind, def_id, self.tcx.item_name(def_id)), expn_id,
expn_id, self.def_span(def_id),
self.def_span(def_id), // FIXME: Account for `#[no_implicit_prelude]` attributes.
// FIXME: Account for `#[no_implicit_prelude]` attributes. parent.map_or(false, |module| module.no_implicit_prelude),
parent.map_or(false, |module| module.no_implicit_prelude), ));
))
}
_ => None,
} }
} else {
None
} }
None
} }
pub(crate) fn expn_def_scope(&mut self, expn_id: ExpnId) -> Module<'a> { pub(crate) fn expn_def_scope(&mut self, expn_id: ExpnId) -> Module<'a> {