1 //! This module is used to store stuff from Rust's AST in a more convenient
2 //! manner (and with prettier names) before cleaning.
3 use rustc_middle::ty::TyCtxt;
4 use rustc_span::{self, Span, Symbol};
9 crate struct Module<'hir> {
11 crate where_inner: Span,
12 crate mods: Vec<Module<'hir>>,
15 crate items: Vec<(&'hir hir::Item<'hir>, Option<Symbol>)>,
16 crate foreigns: Vec<(&'hir hir::ForeignItem<'hir>, Option<Symbol>)>,
20 crate fn new(name: Symbol, id: hir::HirId, where_inner: Span) -> Module<'hir> {
21 Module { name, id, where_inner, mods: Vec::new(), items: Vec::new(), foreigns: Vec::new() }
24 crate fn where_outer(&self, tcx: TyCtxt<'_>) -> Span {
25 tcx.hir().span(self.id)