]> git.lizzy.rs Git - rust.git/commitdiff
Drop walk_crate_and_attributes.
authorCamille GILLOT <gillot.camille@gmail.com>
Thu, 26 Aug 2021 18:27:06 +0000 (20:27 +0200)
committerCamille GILLOT <gillot.camille@gmail.com>
Thu, 2 Sep 2021 17:08:59 +0000 (19:08 +0200)
compiler/rustc_hir/src/intravisit.rs
compiler/rustc_interface/src/passes.rs
compiler/rustc_passes/src/hir_id_validator.rs
compiler/rustc_passes/src/hir_stats.rs

index 2c8558571de73b3202d90c543631eb3cfc885f0e..2dd49eba4427a8bd00305c8f7633fe3814c69ab7 100644 (file)
@@ -32,7 +32,6 @@
 //! example generator inference, and possibly also HIR borrowck.
 
 use crate::hir::*;
-use crate::hir_id::CRATE_HIR_ID;
 use crate::itemlikevisit::{ItemLikeVisitor, ParItemLikeVisitor};
 use rustc_ast::walk_list;
 use rustc_ast::{Attribute, Label};
@@ -477,17 +476,6 @@ fn visit_defaultness(&mut self, defaultness: &'v Defaultness) {
     }
 }
 
-/// Walks the contents of a crate. See also `Crate::visit_all_items`.
-pub fn walk_crate_and_attributes<'v, V: Visitor<'v>>(visitor: &mut V, krate: &'v Crate<'v>) {
-    let top_mod = krate.module();
-    visitor.visit_mod(top_mod, top_mod.inner, CRATE_HIR_ID);
-    for (&id, attrs) in krate.attrs.iter() {
-        for a in *attrs {
-            visitor.visit_attribute(id, a)
-        }
-    }
-}
-
 pub fn walk_mod<'v, V: Visitor<'v>>(visitor: &mut V, module: &'v Mod<'v>, mod_hir_id: HirId) {
     visitor.visit_id(mod_hir_id);
     for &item_id in module.item_ids {
index 5dc57f6023b767764ff7ea644b4e20c6c56e93be..3eb588c7ff06bcba1d57fe9218cd053d08110f96 100644 (file)
@@ -464,10 +464,6 @@ pub fn lower_to_hir<'res, 'tcx>(
         arena,
     );
 
-    if sess.opts.debugging_opts.hir_stats {
-        hir_stats::print_hir_stats(&hir_crate);
-    }
-
     sess.time("early_lint_checks", || {
         rustc_lint::check_ast_crate(
             sess,
index 944a3097a61c33ee476631a3aa956d3ab55018be..18f61c6e1c1a787df5b6733e881d0db950c4f3f2 100644 (file)
 pub fn check_crate(tcx: TyCtxt<'_>) {
     tcx.dep_graph.assert_ignored();
 
+    if tcx.sess.opts.debugging_opts.hir_stats {
+        crate::hir_stats::print_hir_stats(tcx);
+    }
+
     let errors = Lock::new(Vec::new());
     let hir_map = tcx.hir();
 
index 4868f8b04e9086e3ddc03357433f6e2ed9a3ed1d..58693cdda90fa55de843ef3a9e057c23de2f6af3 100644 (file)
@@ -9,6 +9,7 @@
 use rustc_hir::intravisit as hir_visit;
 use rustc_hir::HirId;
 use rustc_middle::hir::map::Map;
+use rustc_middle::ty::TyCtxt;
 use rustc_middle::util::common::to_readable_str;
 use rustc_span::Span;
 
@@ -25,18 +26,19 @@ struct NodeData {
 }
 
 struct StatCollector<'k> {
-    krate: Option<&'k hir::Crate<'k>>,
+    krate: Option<Map<'k>>,
     data: FxHashMap<&'static str, NodeData>,
     seen: FxHashSet<Id>,
 }
 
-pub fn print_hir_stats(krate: &hir::Crate<'_>) {
+pub fn print_hir_stats(tcx: TyCtxt<'_>) {
     let mut collector = StatCollector {
-        krate: Some(krate),
+        krate: Some(tcx.hir()),
         data: FxHashMap::default(),
         seen: FxHashSet::default(),
     };
-    hir_visit::walk_crate_and_attributes(&mut collector, krate);
+    tcx.hir().walk_crate(&mut collector);
+    tcx.hir().walk_attributes(&mut collector);
     collector.print("HIR STATS");
 }