Skip to content

Commit 4cc88d0

Browse files
committed
Unify walk_expr_field
1 parent 9a0a58c commit 4cc88d0

File tree

1 file changed

+13
-18
lines changed

1 file changed

+13
-18
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -678,6 +678,19 @@ macro_rules! make_ast_visitor {
678678
return_result!(V)
679679
}
680680

681+
pub fn walk_expr_field<$($lt,)? V: $trait$(<$lt>)?>(
682+
vis: &mut V,
683+
f: ref_t!(ExprField)
684+
) -> result!(V) {
685+
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = f;
686+
try_v!(visit_id!(vis, id));
687+
visit_list!(vis, visit_attribute, flat_map_attribute, attrs);
688+
try_v!(visit_ident!(vis, ident));
689+
try_v!(vis.visit_expr(expr));
690+
try_v!(visit_span!(vis, span));
691+
return_result!(V)
692+
}
693+
681694
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
682695
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
683696
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -970,15 +983,6 @@ pub mod visit {
970983
V::Result::output()
971984
}
972985

973-
pub fn walk_expr_field<'a, V: Visitor<'a>>(visitor: &mut V, f: &'a ExprField) -> V::Result {
974-
let ExprField { attrs, id: _, span: _, ident, expr, is_shorthand: _, is_placeholder: _ } =
975-
f;
976-
walk_list!(visitor, visit_attribute, attrs);
977-
try_visit!(visitor.visit_ident(*ident));
978-
try_visit!(visitor.visit_expr(expr));
979-
V::Result::output()
980-
}
981-
982986
pub fn walk_ty<'a, V: Visitor<'a>>(visitor: &mut V, typ: &'a Ty) -> V::Result {
983987
let Ty { id, kind, span: _, tokens: _ } = typ;
984988
match kind {
@@ -2313,15 +2317,6 @@ pub mod mut_visit {
23132317
visitor.visit_span(span);
23142318
}
23152319

2316-
pub fn walk_expr_field<T: MutVisitor>(vis: &mut T, f: &mut ExprField) {
2317-
let ExprField { ident, expr, span, is_shorthand: _, attrs, id, is_placeholder: _ } = f;
2318-
vis.visit_id(id);
2319-
visit_attrs(vis, attrs);
2320-
vis.visit_ident(ident);
2321-
vis.visit_expr(expr);
2322-
vis.visit_span(span);
2323-
}
2324-
23252320
pub fn walk_block<T: MutVisitor>(vis: &mut T, block: &mut P<Block>) {
23262321
let Block { id, stmts, rules: _, span, tokens, could_be_bare_literal: _ } =
23272322
block.deref_mut();

0 commit comments

Comments
 (0)