about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorest31 <MTest31@outlook.com>2017-05-12 08:05:52 +0200
committerest31 <MTest31@outlook.com>2017-05-13 16:02:29 +0200
commitdb82c57cb7ff7f4f629ceeaefdbc693d2886fda7 (patch)
treee3d418c0bf64c7619cf4c05eee68ac8d68ffa103 /src
parentdf188b8f976a49c226068e42a6c3ae2e15956daf (diff)
downloadrust-db82c57cb7ff7f4f629ceeaefdbc693d2886fda7.tar.gz
rust-db82c57cb7ff7f4f629ceeaefdbc693d2886fda7.zip
Extend the libsyntax visitor to work over macro defs
Diffstat (limited to 'src')
-rw-r--r--src/libsyntax/visit.rs6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/libsyntax/visit.rs b/src/libsyntax/visit.rs
index 2e42c6986e6..1855681221b 100644
--- a/src/libsyntax/visit.rs
+++ b/src/libsyntax/visit.rs
@@ -27,6 +27,7 @@ use abi::Abi;
 use ast::*;
 use syntax_pos::Span;
 use codemap::Spanned;
+use tokenstream::ThinTokenStream;
 
 #[derive(Copy, Clone, PartialEq, Eq)]
 pub enum FnKind<'a> {
@@ -110,6 +111,9 @@ pub trait Visitor<'ast>: Sized {
         // definition in your trait impl:
         // visit::walk_mac(self, _mac)
     }
+    fn visit_mac_def(&mut self, _mac: &'ast ThinTokenStream, _id: NodeId) {
+        // Nothing to do
+    }
     fn visit_path(&mut self, path: &'ast Path, _id: NodeId) {
         walk_path(self, path)
     }
@@ -288,7 +292,7 @@ pub fn walk_item<'a, V: Visitor<'a>>(visitor: &mut V, item: &'a Item) {
             walk_list!(visitor, visit_trait_item, methods);
         }
         ItemKind::Mac(ref mac) => visitor.visit_mac(mac),
-        ItemKind::MacroDef(..) => {},
+        ItemKind::MacroDef(ref ts) => visitor.visit_mac_def(ts, item.id),
     }
     walk_list!(visitor, visit_attribute, &item.attrs);
 }