Skip to content

Commit 2b8c232

Browse files
committed
Unify walk_param
1 parent ed7067c commit 2b8c232

File tree

1 file changed

+13
-17
lines changed

1 file changed

+13
-17
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 13 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -644,6 +644,19 @@ macro_rules! make_ast_visitor {
644644
return_result!(V)
645645
}
646646

647+
pub fn walk_param<$($lt,)? V: $trait$(<$lt>)?>(
648+
vis: &mut V,
649+
param: ref_t!(Param)
650+
) -> result!(V) {
651+
let Param { attrs, id, pat, span, ty, is_placeholder: _ } = param;
652+
try_v!(visit_id!(vis, id));
653+
visit_list!(vis, visit_attribute, flat_map_attribute, attrs);
654+
try_v!(vis.visit_pat(pat));
655+
try_v!(vis.visit_ty(ty));
656+
try_v!(visit_span!(vis, span));
657+
return_result!(V)
658+
}
659+
647660
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
648661
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
649662
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -1565,14 +1578,6 @@ pub mod visit {
15651578
visitor.visit_expr_post(expression)
15661579
}
15671580

1568-
pub fn walk_param<'a, V: Visitor<'a>>(visitor: &mut V, param: &'a Param) -> V::Result {
1569-
let Param { attrs, ty, pat, id: _, span: _, is_placeholder: _ } = param;
1570-
walk_list!(visitor, visit_attribute, attrs);
1571-
try_visit!(visitor.visit_pat(pat));
1572-
try_visit!(visitor.visit_ty(ty));
1573-
V::Result::output()
1574-
}
1575-
15761581
pub fn walk_arm<'a, V: Visitor<'a>>(visitor: &mut V, arm: &'a Arm) -> V::Result {
15771582
let Arm { attrs, pat, guard, body, span: _, id: _, is_placeholder: _ } = arm;
15781583
walk_list!(visitor, visit_attribute, attrs);
@@ -1988,15 +1993,6 @@ pub mod mut_visit {
19881993
vis.visit_span(span);
19891994
}
19901995

1991-
pub fn walk_param<T: MutVisitor>(vis: &mut T, param: &mut Param) {
1992-
let Param { attrs, id, pat, span, ty, is_placeholder: _ } = param;
1993-
vis.visit_id(id);
1994-
visit_attrs(vis, attrs);
1995-
vis.visit_pat(pat);
1996-
vis.visit_ty(ty);
1997-
vis.visit_span(span);
1998-
}
1999-
20001996
// No `noop_` prefix because there isn't a corresponding method in `MutVisitor`.
20011997
fn visit_attr_tt<T: MutVisitor>(vis: &mut T, tt: &mut AttrTokenTree) {
20021998
match tt {

0 commit comments

Comments
 (0)