Skip to content

Commit 24004ab

Browse files
committed
Add {visit,walk}_impl_polarity
1 parent 360c1d8 commit 24004ab

File tree

1 file changed

+17
-10
lines changed

1 file changed

+17
-10
lines changed

compiler/rustc_ast/src/visitors.rs

Lines changed: 17 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -340,6 +340,7 @@ macro_rules! make_ast_visitor {
340340
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
341341
make_visit!{Generics; visit_generics, walk_generics}
342342
make_visit!{Ident; visit_ident, walk_ident}
343+
make_visit!{ImplPolarity; visit_impl_polarity, walk_impl_polarity}
343344
make_visit!{InlineAsm; visit_inline_asm, walk_inline_asm}
344345
make_visit!{InlineAsmSym; visit_inline_asm_sym, walk_inline_asm_sym}
345346
make_visit!{Label; visit_label, walk_label}
@@ -769,6 +770,19 @@ macro_rules! make_ast_visitor {
769770
return_result!(V)
770771
}
771772

773+
pub fn walk_impl_polarity<$($lt,)? V: $trait$(<$lt>)?>(
774+
vis: &mut V,
775+
polarity: ref_t!(ImplPolarity)
776+
) -> result!(V) {
777+
match polarity {
778+
ImplPolarity::Positive => {}
779+
ImplPolarity::Negative(span) => {
780+
try_v!(visit_span!(vis, span));
781+
}
782+
}
783+
return_result!(V)
784+
}
785+
772786
pub fn walk_inline_asm<$($lt,)? V: $trait$(<$lt>)?>(
773787
vis: &mut V,
774788
asm: ref_t!(InlineAsm)
@@ -1477,14 +1491,15 @@ pub mod visit {
14771491
safety,
14781492
generics,
14791493
constness,
1480-
polarity: _,
1494+
polarity,
14811495
of_trait,
14821496
self_ty,
14831497
items,
14841498
}) => {
14851499
try_visit!(visitor.visit_safety(safety));
14861500
try_visit!(visitor.visit_generics(generics));
14871501
try_visit!(visitor.visit_constness(constness));
1502+
try_visit!(visitor.visit_impl_polarity(polarity));
14881503
visit_opt!(visitor, visit_trait_ref, of_trait);
14891504
try_visit!(visitor.visit_ty(self_ty));
14901505
walk_list!(visitor, visit_assoc_item, items, AssocCtxt::Impl);
@@ -2123,14 +2138,6 @@ pub mod mut_visit {
21232138
}
21242139
}
21252140

2126-
// No `noop_` prefix because there isn't a corresponding method in `MutVisitor`.
2127-
fn visit_polarity<T: MutVisitor>(vis: &mut T, polarity: &mut ImplPolarity) {
2128-
match polarity {
2129-
ImplPolarity::Positive => {}
2130-
ImplPolarity::Negative(span) => vis.visit_span(span),
2131-
}
2132-
}
2133-
21342141
pub fn walk_flat_map_generic_param<T: MutVisitor>(
21352142
vis: &mut T,
21362143
mut param: GenericParam,
@@ -2239,7 +2246,7 @@ pub mod mut_visit {
22392246
visitor.visit_safety(safety);
22402247
visitor.visit_generics(generics);
22412248
visitor.visit_constness(constness);
2242-
visit_polarity(visitor, polarity);
2249+
visitor.visit_impl_polarity(polarity);
22432250
visit_opt(of_trait, |trait_ref| visitor.visit_trait_ref(trait_ref));
22442251
visitor.visit_ty(self_ty);
22452252
items.flat_map_in_place(|item| {

0 commit comments

Comments
 (0)