Skip to content

Commit ed7067c

Browse files
committed
Unify walk_parenthesized_parameter_data
1 parent 6d135f0 commit ed7067c

File tree

1 file changed

+14
-19
lines changed

1 file changed

+14
-19
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 14 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -300,7 +300,6 @@ macro_rules! make_ast_visitor {
300300
make_visit!{P!(Local), visit_local, walk_local}
301301
make_visit!{P!(Pat), visit_pat, walk_pat}
302302
make_visit!{P!(Expr), visit_expr, walk_expr}
303-
make_visit!{P!(Ty), visit_ty, walk_ty}
304303
make_visit!{P!(Block), visit_block, walk_block}
305304
make_visit!{P!(FnDecl), visit_fn_decl, walk_fn_decl}
306305

@@ -313,6 +312,7 @@ macro_rules! make_ast_visitor {
313312
make_visit!{Param, visit_param, walk_param, flat_map_param, walk_flat_map_param}
314313
make_visit!{PatField, visit_pat_field, walk_pat_field, flat_map_pat_field, walk_flat_map_pat_field}
315314
make_visit!{Variant, visit_variant, walk_variant, flat_map_variant, walk_flat_map_variant}
315+
make_visit!{P!(Ty), visit_ty, walk_ty, flat_map_ty, walk_flat_map_ty}
316316

317317
fn visit_param_bound(&mut self, tpb: ref_t!(GenericBound), _ctxt: BoundKind) -> result!() {
318318
walk_param_bound(self, tpb)
@@ -632,6 +632,18 @@ macro_rules! make_ast_visitor {
632632
return_result!(V)
633633
}
634634

635+
pub fn walk_parenthesized_parameter_data<$($lt,)? V: $trait$(<$lt>)?>(
636+
vis: &mut V,
637+
args: ref_t!(ParenthesizedArgs)
638+
) -> result!(V) {
639+
let ParenthesizedArgs { inputs, output, span, inputs_span } = args;
640+
visit_list!(vis, visit_ty, flat_map_ty, inputs);
641+
try_v!(vis.visit_fn_ret_ty(output));
642+
try_v!(visit_span!(vis, span));
643+
try_v!(visit_span!(vis, inputs_span));
644+
return_result!(V)
645+
}
646+
635647
make_walk_flat_map!{Arm, walk_flat_map_arm, visit_arm}
636648
make_walk_flat_map!{Attribute, walk_flat_map_attribute, visit_attribute}
637649
make_walk_flat_map!{ExprField, walk_flat_map_expr_field, visit_expr_field}
@@ -640,6 +652,7 @@ macro_rules! make_ast_visitor {
640652
make_walk_flat_map!{Param, walk_flat_map_param, visit_param}
641653
make_walk_flat_map!{PatField, walk_flat_map_pat_field, visit_pat_field}
642654
make_walk_flat_map!{Variant, walk_flat_map_variant, visit_variant}
655+
make_walk_flat_map!{P!(Ty), walk_flat_map_ty, visit_ty}
643656
}
644657
}
645658

@@ -1606,16 +1619,6 @@ pub mod visit {
16061619
V::Result::output()
16071620
}
16081621

1609-
fn walk_parenthesized_parameter_data<'a, V: Visitor<'a>>(
1610-
vis: &mut V,
1611-
data: &'a ParenthesizedArgs,
1612-
) -> V::Result {
1613-
let ParenthesizedArgs { span: _, inputs, inputs_span: _, output } = data;
1614-
walk_list!(vis, visit_ty, inputs);
1615-
try_visit!(vis.visit_fn_ret_ty(output));
1616-
V::Result::output()
1617-
}
1618-
16191622
fn walk_foreign_mod<'a, V: Visitor<'a>>(vis: &mut V, foreign_mod: &'a ForeignMod) -> V::Result {
16201623
let ForeignMod { safety: _, abi: _, items } = foreign_mod;
16211624
walk_list!(vis, visit_foreign_item, items);
@@ -1918,14 +1921,6 @@ pub mod mut_visit {
19181921
}
19191922
}
19201923

1921-
fn walk_parenthesized_parameter_data<T: MutVisitor>(vis: &mut T, args: &mut ParenthesizedArgs) {
1922-
let ParenthesizedArgs { inputs, output, span, inputs_span } = args;
1923-
visit_thin_vec(inputs, |input| vis.visit_ty(input));
1924-
vis.visit_fn_ret_ty(output);
1925-
vis.visit_span(span);
1926-
vis.visit_span(inputs_span);
1927-
}
1928-
19291924
fn walk_local<T: MutVisitor>(vis: &mut T, local: &mut P<Local>) {
19301925
let Local { id, pat, ty, kind, span, colon_sp, attrs, tokens } = local.deref_mut();
19311926
vis.visit_id(id);

0 commit comments

Comments
 (0)