Skip to content

Commit a608b3f

Browse files
committed
Unify {visit,walk}_where_clause
1 parent 40352cc commit a608b3f

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,6 @@ macro_rules! make_ast_visitor {
199199
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
200200
make_visit!{UseTree; visit_use_tree, walk_use_tree}
201201
make_visit!{VariantData; visit_variant_data, walk_variant_data}
202-
make_visit!{WhereClause; visit_where_clause, walk_where_clause}
203202

204203
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
205204
walk_flat_map_item(self, ni)
@@ -346,6 +345,7 @@ macro_rules! make_ast_visitor {
346345
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
347346
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
348347
make_visit!{Visibility; visit_vis, walk_vis}
348+
make_visit!{WhereClause; visit_where_clause, walk_where_clause}
349349
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
350350

351351
make_visit!{P!(Block); visit_block, walk_block}
@@ -516,6 +516,16 @@ macro_rules! make_ast_visitor {
516516
try_v!(visit_span!(vis, span));
517517
return_result!(V)
518518
}
519+
520+
pub fn walk_where_clause<$($lt,)? V: $trait$(<$lt>)?>(
521+
vis: &mut V,
522+
wc: ref_t!(WhereClause)
523+
) -> result!(V) {
524+
let WhereClause { has_where_token: _, predicates, span } = wc;
525+
visit_list!(vis, visit_where_predicate, predicates);
526+
try_v!(visit_span!(vis, span));
527+
return_result!(V)
528+
}
519529
}
520530
}
521531

@@ -1078,9 +1088,8 @@ pub mod visit {
10781088

10791089
pub fn walk_generics<'a, V: Visitor<'a>>(visitor: &mut V, generics: &'a Generics) -> V::Result {
10801090
let Generics { params, where_clause, span: _ } = generics;
1081-
let WhereClause { has_where_token: _, predicates, span: _ } = where_clause;
10821091
walk_list!(visitor, visit_generic_param, params);
1083-
walk_list!(visitor, visit_where_predicate, predicates);
1092+
try_visit!(visitor.visit_where_clause(where_clause));
10841093
V::Result::output()
10851094
}
10861095

@@ -2158,12 +2167,6 @@ pub mod mut_visit {
21582167
vis.visit_span(span_after);
21592168
}
21602169

2161-
fn walk_where_clause<T: MutVisitor>(vis: &mut T, wc: &mut WhereClause) {
2162-
let WhereClause { has_where_token: _, predicates, span } = wc;
2163-
visit_thin_vec(predicates, |predicate| vis.visit_where_predicate(predicate));
2164-
vis.visit_span(span);
2165-
}
2166-
21672170
fn walk_where_predicate<T: MutVisitor>(vis: &mut T, pred: &mut WherePredicate) {
21682171
match pred {
21692172
WherePredicate::BoundPredicate(bp) => {

0 commit comments

Comments
 (0)