diff options
| author | est31 <MTest31@outlook.com> | 2017-05-12 08:05:52 +0200 |
|---|---|---|
| committer | est31 <MTest31@outlook.com> | 2017-05-13 16:02:29 +0200 |
| commit | db82c57cb7ff7f4f629ceeaefdbc693d2886fda7 (patch) | |
| tree | e3d418c0bf64c7619cf4c05eee68ac8d68ffa103 /src/libsyntax | |
| parent | df188b8f976a49c226068e42a6c3ae2e15956daf (diff) | |
| download | rust-db82c57cb7ff7f4f629ceeaefdbc693d2886fda7.tar.gz rust-db82c57cb7ff7f4f629ceeaefdbc693d2886fda7.zip | |
Extend the libsyntax visitor to work over macro defs
Diffstat (limited to 'src/libsyntax')
| -rw-r--r-- | src/libsyntax/visit.rs | 6 |
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); } |
