Roughly parse 2.0 macro syntax
diff --git a/src/gen/fold.rs b/src/gen/fold.rs
index e92937f..722c1a1 100644
--- a/src/gen/fold.rs
+++ b/src/gen/fold.rs
@@ -244,6 +244,8 @@
# [ cfg ( feature = "full" ) ]
fn fold_item_macro(&mut self, i: ItemMacro) -> ItemMacro { fold_item_macro(self, i) }
# [ cfg ( feature = "full" ) ]
+fn fold_item_macro2(&mut self, i: ItemMacro2) -> ItemMacro2 { fold_item_macro2(self, i) }
+# [ cfg ( feature = "full" ) ]
fn fold_item_mod(&mut self, i: ItemMod) -> ItemMod { fold_item_mod(self, i) }
# [ cfg ( feature = "full" ) ]
fn fold_item_static(&mut self, i: ItemStatic) -> ItemStatic { fold_item_static(self, i) }
@@ -1700,6 +1702,11 @@
_visitor.fold_item_macro(_binding_0),
)
}
+ Macro2(_binding_0, ) => {
+ Macro2 (
+ _visitor.fold_item_macro2(_binding_0),
+ )
+ }
}
}
# [ cfg ( feature = "full" ) ]
@@ -1797,6 +1804,17 @@
}
}
# [ cfg ( feature = "full" ) ]
+pub fn fold_item_macro2<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemMacro2) -> ItemMacro2 {
+ ItemMacro2 {
+ attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
+ vis: _visitor.fold_visibility(_i . vis),
+ macro_token: _i . macro_token,
+ ident: _i . ident,
+ args: _i . args,
+ body: _i . body,
+ }
+}
+# [ cfg ( feature = "full" ) ]
pub fn fold_item_mod<V: Folder + ?Sized>(_visitor: &mut V, _i: ItemMod) -> ItemMod {
ItemMod {
attrs: FoldHelper::lift(_i . attrs, |it| { _visitor.fold_attribute(it) }),
diff --git a/src/gen/visit.rs b/src/gen/visit.rs
index 6e167b1..06697aa 100644
--- a/src/gen/visit.rs
+++ b/src/gen/visit.rs
@@ -217,6 +217,8 @@
# [ cfg ( feature = "full" ) ]
fn visit_item_macro(&mut self, i: &'ast ItemMacro) { visit_item_macro(self, i) }
# [ cfg ( feature = "full" ) ]
+fn visit_item_macro2(&mut self, i: &'ast ItemMacro2) { visit_item_macro2(self, i) }
+# [ cfg ( feature = "full" ) ]
fn visit_item_mod(&mut self, i: &'ast ItemMod) { visit_item_mod(self, i) }
# [ cfg ( feature = "full" ) ]
fn visit_item_static(&mut self, i: &'ast ItemStatic) { visit_item_static(self, i) }
@@ -1309,6 +1311,9 @@
Macro(ref _binding_0, ) => {
_visitor.visit_item_macro(&* _binding_0);
}
+ Macro2(ref _binding_0, ) => {
+ _visitor.visit_item_macro2(&* _binding_0);
+ }
}
}
# [ cfg ( feature = "full" ) ]
@@ -1390,6 +1395,15 @@
_visitor.visit_macro(&_i . mac);
}
# [ cfg ( feature = "full" ) ]
+pub fn visit_item_macro2<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMacro2) {
+ for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
+ _visitor.visit_visibility(&_i . vis);
+ // Skipped field _i . macro_token;
+ // Skipped field _i . ident;
+ // Skipped field _i . args;
+ // Skipped field _i . body;
+}
+# [ cfg ( feature = "full" ) ]
pub fn visit_item_mod<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMod) {
for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
_visitor.visit_visibility(&_i . vis);
diff --git a/src/gen/visit_mut.rs b/src/gen/visit_mut.rs
index d0c5113..3a91cd4 100644
--- a/src/gen/visit_mut.rs
+++ b/src/gen/visit_mut.rs
@@ -217,6 +217,8 @@
# [ cfg ( feature = "full" ) ]
fn visit_item_macro_mut(&mut self, i: &mut ItemMacro) { visit_item_macro_mut(self, i) }
# [ cfg ( feature = "full" ) ]
+fn visit_item_macro2_mut(&mut self, i: &mut ItemMacro2) { visit_item_macro2_mut(self, i) }
+# [ cfg ( feature = "full" ) ]
fn visit_item_mod_mut(&mut self, i: &mut ItemMod) { visit_item_mod_mut(self, i) }
# [ cfg ( feature = "full" ) ]
fn visit_item_static_mut(&mut self, i: &mut ItemStatic) { visit_item_static_mut(self, i) }
@@ -1309,6 +1311,9 @@
Macro(ref mut _binding_0, ) => {
_visitor.visit_item_macro_mut(&mut * _binding_0);
}
+ Macro2(ref mut _binding_0, ) => {
+ _visitor.visit_item_macro2_mut(&mut * _binding_0);
+ }
}
}
# [ cfg ( feature = "full" ) ]
@@ -1390,6 +1395,15 @@
_visitor.visit_macro_mut(&mut _i . mac);
}
# [ cfg ( feature = "full" ) ]
+pub fn visit_item_macro2_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMacro2) {
+ for mut it in (_i . attrs).iter_mut() { _visitor.visit_attribute_mut(&mut it) };
+ _visitor.visit_visibility_mut(&mut _i . vis);
+ // Skipped field _i . macro_token;
+ // Skipped field _i . ident;
+ // Skipped field _i . args;
+ // Skipped field _i . body;
+}
+# [ cfg ( feature = "full" ) ]
pub fn visit_item_mod_mut<V: VisitorMut + ?Sized>(_visitor: &mut V, _i: &mut ItemMod) {
for mut it in (_i . attrs).iter_mut() { _visitor.visit_attribute_mut(&mut it) };
_visitor.visit_visibility_mut(&mut _i . vis);