@@ -453,6 +453,29 @@ macro_rules! make_ast_visitor {
453
453
return_result!( V )
454
454
}
455
455
456
+ pub fn walk_attribute<$( $lt, ) ? V : $trait$( <$lt>) ?>(
457
+ vis: & mut V ,
458
+ attr: ref_t!( Attribute )
459
+ ) -> result!( V ) {
460
+ let Attribute { kind, id: _, style: _, span } = attr;
461
+ match kind {
462
+ AttrKind :: Normal ( normal) => {
463
+ let NormalAttr {
464
+ item: AttrItem { unsafety, path, args, tokens } ,
465
+ tokens: attr_tokens,
466
+ } = & $( $mut) ? * * normal;
467
+ try_v!( vis. visit_safety( unsafety) ) ;
468
+ try_v!( vis. visit_path( path, DUMMY_NODE_ID ) ) ;
469
+ try_v!( vis. visit_attr_args( args) ) ;
470
+ visit_lazy_tts!( vis, tokens) ;
471
+ visit_lazy_tts!( vis, attr_tokens) ;
472
+ }
473
+ AttrKind :: DocComment ( _kind, _sym) => { }
474
+ }
475
+ try_v!( visit_span!( vis, span) ) ;
476
+ return_result!( V )
477
+ }
478
+
456
479
pub fn walk_block<$( $lt, ) ? V : $trait$( <$lt>) ?>(
457
480
vis: & mut V ,
458
481
block: ref_t!( Block )
@@ -1715,20 +1738,6 @@ pub mod visit {
1715
1738
1716
1739
visitor. visit_expr_post ( expression)
1717
1740
}
1718
-
1719
- pub fn walk_attribute < ' a , V : Visitor < ' a > > ( visitor : & mut V , attr : & ' a Attribute ) -> V :: Result {
1720
- let Attribute { kind, id : _, style : _, span : _ } = attr;
1721
- match kind {
1722
- AttrKind :: Normal ( normal) => {
1723
- let NormalAttr { item, tokens : _ } = & * * normal;
1724
- let AttrItem { unsafety : _, path, args, tokens : _ } = item;
1725
- try_visit ! ( visitor. visit_path( path, DUMMY_NODE_ID ) ) ;
1726
- try_visit ! ( visitor. visit_attr_args( args) ) ;
1727
- }
1728
- AttrKind :: DocComment ( _kind, _sym) => { }
1729
- }
1730
- V :: Result :: output ( )
1731
- }
1732
1741
}
1733
1742
1734
1743
pub mod mut_visit {
@@ -1866,24 +1875,6 @@ pub mod mut_visit {
1866
1875
smallvec ! [ variant]
1867
1876
}
1868
1877
1869
- fn walk_attribute < T : MutVisitor > ( vis : & mut T , attr : & mut Attribute ) {
1870
- let Attribute { kind, id : _, style : _, span } = attr;
1871
- match kind {
1872
- AttrKind :: Normal ( normal) => {
1873
- let NormalAttr {
1874
- item : AttrItem { unsafety : _, path, args, tokens } ,
1875
- tokens : attr_tokens,
1876
- } = & mut * * normal;
1877
- vis. visit_path ( path, DUMMY_NODE_ID ) ;
1878
- vis. visit_attr_args ( args) ;
1879
- visit_lazy_tts ( vis, tokens) ;
1880
- visit_lazy_tts ( vis, attr_tokens) ;
1881
- }
1882
- AttrKind :: DocComment ( _kind, _sym) => { }
1883
- }
1884
- vis. visit_span ( span) ;
1885
- }
1886
-
1887
1878
fn walk_macro_def < T : MutVisitor > ( vis : & mut T , macro_def : & mut MacroDef ) {
1888
1879
let MacroDef { body, macro_rules : _ } = macro_def;
1889
1880
visit_delim_args ( vis, body) ;
0 commit comments