Remove hir::Crate::attrs.
This commit is contained in:
parent
c05c90275c
commit
a987bbb97c
15 changed files with 47 additions and 45 deletions
|
@ -568,7 +568,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
visit::walk_crate(&mut item::ItemLowerer { lctx: &mut self }, c);
|
||||
|
||||
let module = self.lower_mod(&c.items, c.span);
|
||||
let attrs = self.lower_attrs(hir::CRATE_HIR_ID, &c.attrs);
|
||||
self.lower_attrs(hir::CRATE_HIR_ID, &c.attrs);
|
||||
let body_ids = body_ids(&self.bodies);
|
||||
let proc_macros =
|
||||
c.proc_macros.iter().map(|id| self.node_id_to_hir_id[*id].unwrap()).collect();
|
||||
|
@ -599,7 +599,7 @@ impl<'a, 'hir> LoweringContext<'a, 'hir> {
|
|||
self.attrs.push_owner(Idx::new(self.resolver.definitions().def_index_count() - 1));
|
||||
|
||||
hir::Crate {
|
||||
item: hir::CrateItem { module, attrs, span: c.span },
|
||||
item: hir::CrateItem { module, span: c.span },
|
||||
exported_macros: self.arena.alloc_from_iter(self.exported_macros),
|
||||
non_exported_macro_attrs: self.arena.alloc_from_iter(self.non_exported_macro_attrs),
|
||||
items: self.items,
|
||||
|
|
|
@ -433,12 +433,10 @@ pub fn start_async_codegen<B: ExtraBackendMethods>(
|
|||
let sess = tcx.sess;
|
||||
|
||||
let crate_name = tcx.crate_name(LOCAL_CRATE);
|
||||
let no_builtins = tcx.sess.contains_name(&tcx.hir().krate().item.attrs, sym::no_builtins);
|
||||
let is_compiler_builtins =
|
||||
tcx.sess.contains_name(&tcx.hir().krate().item.attrs, sym::compiler_builtins);
|
||||
let subsystem = tcx
|
||||
.sess
|
||||
.first_attr_value_str_by_name(&tcx.hir().krate().item.attrs, sym::windows_subsystem);
|
||||
let crate_attrs = tcx.hir().attrs(rustc_hir::CRATE_HIR_ID);
|
||||
let no_builtins = tcx.sess.contains_name(crate_attrs, sym::no_builtins);
|
||||
let is_compiler_builtins = tcx.sess.contains_name(crate_attrs, sym::compiler_builtins);
|
||||
let subsystem = tcx.sess.first_attr_value_str_by_name(crate_attrs, sym::windows_subsystem);
|
||||
let windows_subsystem = subsystem.map(|subsystem| {
|
||||
if subsystem != sym::windows && subsystem != sym::console {
|
||||
tcx.sess.fatal(&format!(
|
||||
|
|
|
@ -629,7 +629,6 @@ pub struct ModuleItems {
|
|||
#[derive(Encodable, Debug, HashStable_Generic)]
|
||||
pub struct CrateItem<'hir> {
|
||||
pub module: Mod<'hir>,
|
||||
pub attrs: &'hir [Attribute],
|
||||
pub span: Span,
|
||||
}
|
||||
|
||||
|
|
|
@ -168,7 +168,7 @@ pub fn print_crate<'a>(
|
|||
// When printing the AST, we sometimes need to inject `#[no_std]` here.
|
||||
// Since you can't compile the HIR, it's not necessary.
|
||||
|
||||
s.print_mod(&krate.item.module, &krate.item.attrs);
|
||||
s.print_mod(&krate.item.module, krate.attrs[hir::CRATE_HIR_ID]);
|
||||
s.print_remaining_comments();
|
||||
s.s.eof()
|
||||
}
|
||||
|
|
|
@ -44,7 +44,7 @@ pub fn assert_module_sources(tcx: TyCtxt<'_>) {
|
|||
|
||||
let ams = AssertModuleSource { tcx, available_cgus };
|
||||
|
||||
for attr in tcx.hir().krate().item.attrs {
|
||||
for attr in tcx.hir().attrs(rustc_hir::CRATE_HIR_ID) {
|
||||
ams.check_attr(attr);
|
||||
}
|
||||
})
|
||||
|
|
|
@ -38,7 +38,7 @@ fn lint_levels(tcx: TyCtxt<'_>, cnum: CrateNum) -> LintLevelMap {
|
|||
|
||||
builder.levels.id_to_set.reserve(krate.exported_macros.len() + 1);
|
||||
|
||||
let push = builder.levels.push(&krate.item.attrs, &store, true);
|
||||
let push = builder.levels.push(tcx.hir().attrs(hir::CRATE_HIR_ID), &store, true);
|
||||
builder.levels.register_id(hir::CRATE_HIR_ID);
|
||||
for macro_def in krate.exported_macros {
|
||||
builder.levels.register_id(macro_def.hir_id());
|
||||
|
|
|
@ -8,7 +8,7 @@ crate fn collect(tcx: TyCtxt<'_>) -> Vec<String> {
|
|||
let mut collector = Collector { tcx, args: Vec::new() };
|
||||
tcx.hir().krate().visit_all_item_likes(&mut collector);
|
||||
|
||||
for attr in tcx.hir().krate().item.attrs.iter() {
|
||||
for attr in tcx.hir().attrs(hir::CRATE_HIR_ID).iter() {
|
||||
if attr.has_name(sym::link_args) {
|
||||
if let Some(linkarg) = attr.value_str() {
|
||||
collector.add_link_args(linkarg);
|
||||
|
|
|
@ -2,7 +2,7 @@ use rustc_ast::entry::EntryPointType;
|
|||
use rustc_errors::struct_span_err;
|
||||
use rustc_hir::def_id::{CrateNum, LocalDefId, CRATE_DEF_INDEX, LOCAL_CRATE};
|
||||
use rustc_hir::itemlikevisit::ItemLikeVisitor;
|
||||
use rustc_hir::{ForeignItem, HirId, ImplItem, Item, ItemKind, TraitItem};
|
||||
use rustc_hir::{ForeignItem, HirId, ImplItem, Item, ItemKind, TraitItem, CRATE_HIR_ID};
|
||||
use rustc_middle::hir::map::Map;
|
||||
use rustc_middle::ty::query::Providers;
|
||||
use rustc_middle::ty::TyCtxt;
|
||||
|
@ -60,7 +60,7 @@ fn entry_fn(tcx: TyCtxt<'_>, cnum: CrateNum) -> Option<(LocalDefId, EntryFnType)
|
|||
}
|
||||
|
||||
// If the user wants no main function at all, then stop here.
|
||||
if tcx.sess.contains_name(&tcx.hir().krate().item.attrs, sym::no_main) {
|
||||
if tcx.sess.contains_name(&tcx.hir().attrs(CRATE_HIR_ID), sym::no_main) {
|
||||
return None;
|
||||
}
|
||||
|
||||
|
|
|
@ -1118,6 +1118,7 @@ impl<'tcx> DumpVisitor<'tcx> {
|
|||
.map(|i| id_from_def_id(i.def_id.to_def_id()))
|
||||
.collect();
|
||||
let span = self.span_from_span(krate.item.span);
|
||||
let attrs = self.tcx.hir().attrs(id);
|
||||
|
||||
self.dumper.dump_def(
|
||||
&Access { public: true, reachable: true },
|
||||
|
@ -1131,9 +1132,9 @@ impl<'tcx> DumpVisitor<'tcx> {
|
|||
children,
|
||||
parent: None,
|
||||
decl_id: None,
|
||||
docs: self.save_ctxt.docs_for_attrs(krate.item.attrs),
|
||||
docs: self.save_ctxt.docs_for_attrs(attrs),
|
||||
sig: None,
|
||||
attributes: lower_attributes(krate.item.attrs.to_owned(), &self.save_ctxt),
|
||||
attributes: lower_attributes(attrs.to_owned(), &self.save_ctxt),
|
||||
},
|
||||
);
|
||||
intravisit::walk_crate(self, krate);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue