@@ -527,7 +527,7 @@ macro_rules! common_visitor_and_walkers {
527527 }
528528 }
529529
530- fn visit_defaultness<$( $lt, ) ? V : $Visitor$( <$lt>) ?>( vis: & mut V , defaultness: & $( $lt) ? $( $mut) ? Defaultness ) -> V :: Result {
530+ pub fn visit_defaultness<$( $lt, ) ? V : $Visitor$( <$lt>) ?>( vis: & mut V , defaultness: & $( $lt) ? $( $mut) ? Defaultness ) -> V :: Result {
531531 match defaultness {
532532 Defaultness :: Default ( span) => visit_span( vis, span) ,
533533 Defaultness :: Final => {
@@ -807,7 +807,7 @@ macro_rules! common_visitor_and_walkers {
807807 visit_foreign_items( vis, items)
808808 }
809809
810- fn walk_define_opaques<$( $lt, ) ? V : $Visitor$( <$lt>) ?>(
810+ pub fn walk_define_opaques<$( $lt, ) ? V : $Visitor$( <$lt>) ?>(
811811 visitor: & mut V ,
812812 define_opaque: & $( $lt) ? $( $mut) ? Option <ThinVec <( NodeId , Path ) >>,
813813 ) -> V :: Result {
@@ -1225,6 +1225,27 @@ macro_rules! common_visitor_and_walkers {
12251225 V :: Result :: output( )
12261226 }
12271227
1228+ pub fn walk_stmt<$( $lt, ) ? V : $Visitor$( <$lt>) ?>(
1229+ vis: & mut V ,
1230+ statement: & $( $lt) ? $( $mut) ? Stmt ,
1231+ ) -> V :: Result {
1232+ let Stmt { id, kind, span } = statement;
1233+ try_visit!( visit_id( vis, id) ) ;
1234+ match kind {
1235+ StmtKind :: Let ( local) => try_visit!( vis. visit_local( local) ) ,
1236+ StmtKind :: Item ( item) => try_visit!( vis. visit_item( item) ) ,
1237+ StmtKind :: Expr ( expr) | StmtKind :: Semi ( expr) => try_visit!( vis. visit_expr( expr) ) ,
1238+ StmtKind :: Empty => { }
1239+ StmtKind :: MacCall ( mac) => {
1240+ let MacCallStmt { mac, attrs, style: _, tokens: _ } = & $( $mut) ? * * mac;
1241+ walk_list!( vis, visit_attribute, attrs) ;
1242+ try_visit!( vis. visit_mac_call( mac) ) ;
1243+ }
1244+ }
1245+ try_visit!( visit_span( vis, span) ) ;
1246+ V :: Result :: output( )
1247+ }
1248+
12281249 pub fn walk_path<$( $lt, ) ? V : $Visitor$( <$lt>) ?>(
12291250 vis: & mut V ,
12301251 path: & $( $lt) ? $( $mut) ? Path ,
@@ -1944,20 +1965,3 @@ fn visit_nested_use_tree<'a, V: Visitor<'a>>(
19441965) -> V :: Result {
19451966 vis. visit_nested_use_tree ( nested_tree, nested_id)
19461967}
1947-
1948- pub fn walk_stmt < ' a , V : Visitor < ' a > > ( visitor : & mut V , statement : & ' a Stmt ) -> V :: Result {
1949- let Stmt { id, kind, span : _ } = statement;
1950- try_visit ! ( visit_id( visitor, id) ) ;
1951- match kind {
1952- StmtKind :: Let ( local) => try_visit ! ( visitor. visit_local( local) ) ,
1953- StmtKind :: Item ( item) => try_visit ! ( visitor. visit_item( item) ) ,
1954- StmtKind :: Expr ( expr) | StmtKind :: Semi ( expr) => try_visit ! ( visitor. visit_expr( expr) ) ,
1955- StmtKind :: Empty => { }
1956- StmtKind :: MacCall ( mac) => {
1957- let MacCallStmt { mac, attrs, style : _, tokens : _ } = & * * mac;
1958- walk_list ! ( visitor, visit_attribute, attrs) ;
1959- try_visit ! ( visitor. visit_mac_call( mac) ) ;
1960- }
1961- }
1962- V :: Result :: output ( )
1963- }
0 commit comments