Skip to content

Commit a90eac5

Browse files
committed
Unify {visit,walk}_pat_field
1 parent 2d9bbfe commit a90eac5

File tree

1 file changed

+15
-15
lines changed

1 file changed

+15
-15
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -277,7 +277,6 @@ macro_rules! make_ast_visitor {
277277
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
278278
make_visit!{Item; visit_item, walk_item}
279279
make_visit!{Param; visit_param, walk_param}
280-
make_visit!{PatField; visit_pat_field, walk_pat_field}
281280
make_visit!{Path, _ id: NodeId; visit_path, walk_path}
282281
make_visit!{Stmt; visit_stmt, walk_stmt}
283282
make_visit!{UseTree, id: NodeId, _ nested: bool; visit_use_tree, walk_use_tree}
@@ -333,6 +332,7 @@ macro_rules! make_ast_visitor {
333332
make_visit!{MutTy; visit_mt, walk_mt}
334333
make_visit!{Option<P<QSelf>>; visit_qself, walk_qself}
335334
make_visit!{ParenthesizedArgs; visit_parenthesized_parameter_data, walk_parenthesized_parameter_data}
335+
make_visit!{PatField; visit_pat_field, walk_pat_field}
336336
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
337337
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
338338
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
@@ -531,6 +531,19 @@ macro_rules! make_ast_visitor {
531531
return_result!(V)
532532
}
533533

534+
pub fn walk_pat_field<$($lt,)? V: $trait$(<$lt>)?>(
535+
vis: &mut V,
536+
fp: ref_t!(PatField)
537+
) -> result!(V) {
538+
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = fp;
539+
try_v!(visit_id!(vis, id));
540+
visit_list!(vis, visit_attribute, attrs);
541+
try_v!(vis.visit_ident(ident));
542+
try_v!(vis.visit_pat(pat));
543+
try_v!(visit_span!(vis, span));
544+
return_result!(V)
545+
}
546+
534547
pub fn walk_poly_trait_ref<$($lt,)? V: $trait$(<$lt>)?>(
535548
vis: &mut V,
536549
trait_ref: ref_t!(PolyTraitRef)
@@ -845,14 +858,6 @@ pub mod visit {
845858
V::Result::output()
846859
}
847860

848-
pub fn walk_pat_field<'a, V: Visitor<'a>>(visitor: &mut V, fp: &'a PatField) -> V::Result {
849-
let PatField { ident, pat, is_shorthand: _, attrs, id: _, span: _, is_placeholder: _ } = fp;
850-
walk_list!(visitor, visit_attribute, attrs);
851-
try_visit!(visitor.visit_ident(ident));
852-
try_visit!(visitor.visit_pat(pat));
853-
V::Result::output()
854-
}
855-
856861
pub fn walk_ty<'a, V: Visitor<'a>>(visitor: &mut V, typ: &'a Ty) -> V::Result {
857862
let Ty { id, kind, span: _, tokens: _ } = typ;
858863
match kind {
@@ -1658,12 +1663,7 @@ pub mod mut_visit {
16581663
vis: &mut T,
16591664
mut fp: PatField,
16601665
) -> SmallVec<[PatField; 1]> {
1661-
let PatField { attrs, id, ident, is_placeholder: _, is_shorthand: _, pat, span } = &mut fp;
1662-
vis.visit_id(id);
1663-
visit_attrs(vis, attrs);
1664-
vis.visit_ident(ident);
1665-
vis.visit_pat(pat);
1666-
vis.visit_span(span);
1666+
vis.visit_pat_field(&mut fp);
16671667
smallvec![fp]
16681668
}
16691669

0 commit comments

Comments
 (0)