Skip to content

Commit 1056dd0

Browse files
committed
Unify make_visit!s
1 parent 7e3ecdd commit 1056dd0

File tree

1 file changed

+26
-49
lines changed

1 file changed

+26
-49
lines changed

compiler/rustc_ast/src/visitors.rs

+26-49
Original file line numberDiff line numberDiff line change
@@ -115,49 +115,25 @@ macro_rules! make_ast_visitor {
115115
// forget to add handling for it.
116116

117117
make_visit!{AngleBracketedArgs; visit_angle_bracketed_parameter_data, walk_angle_bracketed_parameter_data}
118-
make_visit!{AnonConst; visit_anon_const, walk_anon_const}
119-
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
120-
make_visit!{Attribute; visit_attribute, walk_attribute}
121118
make_visit!{CaptureBy; visit_capture_by, walk_capture_by}
122-
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
123119
make_visit!{CoroutineKind; visit_coroutine_kind, walk_coroutine_kind}
124-
make_visit!{Crate; visit_crate, walk_crate}
125120
make_visit!{FnHeader; visit_fn_header, walk_fn_header}
126121
make_visit!{ForeignMod; visit_foreign_mod, walk_foreign_mod}
127-
make_visit!{FormatArgs; visit_format_args, walk_format_args}
128-
make_visit!{GenericArg; visit_generic_arg, walk_generic_arg}
129-
make_visit!{GenericArgs; visit_generic_args, walk_generic_args}
130-
make_visit!{GenericBound, _ ctxt: BoundKind; visit_param_bound, walk_param_bound}
131-
make_visit!{Generics; visit_generics, walk_generics}
132122
make_visit!{Ident; visit_ident, walk_ident}
133-
make_visit!{InlineAsm; visit_inline_asm, walk_inline_asm}
134-
make_visit!{InlineAsmSym; visit_inline_asm_sym, walk_inline_asm_sym}
135-
make_visit!{Label; visit_label, walk_label}
136123
make_visit!{Lifetime; visit_lifetime, walk_lifetime}
137-
make_visit!{MacCall; visit_mac_call, walk_mac}
138124
make_visit!{MacroDef; visit_macro_def, walk_macro_def}
139125
make_visit!{MetaItem; visit_meta_item, walk_meta_item}
140126
make_visit!{MetaItemInner; visit_meta_list_item, walk_meta_list_item}
141127
make_visit!{MutTy; visit_mt, walk_mt}
142128
make_visit!{Option<P<QSelf>>; visit_qself, walk_qself}
143129
make_visit!{ParenthesizedArgs; visit_parenthesized_parameter_data, walk_parenthesized_parameter_data}
144130
make_visit!{Path; visit_path, walk_path}
145-
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
146-
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
147131
make_visit!{PreciseCapturingArg; visit_precise_capturing_arg, walk_precise_capturing_arg}
148-
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
149132
make_visit!{UseTree; visit_use_tree, walk_use_tree}
150133
make_visit!{VariantData; visit_variant_data, walk_variant_data}
151-
make_visit!{Visibility; visit_vis, walk_vis}
152134
make_visit!{WhereClause; visit_where_clause, walk_where_clause}
153-
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
154135

155-
make_visit!{P!(Block); visit_block, walk_block}
156-
make_visit!{P!(Expr); visit_expr, walk_expr}
157136
make_visit!{P!(FnDecl); visit_fn_decl, walk_fn_decl}
158-
make_visit!{P!(Local); visit_local, walk_local}
159-
make_visit!{P!(Pat); visit_pat, walk_pat}
160-
make_visit!{P!(Ty); visit_ty, walk_ty}
161137

162138
fn flat_map_foreign_item(&mut self, ni: P<ForeignItem>) -> SmallVec<[P<ForeignItem>; 1]> {
163139
walk_flat_map_item(self, ni)
@@ -234,48 +210,23 @@ macro_rules! make_ast_visitor {
234210
/// or `ControlFlow<T>`.
235211
type Result: VisitorResult = ();
236212

237-
make_visit!{AnonConst; visit_anon_const, walk_anon_const}
238213
make_visit!{Arm; visit_arm, walk_arm}
239214
make_visit!{AssocItem, ctxt: AssocCtxt; visit_assoc_item, walk_assoc_item}
240-
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
241-
make_visit!{Attribute; visit_attribute, walk_attribute}
242-
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
243-
make_visit!{Crate; visit_crate, walk_crate}
244215
make_visit!{EnumDef; visit_enum_def, walk_enum_def}
245216
make_visit!{ExprField; visit_expr_field, walk_expr_field}
246217
make_visit!{FieldDef; visit_field_def, walk_field_def}
247218
make_visit!{FnRetTy; visit_fn_ret_ty, walk_fn_ret_ty}
248219
make_visit!{ForeignItem; visit_foreign_item, walk_item}
249-
make_visit!{FormatArgs; visit_format_args, walk_format_args}
250-
make_visit!{GenericArg; visit_generic_arg, walk_generic_arg}
251-
make_visit!{GenericArgs; visit_generic_args, walk_generic_args}
252-
make_visit!{GenericBound, _ ctxt: BoundKind; visit_param_bound, walk_param_bound}
253220
make_visit!{GenericParam; visit_generic_param, walk_generic_param}
254-
make_visit!{Generics; visit_generics, walk_generics}
255-
make_visit!{InlineAsm; visit_inline_asm, walk_inline_asm}
256-
make_visit!{InlineAsmSym; visit_inline_asm_sym, walk_inline_asm_sym}
257221
make_visit!{Item; visit_item, walk_item}
258-
make_visit!{Label; visit_label, walk_label}
259222
make_visit!{Lifetime, _ ctxt: LifetimeCtxt; visit_lifetime, walk_lifetime}
260-
make_visit!{MacCall; visit_mac_call, walk_mac}
261223
make_visit!{Param; visit_param, walk_param}
262224
make_visit!{PatField; visit_pat_field, walk_pat_field}
263225
make_visit!{Path, _ id: NodeId; visit_path, walk_path}
264-
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
265-
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
266226
make_visit!{Stmt; visit_stmt, walk_stmt}
267-
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
268227
make_visit!{UseTree, id: NodeId, _ nested: bool; visit_use_tree, walk_use_tree}
269228
make_visit!{Variant; visit_variant, walk_variant}
270229
make_visit!{VariantData; visit_variant_data, walk_struct_def}
271-
make_visit!{Visibility; visit_vis, walk_vis}
272-
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
273-
274-
make_visit!{P!(Block); visit_block, walk_block}
275-
make_visit!{P!(Expr); visit_expr, walk_expr}
276-
make_visit!{P!(Local); visit_local, walk_local}
277-
make_visit!{P!(Pat); visit_pat, walk_pat}
278-
make_visit!{P!(Ty); visit_ty, walk_ty}
279230

280231
fn visit_ident(&mut self, _ident: Ident) -> Self::Result {
281232
Self::Result::output()
@@ -307,6 +258,32 @@ macro_rules! make_ast_visitor {
307258
Self::Result::output()
308259
}
309260
}}
261+
262+
make_visit!{AnonConst; visit_anon_const, walk_anon_const}
263+
make_visit!{AssocItemConstraint; visit_assoc_item_constraint, walk_assoc_item_constraint}
264+
make_visit!{Attribute; visit_attribute, walk_attribute}
265+
make_visit!{ClosureBinder; visit_closure_binder, walk_closure_binder}
266+
make_visit!{Crate; visit_crate, walk_crate}
267+
make_visit!{FormatArgs; visit_format_args, walk_format_args}
268+
make_visit!{GenericArg; visit_generic_arg, walk_generic_arg}
269+
make_visit!{GenericArgs; visit_generic_args, walk_generic_args}
270+
make_visit!{GenericBound, _ ctxt: BoundKind; visit_param_bound, walk_param_bound}
271+
make_visit!{Generics; visit_generics, walk_generics}
272+
make_visit!{InlineAsm; visit_inline_asm, walk_inline_asm}
273+
make_visit!{InlineAsmSym; visit_inline_asm_sym, walk_inline_asm_sym}
274+
make_visit!{Label; visit_label, walk_label}
275+
make_visit!{MacCall; visit_mac_call, walk_mac}
276+
make_visit!{PathSegment; visit_path_segment, walk_path_segment}
277+
make_visit!{PolyTraitRef; visit_poly_trait_ref, walk_poly_trait_ref}
278+
make_visit!{TraitRef; visit_trait_ref, walk_trait_ref}
279+
make_visit!{Visibility; visit_vis, walk_vis}
280+
make_visit!{WherePredicate; visit_where_predicate, walk_where_predicate}
281+
282+
make_visit!{P!(Block); visit_block, walk_block}
283+
make_visit!{P!(Expr); visit_expr, walk_expr}
284+
make_visit!{P!(Local); visit_local, walk_local}
285+
make_visit!{P!(Pat); visit_pat, walk_pat}
286+
make_visit!{P!(Ty); visit_ty, walk_ty}
310287
}
311288
}
312289
}

0 commit comments

Comments
 (0)