diff options
| author | Niko Matsakis <niko@alum.mit.edu> | 2016-11-02 18:22:59 -0400 |
|---|---|---|
| committer | Niko Matsakis <niko@alum.mit.edu> | 2016-11-16 13:51:36 -0500 |
| commit | 36fbf8c53cd37498e5eaadf02740e2aac87f6118 (patch) | |
| tree | 2fde2f2f4092536acd2976c2c0aec59da4466604 /src/librustc_plugin/build.rs | |
| parent | 478c0d161498c9bd0ee89a7b205e7b2f2437f151 (diff) | |
| download | rust-36fbf8c53cd37498e5eaadf02740e2aac87f6118.tar.gz rust-36fbf8c53cd37498e5eaadf02740e2aac87f6118.zip | |
refactor Visitor into ItemLikeVisitor and intravisit::Visitor
There are now three patterns (shallow, deep, and nested visit). These are described in detail on the docs in `itemlikevisit::ItemLikeVisitor`.
Diffstat (limited to 'src/librustc_plugin/build.rs')
| -rw-r--r-- | src/librustc_plugin/build.rs | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/librustc_plugin/build.rs b/src/librustc_plugin/build.rs index ff3038c3d11..0464a93ef71 100644 --- a/src/librustc_plugin/build.rs +++ b/src/librustc_plugin/build.rs @@ -16,14 +16,14 @@ use errors; use syntax_pos::Span; use rustc::dep_graph::DepNode; use rustc::hir::map::Map; -use rustc::hir::intravisit::Visitor; +use rustc::hir::itemlikevisit::ItemLikeVisitor; use rustc::hir; struct RegistrarFinder { registrars: Vec<(ast::NodeId, Span)> , } -impl<'v> Visitor<'v> for RegistrarFinder { +impl<'v> ItemLikeVisitor<'v> for RegistrarFinder { fn visit_item(&mut self, item: &hir::Item) { if let hir::ItemFn(..) = item.node { if attr::contains_name(&item.attrs, @@ -42,7 +42,7 @@ pub fn find_plugin_registrar(diagnostic: &errors::Handler, let krate = hir_map.krate(); let mut finder = RegistrarFinder { registrars: Vec::new() }; - krate.visit_all_items(&mut finder); + krate.visit_all_item_likes(&mut finder); match finder.registrars.len() { 0 => None, |
