@@ -447,6 +447,29 @@ macro_rules! make_ast_visitor {
447
447
return_result!( V )
448
448
}
449
449
450
+ pub fn walk_attribute<$( $lt, ) ? V : $trait$( <$lt>) ?>(
451
+ vis: & mut V ,
452
+ attr: ref_t!( Attribute )
453
+ ) -> result!( V ) {
454
+ let Attribute { kind, id: _, style: _, span } = attr;
455
+ match kind {
456
+ AttrKind :: Normal ( normal) => {
457
+ let NormalAttr {
458
+ item: AttrItem { unsafety, path, args, tokens } ,
459
+ tokens: attr_tokens,
460
+ } = & $( $mut) ? * * normal;
461
+ try_v!( vis. visit_safety( unsafety) ) ;
462
+ try_v!( vis. visit_path( path, DUMMY_NODE_ID ) ) ;
463
+ try_v!( vis. visit_attr_args( args) ) ;
464
+ visit_lazy_tts!( vis, tokens) ;
465
+ visit_lazy_tts!( vis, attr_tokens) ;
466
+ }
467
+ AttrKind :: DocComment ( _kind, _sym) => { }
468
+ }
469
+ try_v!( visit_span!( vis, span) ) ;
470
+ return_result!( V )
471
+ }
472
+
450
473
pub fn walk_block<$( $lt, ) ? V : $trait$( <$lt>) ?>(
451
474
vis: & mut V ,
452
475
block: ref_t!( Block )
@@ -1709,20 +1732,6 @@ pub mod visit {
1709
1732
1710
1733
visitor. visit_expr_post ( expression)
1711
1734
}
1712
-
1713
- pub fn walk_attribute < ' a , V : Visitor < ' a > > ( visitor : & mut V , attr : & ' a Attribute ) -> V :: Result {
1714
- let Attribute { kind, id : _, style : _, span : _ } = attr;
1715
- match kind {
1716
- AttrKind :: Normal ( normal) => {
1717
- let NormalAttr { item, tokens : _ } = & * * normal;
1718
- let AttrItem { unsafety : _, path, args, tokens : _ } = item;
1719
- try_visit ! ( visitor. visit_path( path, DUMMY_NODE_ID ) ) ;
1720
- try_visit ! ( visitor. visit_attr_args( args) ) ;
1721
- }
1722
- AttrKind :: DocComment ( _kind, _sym) => { }
1723
- }
1724
- V :: Result :: output ( )
1725
- }
1726
1735
}
1727
1736
1728
1737
pub mod mut_visit {
@@ -1860,24 +1869,6 @@ pub mod mut_visit {
1860
1869
smallvec ! [ variant]
1861
1870
}
1862
1871
1863
- fn walk_attribute < T : MutVisitor > ( vis : & mut T , attr : & mut Attribute ) {
1864
- let Attribute { kind, id : _, style : _, span } = attr;
1865
- match kind {
1866
- AttrKind :: Normal ( normal) => {
1867
- let NormalAttr {
1868
- item : AttrItem { unsafety : _, path, args, tokens } ,
1869
- tokens : attr_tokens,
1870
- } = & mut * * normal;
1871
- vis. visit_path ( path, DUMMY_NODE_ID ) ;
1872
- vis. visit_attr_args ( args) ;
1873
- visit_lazy_tts ( vis, tokens) ;
1874
- visit_lazy_tts ( vis, attr_tokens) ;
1875
- }
1876
- AttrKind :: DocComment ( _kind, _sym) => { }
1877
- }
1878
- vis. visit_span ( span) ;
1879
- }
1880
-
1881
1872
fn walk_macro_def < T : MutVisitor > ( vis : & mut T , macro_def : & mut MacroDef ) {
1882
1873
let MacroDef { body, macro_rules : _ } = macro_def;
1883
1874
visit_delim_args ( vis, body) ;
0 commit comments