blob: d908aef37d502016364219651c3e6a59b03a1460 [file] [log] [blame]
Nika Layzell27726662017-10-24 23:16:35 -04001
2// THIS FILE IS AUTOMATICALLY GENERATED; DO NOT EDIT
3
4//! AST walker. Each overridden visit method has full control over what
5//! happens with its node, it can do its own traversal of the node's children,
6//! call `visit::walk_*` to apply the default traversal algorithm, or prevent
7//! deeper traversal by doing nothing.
8
9use super::*;
10
Nika Layzell4ab8d6e2017-10-26 09:45:49 -040011
12#[cfg(feature = "full")]
13macro_rules! full {
14 ($e:expr) => { $e }
15}
16
17#[cfg(not(feature = "full"))]
18macro_rules! full {
19 ($e:expr) => { unreachable!() }
20}
21
22
Nika Layzell27726662017-10-24 23:16:35 -040023/// Each method of the Visitor trait is a hook to be potentially
24/// overridden. Each method's default implementation recursively visits
25/// the substructure of the input via the corresponding `walk` method;
26/// e.g. the `visit_mod` method by default calls `visit::walk_mod`.
27///
28/// If you want to ensure that your code handles every variant
29/// explicitly, you need to override each method. (And you also need
30/// to monitor future changes to `Visitor` in case a new method with a
31/// new default implementation gets introduced.)
32pub trait Visitor {
33
34fn visit_abi(&mut self, i: &Abi) { walk_abi(self, i) }
35
36fn visit_abi_kind(&mut self, i: &AbiKind) { walk_abi_kind(self, i) }
37
38fn visit_angle_bracketed_parameter_data(&mut self, i: &AngleBracketedParameterData) { walk_angle_bracketed_parameter_data(self, i) }
39# [ cfg ( feature = "full" ) ]
40fn visit_arg_captured(&mut self, i: &ArgCaptured) { walk_arg_captured(self, i) }
41# [ cfg ( feature = "full" ) ]
42fn visit_arg_self(&mut self, i: &ArgSelf) { walk_arg_self(self, i) }
43# [ cfg ( feature = "full" ) ]
44fn visit_arg_self_ref(&mut self, i: &ArgSelfRef) { walk_arg_self_ref(self, i) }
45# [ cfg ( feature = "full" ) ]
46fn visit_arm(&mut self, i: &Arm) { walk_arm(self, i) }
47
48fn visit_attr_style(&mut self, i: &AttrStyle) { walk_attr_style(self, i) }
49
50fn visit_attribute(&mut self, i: &Attribute) { walk_attribute(self, i) }
51
52fn visit_bare_fn_arg(&mut self, i: &BareFnArg) { walk_bare_fn_arg(self, i) }
53
54fn visit_bare_fn_arg_name(&mut self, i: &BareFnArgName) { walk_bare_fn_arg_name(self, i) }
55
56fn visit_bare_fn_ty(&mut self, i: &BareFnTy) { walk_bare_fn_ty(self, i) }
57
58fn visit_bin_op(&mut self, i: &BinOp) { walk_bin_op(self, i) }
59# [ cfg ( feature = "full" ) ]
60fn visit_binding_mode(&mut self, i: &BindingMode) { walk_binding_mode(self, i) }
61# [ cfg ( feature = "full" ) ]
62fn visit_block(&mut self, i: &Block) { walk_block(self, i) }
63
64fn visit_body(&mut self, i: &Body) { walk_body(self, i) }
65
66fn visit_body_enum(&mut self, i: &BodyEnum) { walk_body_enum(self, i) }
67
68fn visit_body_struct(&mut self, i: &BodyStruct) { walk_body_struct(self, i) }
69
70fn visit_bound_lifetimes(&mut self, i: &BoundLifetimes) { walk_bound_lifetimes(self, i) }
71# [ cfg ( feature = "full" ) ]
72fn visit_capture_by(&mut self, i: &CaptureBy) { walk_capture_by(self, i) }
73# [ cfg ( feature = "full" ) ]
74fn visit_constness(&mut self, i: &Constness) { walk_constness(self, i) }
75# [ cfg ( feature = "full" ) ]
76fn visit_defaultness(&mut self, i: &Defaultness) { walk_defaultness(self, i) }
77
78fn visit_derive_input(&mut self, i: &DeriveInput) { walk_derive_input(self, i) }
79
80fn visit_expr(&mut self, i: &Expr) { walk_expr(self, i) }
81# [ cfg ( feature = "full" ) ]
82fn visit_expr_addr_of(&mut self, i: &ExprAddrOf) { walk_expr_addr_of(self, i) }
83# [ cfg ( feature = "full" ) ]
84fn visit_expr_array(&mut self, i: &ExprArray) { walk_expr_array(self, i) }
85# [ cfg ( feature = "full" ) ]
86fn visit_expr_assign(&mut self, i: &ExprAssign) { walk_expr_assign(self, i) }
87# [ cfg ( feature = "full" ) ]
88fn visit_expr_assign_op(&mut self, i: &ExprAssignOp) { walk_expr_assign_op(self, i) }
89
90fn visit_expr_binary(&mut self, i: &ExprBinary) { walk_expr_binary(self, i) }
91# [ cfg ( feature = "full" ) ]
92fn visit_expr_block(&mut self, i: &ExprBlock) { walk_expr_block(self, i) }
93# [ cfg ( feature = "full" ) ]
94fn visit_expr_box(&mut self, i: &ExprBox) { walk_expr_box(self, i) }
95# [ cfg ( feature = "full" ) ]
96fn visit_expr_break(&mut self, i: &ExprBreak) { walk_expr_break(self, i) }
97
98fn visit_expr_call(&mut self, i: &ExprCall) { walk_expr_call(self, i) }
99
100fn visit_expr_cast(&mut self, i: &ExprCast) { walk_expr_cast(self, i) }
101# [ cfg ( feature = "full" ) ]
102fn visit_expr_catch(&mut self, i: &ExprCatch) { walk_expr_catch(self, i) }
103# [ cfg ( feature = "full" ) ]
104fn visit_expr_closure(&mut self, i: &ExprClosure) { walk_expr_closure(self, i) }
105# [ cfg ( feature = "full" ) ]
106fn visit_expr_continue(&mut self, i: &ExprContinue) { walk_expr_continue(self, i) }
107# [ cfg ( feature = "full" ) ]
108fn visit_expr_field(&mut self, i: &ExprField) { walk_expr_field(self, i) }
109# [ cfg ( feature = "full" ) ]
110fn visit_expr_for_loop(&mut self, i: &ExprForLoop) { walk_expr_for_loop(self, i) }
111
112fn visit_expr_group(&mut self, i: &ExprGroup) { walk_expr_group(self, i) }
113# [ cfg ( feature = "full" ) ]
114fn visit_expr_if(&mut self, i: &ExprIf) { walk_expr_if(self, i) }
115# [ cfg ( feature = "full" ) ]
116fn visit_expr_if_let(&mut self, i: &ExprIfLet) { walk_expr_if_let(self, i) }
117# [ cfg ( feature = "full" ) ]
118fn visit_expr_in_place(&mut self, i: &ExprInPlace) { walk_expr_in_place(self, i) }
119
120fn visit_expr_index(&mut self, i: &ExprIndex) { walk_expr_index(self, i) }
121
122fn visit_expr_kind(&mut self, i: &ExprKind) { walk_expr_kind(self, i) }
123# [ cfg ( feature = "full" ) ]
124fn visit_expr_loop(&mut self, i: &ExprLoop) { walk_expr_loop(self, i) }
125# [ cfg ( feature = "full" ) ]
126fn visit_expr_match(&mut self, i: &ExprMatch) { walk_expr_match(self, i) }
127# [ cfg ( feature = "full" ) ]
128fn visit_expr_method_call(&mut self, i: &ExprMethodCall) { walk_expr_method_call(self, i) }
129
130fn visit_expr_paren(&mut self, i: &ExprParen) { walk_expr_paren(self, i) }
131
132fn visit_expr_path(&mut self, i: &ExprPath) { walk_expr_path(self, i) }
133# [ cfg ( feature = "full" ) ]
134fn visit_expr_range(&mut self, i: &ExprRange) { walk_expr_range(self, i) }
135# [ cfg ( feature = "full" ) ]
136fn visit_expr_repeat(&mut self, i: &ExprRepeat) { walk_expr_repeat(self, i) }
137# [ cfg ( feature = "full" ) ]
138fn visit_expr_ret(&mut self, i: &ExprRet) { walk_expr_ret(self, i) }
139# [ cfg ( feature = "full" ) ]
140fn visit_expr_struct(&mut self, i: &ExprStruct) { walk_expr_struct(self, i) }
141# [ cfg ( feature = "full" ) ]
142fn visit_expr_try(&mut self, i: &ExprTry) { walk_expr_try(self, i) }
143# [ cfg ( feature = "full" ) ]
144fn visit_expr_tup(&mut self, i: &ExprTup) { walk_expr_tup(self, i) }
145# [ cfg ( feature = "full" ) ]
146fn visit_expr_tup_field(&mut self, i: &ExprTupField) { walk_expr_tup_field(self, i) }
147
148fn visit_expr_type(&mut self, i: &ExprType) { walk_expr_type(self, i) }
149
150fn visit_expr_unary(&mut self, i: &ExprUnary) { walk_expr_unary(self, i) }
151# [ cfg ( feature = "full" ) ]
152fn visit_expr_while(&mut self, i: &ExprWhile) { walk_expr_while(self, i) }
153# [ cfg ( feature = "full" ) ]
154fn visit_expr_while_let(&mut self, i: &ExprWhileLet) { walk_expr_while_let(self, i) }
155# [ cfg ( feature = "full" ) ]
156fn visit_expr_yield(&mut self, i: &ExprYield) { walk_expr_yield(self, i) }
157
158fn visit_field(&mut self, i: &Field) { walk_field(self, i) }
159# [ cfg ( feature = "full" ) ]
160fn visit_field_pat(&mut self, i: &FieldPat) { walk_field_pat(self, i) }
161# [ cfg ( feature = "full" ) ]
162fn visit_field_value(&mut self, i: &FieldValue) { walk_field_value(self, i) }
163# [ cfg ( feature = "full" ) ]
164fn visit_file(&mut self, i: &File) { walk_file(self, i) }
165# [ cfg ( feature = "full" ) ]
166fn visit_fn_arg(&mut self, i: &FnArg) { walk_fn_arg(self, i) }
167# [ cfg ( feature = "full" ) ]
168fn visit_fn_decl(&mut self, i: &FnDecl) { walk_fn_decl(self, i) }
169# [ cfg ( feature = "full" ) ]
170fn visit_foreign_item(&mut self, i: &ForeignItem) { walk_foreign_item(self, i) }
171# [ cfg ( feature = "full" ) ]
172fn visit_foreign_item_fn(&mut self, i: &ForeignItemFn) { walk_foreign_item_fn(self, i) }
173# [ cfg ( feature = "full" ) ]
174fn visit_foreign_item_kind(&mut self, i: &ForeignItemKind) { walk_foreign_item_kind(self, i) }
175# [ cfg ( feature = "full" ) ]
176fn visit_foreign_item_static(&mut self, i: &ForeignItemStatic) { walk_foreign_item_static(self, i) }
177
178fn visit_function_ret_ty(&mut self, i: &FunctionRetTy) { walk_function_ret_ty(self, i) }
179
180fn visit_generics(&mut self, i: &Generics) { walk_generics(self, i) }
181# [ cfg ( feature = "full" ) ]
182fn visit_impl_item(&mut self, i: &ImplItem) { walk_impl_item(self, i) }
183# [ cfg ( feature = "full" ) ]
184fn visit_impl_item_const(&mut self, i: &ImplItemConst) { walk_impl_item_const(self, i) }
185# [ cfg ( feature = "full" ) ]
186fn visit_impl_item_kind(&mut self, i: &ImplItemKind) { walk_impl_item_kind(self, i) }
187# [ cfg ( feature = "full" ) ]
188fn visit_impl_item_method(&mut self, i: &ImplItemMethod) { walk_impl_item_method(self, i) }
189# [ cfg ( feature = "full" ) ]
190fn visit_impl_item_type(&mut self, i: &ImplItemType) { walk_impl_item_type(self, i) }
191# [ cfg ( feature = "full" ) ]
192fn visit_impl_polarity(&mut self, i: &ImplPolarity) { walk_impl_polarity(self, i) }
193# [ cfg ( feature = "full" ) ]
194fn visit_in_place_kind(&mut self, i: &InPlaceKind) { walk_in_place_kind(self, i) }
195# [ cfg ( feature = "full" ) ]
196fn visit_item(&mut self, i: &Item) { walk_item(self, i) }
197# [ cfg ( feature = "full" ) ]
198fn visit_item_const(&mut self, i: &ItemConst) { walk_item_const(self, i) }
199# [ cfg ( feature = "full" ) ]
200fn visit_item_default_impl(&mut self, i: &ItemDefaultImpl) { walk_item_default_impl(self, i) }
201# [ cfg ( feature = "full" ) ]
202fn visit_item_enum(&mut self, i: &ItemEnum) { walk_item_enum(self, i) }
203# [ cfg ( feature = "full" ) ]
204fn visit_item_extern_crate(&mut self, i: &ItemExternCrate) { walk_item_extern_crate(self, i) }
205# [ cfg ( feature = "full" ) ]
206fn visit_item_fn(&mut self, i: &ItemFn) { walk_item_fn(self, i) }
207# [ cfg ( feature = "full" ) ]
208fn visit_item_foreign_mod(&mut self, i: &ItemForeignMod) { walk_item_foreign_mod(self, i) }
209# [ cfg ( feature = "full" ) ]
210fn visit_item_impl(&mut self, i: &ItemImpl) { walk_item_impl(self, i) }
211# [ cfg ( feature = "full" ) ]
212fn visit_item_kind(&mut self, i: &ItemKind) { walk_item_kind(self, i) }
213# [ cfg ( feature = "full" ) ]
214fn visit_item_mod(&mut self, i: &ItemMod) { walk_item_mod(self, i) }
215# [ cfg ( feature = "full" ) ]
216fn visit_item_static(&mut self, i: &ItemStatic) { walk_item_static(self, i) }
217# [ cfg ( feature = "full" ) ]
218fn visit_item_struct(&mut self, i: &ItemStruct) { walk_item_struct(self, i) }
219# [ cfg ( feature = "full" ) ]
220fn visit_item_trait(&mut self, i: &ItemTrait) { walk_item_trait(self, i) }
221# [ cfg ( feature = "full" ) ]
222fn visit_item_ty(&mut self, i: &ItemTy) { walk_item_ty(self, i) }
223# [ cfg ( feature = "full" ) ]
224fn visit_item_union(&mut self, i: &ItemUnion) { walk_item_union(self, i) }
225# [ cfg ( feature = "full" ) ]
226fn visit_item_use(&mut self, i: &ItemUse) { walk_item_use(self, i) }
227
228fn visit_lifetime_def(&mut self, i: &LifetimeDef) { walk_lifetime_def(self, i) }
229# [ cfg ( feature = "full" ) ]
230fn visit_local(&mut self, i: &Local) { walk_local(self, i) }
231
232fn visit_mac(&mut self, i: &Mac) { walk_mac(self, i) }
233# [ cfg ( feature = "full" ) ]
234fn visit_mac_stmt_style(&mut self, i: &MacStmtStyle) { walk_mac_stmt_style(self, i) }
235
236fn visit_meta_item(&mut self, i: &MetaItem) { walk_meta_item(self, i) }
237
238fn visit_meta_item_list(&mut self, i: &MetaItemList) { walk_meta_item_list(self, i) }
239
240fn visit_meta_name_value(&mut self, i: &MetaNameValue) { walk_meta_name_value(self, i) }
241# [ cfg ( feature = "full" ) ]
242fn visit_method_sig(&mut self, i: &MethodSig) { walk_method_sig(self, i) }
243
244fn visit_mut_ty(&mut self, i: &MutTy) { walk_mut_ty(self, i) }
245
246fn visit_mutability(&mut self, i: &Mutability) { walk_mutability(self, i) }
247
248fn visit_nested_meta_item(&mut self, i: &NestedMetaItem) { walk_nested_meta_item(self, i) }
249
250fn visit_parenthesized_parameter_data(&mut self, i: &ParenthesizedParameterData) { walk_parenthesized_parameter_data(self, i) }
251# [ cfg ( feature = "full" ) ]
252fn visit_pat(&mut self, i: &Pat) { walk_pat(self, i) }
253# [ cfg ( feature = "full" ) ]
254fn visit_pat_box(&mut self, i: &PatBox) { walk_pat_box(self, i) }
255# [ cfg ( feature = "full" ) ]
256fn visit_pat_ident(&mut self, i: &PatIdent) { walk_pat_ident(self, i) }
257# [ cfg ( feature = "full" ) ]
258fn visit_pat_lit(&mut self, i: &PatLit) { walk_pat_lit(self, i) }
259# [ cfg ( feature = "full" ) ]
260fn visit_pat_path(&mut self, i: &PatPath) { walk_pat_path(self, i) }
261# [ cfg ( feature = "full" ) ]
262fn visit_pat_range(&mut self, i: &PatRange) { walk_pat_range(self, i) }
263# [ cfg ( feature = "full" ) ]
264fn visit_pat_ref(&mut self, i: &PatRef) { walk_pat_ref(self, i) }
265# [ cfg ( feature = "full" ) ]
266fn visit_pat_slice(&mut self, i: &PatSlice) { walk_pat_slice(self, i) }
267# [ cfg ( feature = "full" ) ]
268fn visit_pat_struct(&mut self, i: &PatStruct) { walk_pat_struct(self, i) }
269# [ cfg ( feature = "full" ) ]
270fn visit_pat_tuple(&mut self, i: &PatTuple) { walk_pat_tuple(self, i) }
271# [ cfg ( feature = "full" ) ]
272fn visit_pat_tuple_struct(&mut self, i: &PatTupleStruct) { walk_pat_tuple_struct(self, i) }
273# [ cfg ( feature = "full" ) ]
274fn visit_pat_wild(&mut self, i: &PatWild) { walk_pat_wild(self, i) }
275
276fn visit_path(&mut self, i: &Path) { walk_path(self, i) }
277# [ cfg ( feature = "full" ) ]
278fn visit_path_glob(&mut self, i: &PathGlob) { walk_path_glob(self, i) }
279# [ cfg ( feature = "full" ) ]
280fn visit_path_list(&mut self, i: &PathList) { walk_path_list(self, i) }
281# [ cfg ( feature = "full" ) ]
282fn visit_path_list_item(&mut self, i: &PathListItem) { walk_path_list_item(self, i) }
283
284fn visit_path_parameters(&mut self, i: &PathParameters) { walk_path_parameters(self, i) }
285
286fn visit_path_segment(&mut self, i: &PathSegment) { walk_path_segment(self, i) }
287# [ cfg ( feature = "full" ) ]
288fn visit_path_simple(&mut self, i: &PathSimple) { walk_path_simple(self, i) }
289
290fn visit_poly_trait_ref(&mut self, i: &PolyTraitRef) { walk_poly_trait_ref(self, i) }
291
292fn visit_qself(&mut self, i: &QSelf) { walk_qself(self, i) }
293# [ cfg ( feature = "full" ) ]
294fn visit_range_limits(&mut self, i: &RangeLimits) { walk_range_limits(self, i) }
295# [ cfg ( feature = "full" ) ]
296fn visit_stmt(&mut self, i: &Stmt) { walk_stmt(self, i) }
297
298fn visit_trait_bound_modifier(&mut self, i: &TraitBoundModifier) { walk_trait_bound_modifier(self, i) }
299# [ cfg ( feature = "full" ) ]
300fn visit_trait_item(&mut self, i: &TraitItem) { walk_trait_item(self, i) }
301# [ cfg ( feature = "full" ) ]
302fn visit_trait_item_const(&mut self, i: &TraitItemConst) { walk_trait_item_const(self, i) }
303# [ cfg ( feature = "full" ) ]
304fn visit_trait_item_kind(&mut self, i: &TraitItemKind) { walk_trait_item_kind(self, i) }
305# [ cfg ( feature = "full" ) ]
306fn visit_trait_item_method(&mut self, i: &TraitItemMethod) { walk_trait_item_method(self, i) }
307# [ cfg ( feature = "full" ) ]
308fn visit_trait_item_type(&mut self, i: &TraitItemType) { walk_trait_item_type(self, i) }
309
310fn visit_ty(&mut self, i: &Ty) { walk_ty(self, i) }
311
312fn visit_ty_array(&mut self, i: &TyArray) { walk_ty_array(self, i) }
313
314fn visit_ty_bare_fn(&mut self, i: &TyBareFn) { walk_ty_bare_fn(self, i) }
315
316fn visit_ty_group(&mut self, i: &TyGroup) { walk_ty_group(self, i) }
317
318fn visit_ty_impl_trait(&mut self, i: &TyImplTrait) { walk_ty_impl_trait(self, i) }
319
320fn visit_ty_infer(&mut self, i: &TyInfer) { walk_ty_infer(self, i) }
321
322fn visit_ty_never(&mut self, i: &TyNever) { walk_ty_never(self, i) }
323
324fn visit_ty_param(&mut self, i: &TyParam) { walk_ty_param(self, i) }
325
326fn visit_ty_param_bound(&mut self, i: &TyParamBound) { walk_ty_param_bound(self, i) }
327
328fn visit_ty_paren(&mut self, i: &TyParen) { walk_ty_paren(self, i) }
329
330fn visit_ty_path(&mut self, i: &TyPath) { walk_ty_path(self, i) }
331
332fn visit_ty_ptr(&mut self, i: &TyPtr) { walk_ty_ptr(self, i) }
333
334fn visit_ty_rptr(&mut self, i: &TyRptr) { walk_ty_rptr(self, i) }
335
336fn visit_ty_slice(&mut self, i: &TySlice) { walk_ty_slice(self, i) }
337
338fn visit_ty_trait_object(&mut self, i: &TyTraitObject) { walk_ty_trait_object(self, i) }
339
340fn visit_ty_tup(&mut self, i: &TyTup) { walk_ty_tup(self, i) }
341
342fn visit_type_binding(&mut self, i: &TypeBinding) { walk_type_binding(self, i) }
343
344fn visit_un_op(&mut self, i: &UnOp) { walk_un_op(self, i) }
345
346fn visit_unsafety(&mut self, i: &Unsafety) { walk_unsafety(self, i) }
347
348fn visit_variant(&mut self, i: &Variant) { walk_variant(self, i) }
349
350fn visit_variant_data(&mut self, i: &VariantData) { walk_variant_data(self, i) }
351# [ cfg ( feature = "full" ) ]
352fn visit_view_path(&mut self, i: &ViewPath) { walk_view_path(self, i) }
353
354fn visit_vis_crate(&mut self, i: &VisCrate) { walk_vis_crate(self, i) }
355
356fn visit_vis_inherited(&mut self, i: &VisInherited) { walk_vis_inherited(self, i) }
357
358fn visit_vis_public(&mut self, i: &VisPublic) { walk_vis_public(self, i) }
359
360fn visit_vis_restricted(&mut self, i: &VisRestricted) { walk_vis_restricted(self, i) }
361
362fn visit_visibility(&mut self, i: &Visibility) { walk_visibility(self, i) }
363
364fn visit_where_bound_predicate(&mut self, i: &WhereBoundPredicate) { walk_where_bound_predicate(self, i) }
365
366fn visit_where_clause(&mut self, i: &WhereClause) { walk_where_clause(self, i) }
367
368fn visit_where_eq_predicate(&mut self, i: &WhereEqPredicate) { walk_where_eq_predicate(self, i) }
369
370fn visit_where_predicate(&mut self, i: &WherePredicate) { walk_where_predicate(self, i) }
371
372fn visit_where_region_predicate(&mut self, i: &WhereRegionPredicate) { walk_where_region_predicate(self, i) }
373
374}
375
376
377pub fn walk_abi<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Abi) {
378 // Skipped field _i . extern_token;
379 _visitor.visit_abi_kind(&_i . kind);
380}
381
382pub fn walk_abi_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &AbiKind) {
383 use ::AbiKind::*;
384 match *_i {
385 Named(ref _binding_0, ) => {
386 // Skipped field * _binding_0;
387 }
388 Default => { }
389 }
390}
391
392pub fn walk_angle_bracketed_parameter_data<V: Visitor + ?Sized>(_visitor: &mut V, _i: &AngleBracketedParameterData) {
393 // Skipped field _i . turbofish;
394 // Skipped field _i . lt_token;
395 // Skipped field _i . lifetimes;
396 for el in (_i . types).iter() { let it = el.item(); _visitor.visit_ty(&it) };
397 for el in (_i . bindings).iter() { let it = el.item(); _visitor.visit_type_binding(&it) };
398 // Skipped field _i . gt_token;
399}
400# [ cfg ( feature = "full" ) ]
401pub fn walk_arg_captured<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ArgCaptured) {
402 _visitor.visit_pat(&_i . pat);
403 // Skipped field _i . colon_token;
404 _visitor.visit_ty(&_i . ty);
405}
406# [ cfg ( feature = "full" ) ]
407pub fn walk_arg_self<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ArgSelf) {
408 _visitor.visit_mutability(&_i . mutbl);
409 // Skipped field _i . self_token;
410}
411# [ cfg ( feature = "full" ) ]
412pub fn walk_arg_self_ref<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ArgSelfRef) {
413 // Skipped field _i . and_token;
414 // Skipped field _i . self_token;
415 // Skipped field _i . lifetime;
416 _visitor.visit_mutability(&_i . mutbl);
417}
418# [ cfg ( feature = "full" ) ]
419pub fn walk_arm<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Arm) {
420 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
421 for el in (_i . pats).iter() { let it = el.item(); _visitor.visit_pat(&it) };
422 // Skipped field _i . if_token;
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400423 if let Some(ref it) = _i . guard { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400424 // Skipped field _i . rocket_token;
425 _visitor.visit_expr(&_i . body);
426 // Skipped field _i . comma;
427}
428
429pub fn walk_attr_style<V: Visitor + ?Sized>(_visitor: &mut V, _i: &AttrStyle) {
430 use ::AttrStyle::*;
431 match *_i {
432 Outer => { }
433 Inner(ref _binding_0, ) => {
434 // Skipped field * _binding_0;
435 }
436 }
437}
438
439pub fn walk_attribute<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Attribute) {
440 _visitor.visit_attr_style(&_i . style);
441 // Skipped field _i . pound_token;
442 // Skipped field _i . bracket_token;
443 _visitor.visit_path(&_i . path);
444 // Skipped field _i . tts;
445 // Skipped field _i . is_sugared_doc;
446}
447
448pub fn walk_bare_fn_arg<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BareFnArg) {
449 // Skipped field _i . name;
450 _visitor.visit_ty(&_i . ty);
451}
452
453pub fn walk_bare_fn_arg_name<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BareFnArgName) {
454 use ::BareFnArgName::*;
455 match *_i {
456 Named(ref _binding_0, ) => {
457 // Skipped field * _binding_0;
458 }
459 Wild(ref _binding_0, ) => {
460 // Skipped field * _binding_0;
461 }
462 }
463}
464
465pub fn walk_bare_fn_ty<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BareFnTy) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400466 if let Some(ref it) = _i . lifetimes { _visitor.visit_bound_lifetimes(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400467 _visitor.visit_unsafety(&_i . unsafety);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400468 if let Some(ref it) = _i . abi { _visitor.visit_abi(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400469 // Skipped field _i . fn_token;
470 // Skipped field _i . paren_token;
471 for el in (_i . inputs).iter() { let it = el.item(); _visitor.visit_bare_fn_arg(&it) };
472 // Skipped field _i . variadic;
473 _visitor.visit_function_ret_ty(&_i . output);
474}
475
476pub fn walk_bin_op<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BinOp) {
477 use ::BinOp::*;
478 match *_i {
479 Add(ref _binding_0, ) => {
480 // Skipped field * _binding_0;
481 }
482 Sub(ref _binding_0, ) => {
483 // Skipped field * _binding_0;
484 }
485 Mul(ref _binding_0, ) => {
486 // Skipped field * _binding_0;
487 }
488 Div(ref _binding_0, ) => {
489 // Skipped field * _binding_0;
490 }
491 Rem(ref _binding_0, ) => {
492 // Skipped field * _binding_0;
493 }
494 And(ref _binding_0, ) => {
495 // Skipped field * _binding_0;
496 }
497 Or(ref _binding_0, ) => {
498 // Skipped field * _binding_0;
499 }
500 BitXor(ref _binding_0, ) => {
501 // Skipped field * _binding_0;
502 }
503 BitAnd(ref _binding_0, ) => {
504 // Skipped field * _binding_0;
505 }
506 BitOr(ref _binding_0, ) => {
507 // Skipped field * _binding_0;
508 }
509 Shl(ref _binding_0, ) => {
510 // Skipped field * _binding_0;
511 }
512 Shr(ref _binding_0, ) => {
513 // Skipped field * _binding_0;
514 }
515 Eq(ref _binding_0, ) => {
516 // Skipped field * _binding_0;
517 }
518 Lt(ref _binding_0, ) => {
519 // Skipped field * _binding_0;
520 }
521 Le(ref _binding_0, ) => {
522 // Skipped field * _binding_0;
523 }
524 Ne(ref _binding_0, ) => {
525 // Skipped field * _binding_0;
526 }
527 Ge(ref _binding_0, ) => {
528 // Skipped field * _binding_0;
529 }
530 Gt(ref _binding_0, ) => {
531 // Skipped field * _binding_0;
532 }
533 AddEq(ref _binding_0, ) => {
534 // Skipped field * _binding_0;
535 }
536 SubEq(ref _binding_0, ) => {
537 // Skipped field * _binding_0;
538 }
539 MulEq(ref _binding_0, ) => {
540 // Skipped field * _binding_0;
541 }
542 DivEq(ref _binding_0, ) => {
543 // Skipped field * _binding_0;
544 }
545 RemEq(ref _binding_0, ) => {
546 // Skipped field * _binding_0;
547 }
548 BitXorEq(ref _binding_0, ) => {
549 // Skipped field * _binding_0;
550 }
551 BitAndEq(ref _binding_0, ) => {
552 // Skipped field * _binding_0;
553 }
554 BitOrEq(ref _binding_0, ) => {
555 // Skipped field * _binding_0;
556 }
557 ShlEq(ref _binding_0, ) => {
558 // Skipped field * _binding_0;
559 }
560 ShrEq(ref _binding_0, ) => {
561 // Skipped field * _binding_0;
562 }
563 }
564}
565# [ cfg ( feature = "full" ) ]
566pub fn walk_binding_mode<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BindingMode) {
567 use ::BindingMode::*;
568 match *_i {
569 ByRef(ref _binding_0, ref _binding_1, ) => {
570 // Skipped field * _binding_0;
571 _visitor.visit_mutability(&* _binding_1);
572 }
573 ByValue(ref _binding_0, ) => {
574 _visitor.visit_mutability(&* _binding_0);
575 }
576 }
577}
578# [ cfg ( feature = "full" ) ]
579pub fn walk_block<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Block) {
580 // Skipped field _i . brace_token;
581 for it in (_i . stmts).iter() { _visitor.visit_stmt(&it) };
582}
583
584pub fn walk_body<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Body) {
585 use ::Body::*;
586 match *_i {
587 Enum(ref _binding_0, ) => {
588 _visitor.visit_body_enum(&* _binding_0);
589 }
590 Struct(ref _binding_0, ) => {
591 _visitor.visit_body_struct(&* _binding_0);
592 }
593 }
594}
595
596pub fn walk_body_enum<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BodyEnum) {
597 // Skipped field _i . enum_token;
598 // Skipped field _i . brace_token;
599 for el in (_i . variants).iter() { let it = el.item(); _visitor.visit_variant(&it) };
600}
601
602pub fn walk_body_struct<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BodyStruct) {
603 _visitor.visit_variant_data(&_i . data);
604 // Skipped field _i . struct_token;
605 // Skipped field _i . semi_token;
606}
607
608pub fn walk_bound_lifetimes<V: Visitor + ?Sized>(_visitor: &mut V, _i: &BoundLifetimes) {
609 // Skipped field _i . for_token;
610 // Skipped field _i . lt_token;
611 for el in (_i . lifetimes).iter() { let it = el.item(); _visitor.visit_lifetime_def(&it) };
612 // Skipped field _i . gt_token;
613}
614# [ cfg ( feature = "full" ) ]
615pub fn walk_capture_by<V: Visitor + ?Sized>(_visitor: &mut V, _i: &CaptureBy) {
616 use ::CaptureBy::*;
617 match *_i {
618 Value(ref _binding_0, ) => {
619 // Skipped field * _binding_0;
620 }
621 Ref => { }
622 }
623}
624# [ cfg ( feature = "full" ) ]
625pub fn walk_constness<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Constness) {
626 use ::Constness::*;
627 match *_i {
628 Const(ref _binding_0, ) => {
629 // Skipped field * _binding_0;
630 }
631 NotConst => { }
632 }
633}
634# [ cfg ( feature = "full" ) ]
635pub fn walk_defaultness<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Defaultness) {
636 use ::Defaultness::*;
637 match *_i {
638 Default(ref _binding_0, ) => {
639 // Skipped field * _binding_0;
640 }
641 Final => { }
642 }
643}
644
645pub fn walk_derive_input<V: Visitor + ?Sized>(_visitor: &mut V, _i: &DeriveInput) {
646 // Skipped field _i . ident;
647 _visitor.visit_visibility(&_i . vis);
648 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
649 _visitor.visit_generics(&_i . generics);
650 _visitor.visit_body(&_i . body);
651}
652
653pub fn walk_expr<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Expr) {
654 _visitor.visit_expr_kind(&_i . node);
655 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
656}
657# [ cfg ( feature = "full" ) ]
658pub fn walk_expr_addr_of<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprAddrOf) {
659 // Skipped field _i . and_token;
660 _visitor.visit_mutability(&_i . mutbl);
661 _visitor.visit_expr(&_i . expr);
662}
663# [ cfg ( feature = "full" ) ]
664pub fn walk_expr_array<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprArray) {
665 for el in (_i . exprs).iter() { let it = el.item(); _visitor.visit_expr(&it) };
666 // Skipped field _i . bracket_token;
667}
668# [ cfg ( feature = "full" ) ]
669pub fn walk_expr_assign<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprAssign) {
670 _visitor.visit_expr(&_i . left);
671 _visitor.visit_expr(&_i . right);
672 // Skipped field _i . eq_token;
673}
674# [ cfg ( feature = "full" ) ]
675pub fn walk_expr_assign_op<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprAssignOp) {
676 _visitor.visit_bin_op(&_i . op);
677 _visitor.visit_expr(&_i . left);
678 _visitor.visit_expr(&_i . right);
679}
680
681pub fn walk_expr_binary<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprBinary) {
682 _visitor.visit_bin_op(&_i . op);
683 _visitor.visit_expr(&_i . left);
684 _visitor.visit_expr(&_i . right);
685}
686# [ cfg ( feature = "full" ) ]
687pub fn walk_expr_block<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprBlock) {
688 _visitor.visit_unsafety(&_i . unsafety);
689 _visitor.visit_block(&_i . block);
690}
691# [ cfg ( feature = "full" ) ]
692pub fn walk_expr_box<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprBox) {
693 _visitor.visit_expr(&_i . expr);
694 // Skipped field _i . box_token;
695}
696# [ cfg ( feature = "full" ) ]
697pub fn walk_expr_break<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprBreak) {
698 // Skipped field _i . label;
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400699 if let Some(ref it) = _i . expr { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400700 // Skipped field _i . break_token;
701}
702
703pub fn walk_expr_call<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprCall) {
704 _visitor.visit_expr(&_i . func);
705 for el in (_i . args).iter() { let it = el.item(); _visitor.visit_expr(&it) };
706 // Skipped field _i . paren_token;
707}
708
709pub fn walk_expr_cast<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprCast) {
710 _visitor.visit_expr(&_i . expr);
711 // Skipped field _i . as_token;
712 _visitor.visit_ty(&_i . ty);
713}
714# [ cfg ( feature = "full" ) ]
715pub fn walk_expr_catch<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprCatch) {
716 // Skipped field _i . do_token;
717 // Skipped field _i . catch_token;
718 _visitor.visit_block(&_i . block);
719}
720# [ cfg ( feature = "full" ) ]
721pub fn walk_expr_closure<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprClosure) {
722 _visitor.visit_capture_by(&_i . capture);
723 _visitor.visit_fn_decl(&_i . decl);
724 _visitor.visit_expr(&_i . body);
725 // Skipped field _i . or1_token;
726 // Skipped field _i . or2_token;
727}
728# [ cfg ( feature = "full" ) ]
729pub fn walk_expr_continue<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprContinue) {
730 // Skipped field _i . label;
731 // Skipped field _i . continue_token;
732}
733# [ cfg ( feature = "full" ) ]
734pub fn walk_expr_field<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprField) {
735 _visitor.visit_expr(&_i . expr);
736 // Skipped field _i . field;
737 // Skipped field _i . dot_token;
738}
739# [ cfg ( feature = "full" ) ]
740pub fn walk_expr_for_loop<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprForLoop) {
741 _visitor.visit_pat(&_i . pat);
742 _visitor.visit_expr(&_i . expr);
743 _visitor.visit_block(&_i . body);
744 // Skipped field _i . label;
745 // Skipped field _i . for_token;
746 // Skipped field _i . colon_token;
747 // Skipped field _i . in_token;
748}
749
750pub fn walk_expr_group<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprGroup) {
751 _visitor.visit_expr(&_i . expr);
752 // Skipped field _i . group_token;
753}
754# [ cfg ( feature = "full" ) ]
755pub fn walk_expr_if<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprIf) {
756 _visitor.visit_expr(&_i . cond);
757 _visitor.visit_block(&_i . if_true);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400758 if let Some(ref it) = _i . if_false { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400759 // Skipped field _i . if_token;
760 // Skipped field _i . else_token;
761}
762# [ cfg ( feature = "full" ) ]
763pub fn walk_expr_if_let<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprIfLet) {
764 _visitor.visit_pat(&_i . pat);
765 _visitor.visit_expr(&_i . expr);
766 _visitor.visit_block(&_i . if_true);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400767 if let Some(ref it) = _i . if_false { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400768 // Skipped field _i . if_token;
769 // Skipped field _i . let_token;
770 // Skipped field _i . eq_token;
771 // Skipped field _i . else_token;
772}
773# [ cfg ( feature = "full" ) ]
774pub fn walk_expr_in_place<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprInPlace) {
775 _visitor.visit_expr(&_i . place);
776 _visitor.visit_in_place_kind(&_i . kind);
777 _visitor.visit_expr(&_i . value);
778}
779
780pub fn walk_expr_index<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprIndex) {
781 _visitor.visit_expr(&_i . expr);
782 _visitor.visit_expr(&_i . index);
783 // Skipped field _i . bracket_token;
784}
785
786pub fn walk_expr_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprKind) {
787 use ::ExprKind::*;
788 match *_i {
789 Box(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400790 full!(_visitor.visit_expr_box(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400791 }
792 InPlace(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400793 full!(_visitor.visit_expr_in_place(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400794 }
795 Array(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400796 full!(_visitor.visit_expr_array(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400797 }
798 Call(ref _binding_0, ) => {
799 _visitor.visit_expr_call(&* _binding_0);
800 }
801 MethodCall(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400802 full!(_visitor.visit_expr_method_call(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400803 }
804 Tup(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400805 full!(_visitor.visit_expr_tup(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400806 }
807 Binary(ref _binding_0, ) => {
808 _visitor.visit_expr_binary(&* _binding_0);
809 }
810 Unary(ref _binding_0, ) => {
811 _visitor.visit_expr_unary(&* _binding_0);
812 }
813 Lit(ref _binding_0, ) => {
814 // Skipped field * _binding_0;
815 }
816 Cast(ref _binding_0, ) => {
817 _visitor.visit_expr_cast(&* _binding_0);
818 }
819 Type(ref _binding_0, ) => {
820 _visitor.visit_expr_type(&* _binding_0);
821 }
822 If(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400823 full!(_visitor.visit_expr_if(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400824 }
825 IfLet(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400826 full!(_visitor.visit_expr_if_let(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400827 }
828 While(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400829 full!(_visitor.visit_expr_while(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400830 }
831 WhileLet(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400832 full!(_visitor.visit_expr_while_let(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400833 }
834 ForLoop(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400835 full!(_visitor.visit_expr_for_loop(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400836 }
837 Loop(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400838 full!(_visitor.visit_expr_loop(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400839 }
840 Match(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400841 full!(_visitor.visit_expr_match(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400842 }
843 Closure(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400844 full!(_visitor.visit_expr_closure(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400845 }
846 Block(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400847 full!(_visitor.visit_expr_block(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400848 }
849 Assign(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400850 full!(_visitor.visit_expr_assign(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400851 }
852 AssignOp(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400853 full!(_visitor.visit_expr_assign_op(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400854 }
855 Field(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400856 full!(_visitor.visit_expr_field(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400857 }
858 TupField(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400859 full!(_visitor.visit_expr_tup_field(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400860 }
861 Index(ref _binding_0, ) => {
862 _visitor.visit_expr_index(&* _binding_0);
863 }
864 Range(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400865 full!(_visitor.visit_expr_range(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400866 }
867 Path(ref _binding_0, ) => {
868 _visitor.visit_expr_path(&* _binding_0);
869 }
870 AddrOf(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400871 full!(_visitor.visit_expr_addr_of(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400872 }
873 Break(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400874 full!(_visitor.visit_expr_break(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400875 }
876 Continue(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400877 full!(_visitor.visit_expr_continue(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400878 }
879 Ret(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400880 full!(_visitor.visit_expr_ret(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400881 }
882 Mac(ref _binding_0, ) => {
883 _visitor.visit_mac(&* _binding_0);
884 }
885 Struct(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400886 full!(_visitor.visit_expr_struct(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400887 }
888 Repeat(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400889 full!(_visitor.visit_expr_repeat(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400890 }
891 Paren(ref _binding_0, ) => {
892 _visitor.visit_expr_paren(&* _binding_0);
893 }
894 Group(ref _binding_0, ) => {
895 _visitor.visit_expr_group(&* _binding_0);
896 }
897 Try(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400898 full!(_visitor.visit_expr_try(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400899 }
900 Catch(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400901 full!(_visitor.visit_expr_catch(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400902 }
903 Yield(ref _binding_0, ) => {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400904 full!(_visitor.visit_expr_yield(&* _binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400905 }
906 }
907}
908# [ cfg ( feature = "full" ) ]
909pub fn walk_expr_loop<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprLoop) {
910 _visitor.visit_block(&_i . body);
911 // Skipped field _i . label;
912 // Skipped field _i . loop_token;
913 // Skipped field _i . colon_token;
914}
915# [ cfg ( feature = "full" ) ]
916pub fn walk_expr_match<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprMatch) {
917 // Skipped field _i . match_token;
918 // Skipped field _i . brace_token;
919 _visitor.visit_expr(&_i . expr);
920 for it in (_i . arms).iter() { _visitor.visit_arm(&it) };
921}
922# [ cfg ( feature = "full" ) ]
923pub fn walk_expr_method_call<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprMethodCall) {
924 _visitor.visit_expr(&_i . expr);
925 // Skipped field _i . method;
926 for el in (_i . typarams).iter() { let it = el.item(); _visitor.visit_ty(&it) };
927 for el in (_i . args).iter() { let it = el.item(); _visitor.visit_expr(&it) };
928 // Skipped field _i . paren_token;
929 // Skipped field _i . dot_token;
930 // Skipped field _i . lt_token;
931 // Skipped field _i . colon2_token;
932 // Skipped field _i . gt_token;
933}
934
935pub fn walk_expr_paren<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprParen) {
936 _visitor.visit_expr(&_i . expr);
937 // Skipped field _i . paren_token;
938}
939
940pub fn walk_expr_path<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprPath) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400941 if let Some(ref it) = _i . qself { _visitor.visit_qself(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400942 _visitor.visit_path(&_i . path);
943}
944# [ cfg ( feature = "full" ) ]
945pub fn walk_expr_range<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprRange) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400946 if let Some(ref it) = _i . from { _visitor.visit_expr(&* it) };
947 if let Some(ref it) = _i . to { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400948 _visitor.visit_range_limits(&_i . limits);
949}
950# [ cfg ( feature = "full" ) ]
951pub fn walk_expr_repeat<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprRepeat) {
952 // Skipped field _i . bracket_token;
953 // Skipped field _i . semi_token;
954 _visitor.visit_expr(&_i . expr);
955 _visitor.visit_expr(&_i . amt);
956}
957# [ cfg ( feature = "full" ) ]
958pub fn walk_expr_ret<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprRet) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400959 if let Some(ref it) = _i . expr { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400960 // Skipped field _i . return_token;
961}
962# [ cfg ( feature = "full" ) ]
963pub fn walk_expr_struct<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprStruct) {
964 _visitor.visit_path(&_i . path);
965 for el in (_i . fields).iter() { let it = el.item(); _visitor.visit_field_value(&it) };
Nika Layzell4ab8d6e2017-10-26 09:45:49 -0400966 if let Some(ref it) = _i . rest { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -0400967 // Skipped field _i . dot2_token;
968 // Skipped field _i . brace_token;
969}
970# [ cfg ( feature = "full" ) ]
971pub fn walk_expr_try<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprTry) {
972 _visitor.visit_expr(&_i . expr);
973 // Skipped field _i . question_token;
974}
975# [ cfg ( feature = "full" ) ]
976pub fn walk_expr_tup<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprTup) {
977 for el in (_i . args).iter() { let it = el.item(); _visitor.visit_expr(&it) };
978 // Skipped field _i . paren_token;
979 // Skipped field _i . lone_comma;
980}
981# [ cfg ( feature = "full" ) ]
982pub fn walk_expr_tup_field<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprTupField) {
983 _visitor.visit_expr(&_i . expr);
984 // Skipped field _i . field;
985 // Skipped field _i . dot_token;
986}
987
988pub fn walk_expr_type<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprType) {
989 _visitor.visit_expr(&_i . expr);
990 // Skipped field _i . colon_token;
991 _visitor.visit_ty(&_i . ty);
992}
993
994pub fn walk_expr_unary<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprUnary) {
995 _visitor.visit_un_op(&_i . op);
996 _visitor.visit_expr(&_i . expr);
997}
998# [ cfg ( feature = "full" ) ]
999pub fn walk_expr_while<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprWhile) {
1000 _visitor.visit_expr(&_i . cond);
1001 _visitor.visit_block(&_i . body);
1002 // Skipped field _i . label;
1003 // Skipped field _i . colon_token;
1004 // Skipped field _i . while_token;
1005}
1006# [ cfg ( feature = "full" ) ]
1007pub fn walk_expr_while_let<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprWhileLet) {
1008 _visitor.visit_pat(&_i . pat);
1009 _visitor.visit_expr(&_i . expr);
1010 _visitor.visit_block(&_i . body);
1011 // Skipped field _i . label;
1012 // Skipped field _i . colon_token;
1013 // Skipped field _i . while_token;
1014 // Skipped field _i . let_token;
1015 // Skipped field _i . eq_token;
1016}
1017# [ cfg ( feature = "full" ) ]
1018pub fn walk_expr_yield<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ExprYield) {
1019 // Skipped field _i . yield_token;
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001020 if let Some(ref it) = _i . expr { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001021}
1022
1023pub fn walk_field<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Field) {
1024 // Skipped field _i . ident;
1025 _visitor.visit_visibility(&_i . vis);
1026 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1027 _visitor.visit_ty(&_i . ty);
1028 // Skipped field _i . colon_token;
1029}
1030# [ cfg ( feature = "full" ) ]
1031pub fn walk_field_pat<V: Visitor + ?Sized>(_visitor: &mut V, _i: &FieldPat) {
1032 // Skipped field _i . ident;
1033 _visitor.visit_pat(&_i . pat);
1034 // Skipped field _i . is_shorthand;
1035 // Skipped field _i . colon_token;
1036 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1037}
1038# [ cfg ( feature = "full" ) ]
1039pub fn walk_field_value<V: Visitor + ?Sized>(_visitor: &mut V, _i: &FieldValue) {
1040 // Skipped field _i . ident;
1041 _visitor.visit_expr(&_i . expr);
1042 // Skipped field _i . is_shorthand;
1043 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1044 // Skipped field _i . colon_token;
1045}
1046# [ cfg ( feature = "full" ) ]
1047pub fn walk_file<V: Visitor + ?Sized>(_visitor: &mut V, _i: &File) {
1048 // Skipped field _i . shebang;
1049 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1050 for it in (_i . items).iter() { _visitor.visit_item(&it) };
1051}
1052# [ cfg ( feature = "full" ) ]
1053pub fn walk_fn_arg<V: Visitor + ?Sized>(_visitor: &mut V, _i: &FnArg) {
1054 use ::FnArg::*;
1055 match *_i {
1056 SelfRef(ref _binding_0, ) => {
1057 _visitor.visit_arg_self_ref(&* _binding_0);
1058 }
1059 SelfValue(ref _binding_0, ) => {
1060 _visitor.visit_arg_self(&* _binding_0);
1061 }
1062 Captured(ref _binding_0, ) => {
1063 _visitor.visit_arg_captured(&* _binding_0);
1064 }
1065 Ignored(ref _binding_0, ) => {
1066 _visitor.visit_ty(&* _binding_0);
1067 }
1068 }
1069}
1070# [ cfg ( feature = "full" ) ]
1071pub fn walk_fn_decl<V: Visitor + ?Sized>(_visitor: &mut V, _i: &FnDecl) {
1072 // Skipped field _i . fn_token;
1073 // Skipped field _i . paren_token;
1074 for el in (_i . inputs).iter() { let it = el.item(); _visitor.visit_fn_arg(&it) };
1075 _visitor.visit_function_ret_ty(&_i . output);
1076 _visitor.visit_generics(&_i . generics);
1077 // Skipped field _i . variadic;
1078 // Skipped field _i . dot_tokens;
1079}
1080# [ cfg ( feature = "full" ) ]
1081pub fn walk_foreign_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ForeignItem) {
1082 // Skipped field _i . ident;
1083 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1084 _visitor.visit_foreign_item_kind(&_i . node);
1085 _visitor.visit_visibility(&_i . vis);
1086 // Skipped field _i . semi_token;
1087}
1088# [ cfg ( feature = "full" ) ]
1089pub fn walk_foreign_item_fn<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ForeignItemFn) {
1090 _visitor.visit_fn_decl(&_i . decl);
1091}
1092# [ cfg ( feature = "full" ) ]
1093pub fn walk_foreign_item_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ForeignItemKind) {
1094 use ::ForeignItemKind::*;
1095 match *_i {
1096 Fn(ref _binding_0, ) => {
1097 _visitor.visit_foreign_item_fn(&* _binding_0);
1098 }
1099 Static(ref _binding_0, ) => {
1100 _visitor.visit_foreign_item_static(&* _binding_0);
1101 }
1102 }
1103}
1104# [ cfg ( feature = "full" ) ]
1105pub fn walk_foreign_item_static<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ForeignItemStatic) {
1106 // Skipped field _i . static_token;
1107 _visitor.visit_ty(&_i . ty);
1108 // Skipped field _i . colon_token;
1109 _visitor.visit_mutability(&_i . mutbl);
1110}
1111
1112pub fn walk_function_ret_ty<V: Visitor + ?Sized>(_visitor: &mut V, _i: &FunctionRetTy) {
1113 use ::FunctionRetTy::*;
1114 match *_i {
1115 Default => { }
1116 Ty(ref _binding_0, ref _binding_1, ) => {
1117 _visitor.visit_ty(&* _binding_0);
1118 // Skipped field * _binding_1;
1119 }
1120 }
1121}
1122
1123pub fn walk_generics<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Generics) {
1124 // Skipped field _i . lt_token;
1125 // Skipped field _i . gt_token;
1126 for el in (_i . lifetimes).iter() { let it = el.item(); _visitor.visit_lifetime_def(&it) };
1127 for el in (_i . ty_params).iter() { let it = el.item(); _visitor.visit_ty_param(&it) };
1128 _visitor.visit_where_clause(&_i . where_clause);
1129}
1130# [ cfg ( feature = "full" ) ]
1131pub fn walk_impl_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplItem) {
1132 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1133 _visitor.visit_impl_item_kind(&_i . node);
1134}
1135# [ cfg ( feature = "full" ) ]
1136pub fn walk_impl_item_const<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplItemConst) {
1137 _visitor.visit_visibility(&_i . vis);
1138 _visitor.visit_defaultness(&_i . defaultness);
1139 // Skipped field _i . const_token;
1140 // Skipped field _i . ident;
1141 // Skipped field _i . colon_token;
1142 _visitor.visit_ty(&_i . ty);
1143 // Skipped field _i . eq_token;
1144 _visitor.visit_expr(&_i . expr);
1145 // Skipped field _i . semi_token;
1146}
1147# [ cfg ( feature = "full" ) ]
1148pub fn walk_impl_item_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplItemKind) {
1149 use ::ImplItemKind::*;
1150 match *_i {
1151 Const(ref _binding_0, ) => {
1152 _visitor.visit_impl_item_const(&* _binding_0);
1153 }
1154 Method(ref _binding_0, ) => {
1155 _visitor.visit_impl_item_method(&* _binding_0);
1156 }
1157 Type(ref _binding_0, ) => {
1158 _visitor.visit_impl_item_type(&* _binding_0);
1159 }
1160 Macro(ref _binding_0, ) => {
1161 _visitor.visit_mac(&* _binding_0);
1162 }
1163 }
1164}
1165# [ cfg ( feature = "full" ) ]
1166pub fn walk_impl_item_method<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplItemMethod) {
1167 _visitor.visit_visibility(&_i . vis);
1168 _visitor.visit_defaultness(&_i . defaultness);
1169 _visitor.visit_method_sig(&_i . sig);
1170 _visitor.visit_block(&_i . block);
1171}
1172# [ cfg ( feature = "full" ) ]
1173pub fn walk_impl_item_type<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplItemType) {
1174 _visitor.visit_visibility(&_i . vis);
1175 _visitor.visit_defaultness(&_i . defaultness);
1176 // Skipped field _i . type_token;
1177 // Skipped field _i . ident;
1178 // Skipped field _i . eq_token;
1179 _visitor.visit_ty(&_i . ty);
1180 // Skipped field _i . semi_token;
1181}
1182# [ cfg ( feature = "full" ) ]
1183pub fn walk_impl_polarity<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ImplPolarity) {
1184 use ::ImplPolarity::*;
1185 match *_i {
1186 Positive => { }
1187 Negative(ref _binding_0, ) => {
1188 // Skipped field * _binding_0;
1189 }
1190 }
1191}
1192# [ cfg ( feature = "full" ) ]
1193pub fn walk_in_place_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &InPlaceKind) {
1194 use ::InPlaceKind::*;
1195 match *_i {
1196 Arrow(ref _binding_0, ) => {
1197 // Skipped field * _binding_0;
1198 }
1199 In(ref _binding_0, ) => {
1200 // Skipped field * _binding_0;
1201 }
1202 }
1203}
1204# [ cfg ( feature = "full" ) ]
1205pub fn walk_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Item) {
1206 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1207 _visitor.visit_item_kind(&_i . node);
1208}
1209# [ cfg ( feature = "full" ) ]
1210pub fn walk_item_const<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemConst) {
1211 _visitor.visit_visibility(&_i . vis);
1212 // Skipped field _i . const_token;
1213 // Skipped field _i . ident;
1214 // Skipped field _i . colon_token;
1215 _visitor.visit_ty(&_i . ty);
1216 // Skipped field _i . eq_token;
1217 _visitor.visit_expr(&_i . expr);
1218 // Skipped field _i . semi_token;
1219}
1220# [ cfg ( feature = "full" ) ]
1221pub fn walk_item_default_impl<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemDefaultImpl) {
1222 _visitor.visit_unsafety(&_i . unsafety);
1223 // Skipped field _i . impl_token;
1224 _visitor.visit_path(&_i . path);
1225 // Skipped field _i . for_token;
1226 // Skipped field _i . dot2_token;
1227 // Skipped field _i . brace_token;
1228}
1229# [ cfg ( feature = "full" ) ]
1230pub fn walk_item_enum<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemEnum) {
1231 _visitor.visit_visibility(&_i . vis);
1232 // Skipped field _i . enum_token;
1233 // Skipped field _i . ident;
1234 _visitor.visit_generics(&_i . generics);
1235 // Skipped field _i . brace_token;
1236 for el in (_i . variants).iter() { let it = el.item(); _visitor.visit_variant(&it) };
1237}
1238# [ cfg ( feature = "full" ) ]
1239pub fn walk_item_extern_crate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemExternCrate) {
1240 _visitor.visit_visibility(&_i . vis);
1241 // Skipped field _i . extern_token;
1242 // Skipped field _i . crate_token;
1243 // Skipped field _i . ident;
1244 // Skipped field _i . rename;
1245 // Skipped field _i . semi_token;
1246}
1247# [ cfg ( feature = "full" ) ]
1248pub fn walk_item_fn<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemFn) {
1249 _visitor.visit_visibility(&_i . vis);
1250 _visitor.visit_constness(&_i . constness);
1251 _visitor.visit_unsafety(&_i . unsafety);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001252 if let Some(ref it) = _i . abi { _visitor.visit_abi(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001253 _visitor.visit_fn_decl(&_i . decl);
1254 // Skipped field _i . ident;
1255 _visitor.visit_block(&_i . block);
1256}
1257# [ cfg ( feature = "full" ) ]
1258pub fn walk_item_foreign_mod<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemForeignMod) {
1259 _visitor.visit_abi(&_i . abi);
1260 // Skipped field _i . brace_token;
1261 for it in (_i . items).iter() { _visitor.visit_foreign_item(&it) };
1262}
1263# [ cfg ( feature = "full" ) ]
1264pub fn walk_item_impl<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemImpl) {
1265 _visitor.visit_defaultness(&_i . defaultness);
1266 _visitor.visit_unsafety(&_i . unsafety);
1267 // Skipped field _i . impl_token;
1268 _visitor.visit_generics(&_i . generics);
1269 // Skipped field _i . trait_;
1270 _visitor.visit_ty(&_i . self_ty);
1271 // Skipped field _i . brace_token;
1272 for it in (_i . items).iter() { _visitor.visit_impl_item(&it) };
1273}
1274# [ cfg ( feature = "full" ) ]
1275pub fn walk_item_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemKind) {
1276 use ::ItemKind::*;
1277 match *_i {
1278 ExternCrate(ref _binding_0, ) => {
1279 _visitor.visit_item_extern_crate(&* _binding_0);
1280 }
1281 Use(ref _binding_0, ) => {
1282 _visitor.visit_item_use(&* _binding_0);
1283 }
1284 Static(ref _binding_0, ) => {
1285 _visitor.visit_item_static(&* _binding_0);
1286 }
1287 Const(ref _binding_0, ) => {
1288 _visitor.visit_item_const(&* _binding_0);
1289 }
1290 Fn(ref _binding_0, ) => {
1291 _visitor.visit_item_fn(&* _binding_0);
1292 }
1293 Mod(ref _binding_0, ) => {
1294 _visitor.visit_item_mod(&* _binding_0);
1295 }
1296 ForeignMod(ref _binding_0, ) => {
1297 _visitor.visit_item_foreign_mod(&* _binding_0);
1298 }
1299 Ty(ref _binding_0, ) => {
1300 _visitor.visit_item_ty(&* _binding_0);
1301 }
1302 Enum(ref _binding_0, ) => {
1303 _visitor.visit_item_enum(&* _binding_0);
1304 }
1305 Struct(ref _binding_0, ) => {
1306 _visitor.visit_item_struct(&* _binding_0);
1307 }
1308 Union(ref _binding_0, ) => {
1309 _visitor.visit_item_union(&* _binding_0);
1310 }
1311 Trait(ref _binding_0, ) => {
1312 _visitor.visit_item_trait(&* _binding_0);
1313 }
1314 DefaultImpl(ref _binding_0, ) => {
1315 _visitor.visit_item_default_impl(&* _binding_0);
1316 }
1317 Impl(ref _binding_0, ) => {
1318 _visitor.visit_item_impl(&* _binding_0);
1319 }
1320 Mac(ref _binding_0, ) => {
1321 _visitor.visit_mac(&* _binding_0);
1322 }
1323 }
1324}
1325# [ cfg ( feature = "full" ) ]
1326pub fn walk_item_mod<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemMod) {
1327 _visitor.visit_visibility(&_i . vis);
1328 // Skipped field _i . mod_token;
1329 // Skipped field _i . ident;
1330 // Skipped field _i . content;
1331 // Skipped field _i . semi;
1332}
1333# [ cfg ( feature = "full" ) ]
1334pub fn walk_item_static<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemStatic) {
1335 _visitor.visit_visibility(&_i . vis);
1336 // Skipped field _i . static_token;
1337 _visitor.visit_mutability(&_i . mutbl);
1338 // Skipped field _i . ident;
1339 // Skipped field _i . colon_token;
1340 _visitor.visit_ty(&_i . ty);
1341 // Skipped field _i . eq_token;
1342 _visitor.visit_expr(&_i . expr);
1343 // Skipped field _i . semi_token;
1344}
1345# [ cfg ( feature = "full" ) ]
1346pub fn walk_item_struct<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemStruct) {
1347 _visitor.visit_visibility(&_i . vis);
1348 // Skipped field _i . struct_token;
1349 // Skipped field _i . ident;
1350 _visitor.visit_generics(&_i . generics);
1351 _visitor.visit_variant_data(&_i . data);
1352 // Skipped field _i . semi_token;
1353}
1354# [ cfg ( feature = "full" ) ]
1355pub fn walk_item_trait<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemTrait) {
1356 _visitor.visit_visibility(&_i . vis);
1357 _visitor.visit_unsafety(&_i . unsafety);
1358 // Skipped field _i . trait_token;
1359 // Skipped field _i . ident;
1360 _visitor.visit_generics(&_i . generics);
1361 // Skipped field _i . colon_token;
1362 for el in (_i . supertraits).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
1363 // Skipped field _i . brace_token;
1364 for it in (_i . items).iter() { _visitor.visit_trait_item(&it) };
1365}
1366# [ cfg ( feature = "full" ) ]
1367pub fn walk_item_ty<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemTy) {
1368 _visitor.visit_visibility(&_i . vis);
1369 // Skipped field _i . type_token;
1370 // Skipped field _i . ident;
1371 _visitor.visit_generics(&_i . generics);
1372 // Skipped field _i . eq_token;
1373 _visitor.visit_ty(&_i . ty);
1374 // Skipped field _i . semi_token;
1375}
1376# [ cfg ( feature = "full" ) ]
1377pub fn walk_item_union<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemUnion) {
1378 _visitor.visit_visibility(&_i . vis);
1379 // Skipped field _i . union_token;
1380 // Skipped field _i . ident;
1381 _visitor.visit_generics(&_i . generics);
1382 _visitor.visit_variant_data(&_i . data);
1383}
1384# [ cfg ( feature = "full" ) ]
1385pub fn walk_item_use<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ItemUse) {
1386 _visitor.visit_visibility(&_i . vis);
1387 // Skipped field _i . use_token;
1388 _visitor.visit_view_path(&_i . path);
1389 // Skipped field _i . semi_token;
1390}
1391
1392pub fn walk_lifetime_def<V: Visitor + ?Sized>(_visitor: &mut V, _i: &LifetimeDef) {
1393 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1394 // Skipped field _i . lifetime;
1395 // Skipped field _i . colon_token;
1396 // Skipped field _i . bounds;
1397}
1398# [ cfg ( feature = "full" ) ]
1399pub fn walk_local<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Local) {
1400 // Skipped field _i . let_token;
1401 // Skipped field _i . colon_token;
1402 // Skipped field _i . eq_token;
1403 // Skipped field _i . semi_token;
1404 _visitor.visit_pat(&_i . pat);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001405 if let Some(ref it) = _i . ty { _visitor.visit_ty(&* it) };
1406 if let Some(ref it) = _i . init { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001407 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1408}
1409
1410pub fn walk_mac<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Mac) {
1411 _visitor.visit_path(&_i . path);
1412 // Skipped field _i . bang_token;
1413 // Skipped field _i . ident;
1414 // Skipped field _i . tokens;
1415}
1416# [ cfg ( feature = "full" ) ]
1417pub fn walk_mac_stmt_style<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MacStmtStyle) {
1418 use ::MacStmtStyle::*;
1419 match *_i {
1420 Semicolon(ref _binding_0, ) => {
1421 // Skipped field * _binding_0;
1422 }
1423 Braces => { }
1424 NoBraces => { }
1425 }
1426}
1427
1428pub fn walk_meta_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MetaItem) {
1429 use ::MetaItem::*;
1430 match *_i {
1431 Term(ref _binding_0, ) => {
1432 // Skipped field * _binding_0;
1433 }
1434 List(ref _binding_0, ) => {
1435 _visitor.visit_meta_item_list(&* _binding_0);
1436 }
1437 NameValue(ref _binding_0, ) => {
1438 _visitor.visit_meta_name_value(&* _binding_0);
1439 }
1440 }
1441}
1442
1443pub fn walk_meta_item_list<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MetaItemList) {
1444 // Skipped field _i . ident;
1445 // Skipped field _i . paren_token;
1446 for el in (_i . nested).iter() { let it = el.item(); _visitor.visit_nested_meta_item(&it) };
1447}
1448
1449pub fn walk_meta_name_value<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MetaNameValue) {
1450 // Skipped field _i . ident;
1451 // Skipped field _i . eq_token;
1452 // Skipped field _i . lit;
1453}
1454# [ cfg ( feature = "full" ) ]
1455pub fn walk_method_sig<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MethodSig) {
1456 _visitor.visit_constness(&_i . constness);
1457 _visitor.visit_unsafety(&_i . unsafety);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001458 if let Some(ref it) = _i . abi { _visitor.visit_abi(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001459 // Skipped field _i . ident;
1460 _visitor.visit_fn_decl(&_i . decl);
1461}
1462
1463pub fn walk_mut_ty<V: Visitor + ?Sized>(_visitor: &mut V, _i: &MutTy) {
1464 _visitor.visit_ty(&_i . ty);
1465 _visitor.visit_mutability(&_i . mutability);
1466}
1467
1468pub fn walk_mutability<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Mutability) {
1469 use ::Mutability::*;
1470 match *_i {
1471 Mutable(ref _binding_0, ) => {
1472 // Skipped field * _binding_0;
1473 }
1474 Immutable => { }
1475 }
1476}
1477
1478pub fn walk_nested_meta_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &NestedMetaItem) {
1479 use ::NestedMetaItem::*;
1480 match *_i {
1481 MetaItem(ref _binding_0, ) => {
1482 _visitor.visit_meta_item(&* _binding_0);
1483 }
1484 Literal(ref _binding_0, ) => {
1485 // Skipped field * _binding_0;
1486 }
1487 }
1488}
1489
1490pub fn walk_parenthesized_parameter_data<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ParenthesizedParameterData) {
1491 // Skipped field _i . paren_token;
1492 for el in (_i . inputs).iter() { let it = el.item(); _visitor.visit_ty(&it) };
1493 _visitor.visit_function_ret_ty(&_i . output);
1494}
1495# [ cfg ( feature = "full" ) ]
1496pub fn walk_pat<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Pat) {
1497 use ::Pat::*;
1498 match *_i {
1499 Wild(ref _binding_0, ) => {
1500 _visitor.visit_pat_wild(&* _binding_0);
1501 }
1502 Ident(ref _binding_0, ) => {
1503 _visitor.visit_pat_ident(&* _binding_0);
1504 }
1505 Struct(ref _binding_0, ) => {
1506 _visitor.visit_pat_struct(&* _binding_0);
1507 }
1508 TupleStruct(ref _binding_0, ) => {
1509 _visitor.visit_pat_tuple_struct(&* _binding_0);
1510 }
1511 Path(ref _binding_0, ) => {
1512 _visitor.visit_pat_path(&* _binding_0);
1513 }
1514 Tuple(ref _binding_0, ) => {
1515 _visitor.visit_pat_tuple(&* _binding_0);
1516 }
1517 Box(ref _binding_0, ) => {
1518 _visitor.visit_pat_box(&* _binding_0);
1519 }
1520 Ref(ref _binding_0, ) => {
1521 _visitor.visit_pat_ref(&* _binding_0);
1522 }
1523 Lit(ref _binding_0, ) => {
1524 _visitor.visit_pat_lit(&* _binding_0);
1525 }
1526 Range(ref _binding_0, ) => {
1527 _visitor.visit_pat_range(&* _binding_0);
1528 }
1529 Slice(ref _binding_0, ) => {
1530 _visitor.visit_pat_slice(&* _binding_0);
1531 }
1532 Mac(ref _binding_0, ) => {
1533 _visitor.visit_mac(&* _binding_0);
1534 }
1535 }
1536}
1537# [ cfg ( feature = "full" ) ]
1538pub fn walk_pat_box<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatBox) {
1539 _visitor.visit_pat(&_i . pat);
1540 // Skipped field _i . box_token;
1541}
1542# [ cfg ( feature = "full" ) ]
1543pub fn walk_pat_ident<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatIdent) {
1544 _visitor.visit_binding_mode(&_i . mode);
1545 // Skipped field _i . ident;
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001546 if let Some(ref it) = _i . subpat { _visitor.visit_pat(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001547 // Skipped field _i . at_token;
1548}
1549# [ cfg ( feature = "full" ) ]
1550pub fn walk_pat_lit<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatLit) {
1551 _visitor.visit_expr(&_i . expr);
1552}
1553# [ cfg ( feature = "full" ) ]
1554pub fn walk_pat_path<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatPath) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001555 if let Some(ref it) = _i . qself { _visitor.visit_qself(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001556 _visitor.visit_path(&_i . path);
1557}
1558# [ cfg ( feature = "full" ) ]
1559pub fn walk_pat_range<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatRange) {
1560 _visitor.visit_expr(&_i . lo);
1561 _visitor.visit_expr(&_i . hi);
1562 _visitor.visit_range_limits(&_i . limits);
1563}
1564# [ cfg ( feature = "full" ) ]
1565pub fn walk_pat_ref<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatRef) {
1566 _visitor.visit_pat(&_i . pat);
1567 _visitor.visit_mutability(&_i . mutbl);
1568 // Skipped field _i . and_token;
1569}
1570# [ cfg ( feature = "full" ) ]
1571pub fn walk_pat_slice<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatSlice) {
1572 for el in (_i . front).iter() { let it = el.item(); _visitor.visit_pat(&it) };
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001573 if let Some(ref it) = _i . middle { _visitor.visit_pat(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001574 for el in (_i . back).iter() { let it = el.item(); _visitor.visit_pat(&it) };
1575 // Skipped field _i . dot2_token;
1576 // Skipped field _i . comma_token;
1577 // Skipped field _i . bracket_token;
1578}
1579# [ cfg ( feature = "full" ) ]
1580pub fn walk_pat_struct<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatStruct) {
1581 _visitor.visit_path(&_i . path);
1582 for el in (_i . fields).iter() { let it = el.item(); _visitor.visit_field_pat(&it) };
1583 // Skipped field _i . brace_token;
1584 // Skipped field _i . dot2_token;
1585}
1586# [ cfg ( feature = "full" ) ]
1587pub fn walk_pat_tuple<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatTuple) {
1588 for el in (_i . pats).iter() { let it = el.item(); _visitor.visit_pat(&it) };
1589 // Skipped field _i . dots_pos;
1590 // Skipped field _i . paren_token;
1591 // Skipped field _i . dot2_token;
1592 // Skipped field _i . comma_token;
1593}
1594# [ cfg ( feature = "full" ) ]
1595pub fn walk_pat_tuple_struct<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatTupleStruct) {
1596 _visitor.visit_path(&_i . path);
1597 _visitor.visit_pat_tuple(&_i . pat);
1598}
1599# [ cfg ( feature = "full" ) ]
1600pub fn walk_pat_wild<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PatWild) {
1601 // Skipped field _i . underscore_token;
1602}
1603
1604pub fn walk_path<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Path) {
1605 // Skipped field _i . leading_colon;
1606 for el in (_i . segments).iter() { let it = el.item(); _visitor.visit_path_segment(&it) };
1607}
1608# [ cfg ( feature = "full" ) ]
1609pub fn walk_path_glob<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathGlob) {
1610 _visitor.visit_path(&_i . path);
1611 // Skipped field _i . colon2_token;
1612 // Skipped field _i . star_token;
1613}
1614# [ cfg ( feature = "full" ) ]
1615pub fn walk_path_list<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathList) {
1616 _visitor.visit_path(&_i . path);
1617 // Skipped field _i . colon2_token;
1618 // Skipped field _i . brace_token;
1619 for el in (_i . items).iter() { let it = el.item(); _visitor.visit_path_list_item(&it) };
1620}
1621# [ cfg ( feature = "full" ) ]
1622pub fn walk_path_list_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathListItem) {
1623 // Skipped field _i . name;
1624 // Skipped field _i . rename;
1625 // Skipped field _i . as_token;
1626}
1627
1628pub fn walk_path_parameters<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathParameters) {
1629 use ::PathParameters::*;
1630 match *_i {
1631 None => { }
1632 AngleBracketed(ref _binding_0, ) => {
1633 _visitor.visit_angle_bracketed_parameter_data(&* _binding_0);
1634 }
1635 Parenthesized(ref _binding_0, ) => {
1636 _visitor.visit_parenthesized_parameter_data(&* _binding_0);
1637 }
1638 }
1639}
1640
1641pub fn walk_path_segment<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathSegment) {
1642 // Skipped field _i . ident;
1643 _visitor.visit_path_parameters(&_i . parameters);
1644}
1645# [ cfg ( feature = "full" ) ]
1646pub fn walk_path_simple<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PathSimple) {
1647 _visitor.visit_path(&_i . path);
1648 // Skipped field _i . as_token;
1649 // Skipped field _i . rename;
1650}
1651
1652pub fn walk_poly_trait_ref<V: Visitor + ?Sized>(_visitor: &mut V, _i: &PolyTraitRef) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001653 if let Some(ref it) = _i . bound_lifetimes { _visitor.visit_bound_lifetimes(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001654 _visitor.visit_path(&_i . trait_ref);
1655}
1656
1657pub fn walk_qself<V: Visitor + ?Sized>(_visitor: &mut V, _i: &QSelf) {
1658 // Skipped field _i . lt_token;
1659 _visitor.visit_ty(&_i . ty);
1660 // Skipped field _i . position;
1661 // Skipped field _i . as_token;
1662 // Skipped field _i . gt_token;
1663}
1664# [ cfg ( feature = "full" ) ]
1665pub fn walk_range_limits<V: Visitor + ?Sized>(_visitor: &mut V, _i: &RangeLimits) {
1666 use ::RangeLimits::*;
1667 match *_i {
1668 HalfOpen(ref _binding_0, ) => {
1669 // Skipped field * _binding_0;
1670 }
1671 Closed(ref _binding_0, ) => {
1672 // Skipped field * _binding_0;
1673 }
1674 }
1675}
1676# [ cfg ( feature = "full" ) ]
1677pub fn walk_stmt<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Stmt) {
1678 use ::Stmt::*;
1679 match *_i {
1680 Local(ref _binding_0, ) => {
1681 _visitor.visit_local(&* _binding_0);
1682 }
1683 Item(ref _binding_0, ) => {
1684 _visitor.visit_item(&* _binding_0);
1685 }
1686 Expr(ref _binding_0, ) => {
1687 _visitor.visit_expr(&* _binding_0);
1688 }
1689 Semi(ref _binding_0, ref _binding_1, ) => {
1690 _visitor.visit_expr(&* _binding_0);
1691 // Skipped field * _binding_1;
1692 }
1693 Mac(ref _binding_0, ) => {
1694 // Skipped field * _binding_0;
1695 }
1696 }
1697}
1698
1699pub fn walk_trait_bound_modifier<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitBoundModifier) {
1700 use ::TraitBoundModifier::*;
1701 match *_i {
1702 None => { }
1703 Maybe(ref _binding_0, ) => {
1704 // Skipped field * _binding_0;
1705 }
1706 }
1707}
1708# [ cfg ( feature = "full" ) ]
1709pub fn walk_trait_item<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitItem) {
1710 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1711 _visitor.visit_trait_item_kind(&_i . node);
1712}
1713# [ cfg ( feature = "full" ) ]
1714pub fn walk_trait_item_const<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitItemConst) {
1715 // Skipped field _i . const_token;
1716 // Skipped field _i . ident;
1717 // Skipped field _i . colon_token;
1718 _visitor.visit_ty(&_i . ty);
1719 // Skipped field _i . default;
1720 // Skipped field _i . semi_token;
1721}
1722# [ cfg ( feature = "full" ) ]
1723pub fn walk_trait_item_kind<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitItemKind) {
1724 use ::TraitItemKind::*;
1725 match *_i {
1726 Const(ref _binding_0, ) => {
1727 _visitor.visit_trait_item_const(&* _binding_0);
1728 }
1729 Method(ref _binding_0, ) => {
1730 _visitor.visit_trait_item_method(&* _binding_0);
1731 }
1732 Type(ref _binding_0, ) => {
1733 _visitor.visit_trait_item_type(&* _binding_0);
1734 }
1735 Macro(ref _binding_0, ) => {
1736 _visitor.visit_mac(&* _binding_0);
1737 }
1738 }
1739}
1740# [ cfg ( feature = "full" ) ]
1741pub fn walk_trait_item_method<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitItemMethod) {
1742 _visitor.visit_method_sig(&_i . sig);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001743 if let Some(ref it) = _i . default { _visitor.visit_block(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001744 // Skipped field _i . semi_token;
1745}
1746# [ cfg ( feature = "full" ) ]
1747pub fn walk_trait_item_type<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TraitItemType) {
1748 // Skipped field _i . type_token;
1749 // Skipped field _i . ident;
1750 // Skipped field _i . colon_token;
1751 for el in (_i . bounds).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
1752 // Skipped field _i . default;
1753 // Skipped field _i . semi_token;
1754}
1755
1756pub fn walk_ty<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Ty) {
1757 use ::Ty::*;
1758 match *_i {
1759 Slice(ref _binding_0, ) => {
1760 _visitor.visit_ty_slice(&* _binding_0);
1761 }
1762 Array(ref _binding_0, ) => {
1763 _visitor.visit_ty_array(&* _binding_0);
1764 }
1765 Ptr(ref _binding_0, ) => {
1766 _visitor.visit_ty_ptr(&* _binding_0);
1767 }
1768 Rptr(ref _binding_0, ) => {
1769 _visitor.visit_ty_rptr(&* _binding_0);
1770 }
1771 BareFn(ref _binding_0, ) => {
1772 _visitor.visit_ty_bare_fn(&* _binding_0);
1773 }
1774 Never(ref _binding_0, ) => {
1775 _visitor.visit_ty_never(&* _binding_0);
1776 }
1777 Tup(ref _binding_0, ) => {
1778 _visitor.visit_ty_tup(&* _binding_0);
1779 }
1780 Path(ref _binding_0, ) => {
1781 _visitor.visit_ty_path(&* _binding_0);
1782 }
1783 TraitObject(ref _binding_0, ) => {
1784 _visitor.visit_ty_trait_object(&* _binding_0);
1785 }
1786 ImplTrait(ref _binding_0, ) => {
1787 _visitor.visit_ty_impl_trait(&* _binding_0);
1788 }
1789 Paren(ref _binding_0, ) => {
1790 _visitor.visit_ty_paren(&* _binding_0);
1791 }
1792 Group(ref _binding_0, ) => {
1793 _visitor.visit_ty_group(&* _binding_0);
1794 }
1795 Infer(ref _binding_0, ) => {
1796 _visitor.visit_ty_infer(&* _binding_0);
1797 }
1798 Mac(ref _binding_0, ) => {
1799 _visitor.visit_mac(&* _binding_0);
1800 }
1801 }
1802}
1803
1804pub fn walk_ty_array<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyArray) {
1805 // Skipped field _i . bracket_token;
1806 _visitor.visit_ty(&_i . ty);
1807 // Skipped field _i . semi_token;
1808 _visitor.visit_expr(&_i . amt);
1809}
1810
1811pub fn walk_ty_bare_fn<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyBareFn) {
1812 _visitor.visit_bare_fn_ty(&_i . ty);
1813}
1814
1815pub fn walk_ty_group<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyGroup) {
1816 // Skipped field _i . group_token;
1817 _visitor.visit_ty(&_i . ty);
1818}
1819
1820pub fn walk_ty_impl_trait<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyImplTrait) {
1821 // Skipped field _i . impl_token;
1822 for el in (_i . bounds).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
1823}
1824
1825pub fn walk_ty_infer<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyInfer) {
1826 // Skipped field _i . underscore_token;
1827}
1828
1829pub fn walk_ty_never<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyNever) {
1830 // Skipped field _i . bang_token;
1831}
1832
1833pub fn walk_ty_param<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyParam) {
1834 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1835 // Skipped field _i . ident;
1836 // Skipped field _i . colon_token;
1837 for el in (_i . bounds).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
1838 // Skipped field _i . eq_token;
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001839 if let Some(ref it) = _i . default { _visitor.visit_ty(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001840}
1841
1842pub fn walk_ty_param_bound<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyParamBound) {
1843 use ::TyParamBound::*;
1844 match *_i {
1845 Trait(ref _binding_0, ref _binding_1, ) => {
1846 _visitor.visit_poly_trait_ref(&* _binding_0);
1847 _visitor.visit_trait_bound_modifier(&* _binding_1);
1848 }
1849 Region(ref _binding_0, ) => {
1850 // Skipped field * _binding_0;
1851 }
1852 }
1853}
1854
1855pub fn walk_ty_paren<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyParen) {
1856 // Skipped field _i . paren_token;
1857 _visitor.visit_ty(&_i . ty);
1858}
1859
1860pub fn walk_ty_path<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyPath) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001861 if let Some(ref it) = _i . qself { _visitor.visit_qself(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001862 _visitor.visit_path(&_i . path);
1863}
1864
1865pub fn walk_ty_ptr<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyPtr) {
1866 // Skipped field _i . star_token;
1867 // Skipped field _i . const_token;
1868 _visitor.visit_mut_ty(&_i . ty);
1869}
1870
1871pub fn walk_ty_rptr<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyRptr) {
1872 // Skipped field _i . and_token;
1873 // Skipped field _i . lifetime;
1874 _visitor.visit_mut_ty(&_i . ty);
1875}
1876
1877pub fn walk_ty_slice<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TySlice) {
1878 _visitor.visit_ty(&_i . ty);
1879 // Skipped field _i . bracket_token;
1880}
1881
1882pub fn walk_ty_trait_object<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyTraitObject) {
1883 for el in (_i . bounds).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
1884}
1885
1886pub fn walk_ty_tup<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TyTup) {
1887 // Skipped field _i . paren_token;
1888 for el in (_i . tys).iter() { let it = el.item(); _visitor.visit_ty(&it) };
1889 // Skipped field _i . lone_comma;
1890}
1891
1892pub fn walk_type_binding<V: Visitor + ?Sized>(_visitor: &mut V, _i: &TypeBinding) {
1893 // Skipped field _i . ident;
1894 // Skipped field _i . eq_token;
1895 _visitor.visit_ty(&_i . ty);
1896}
1897
1898pub fn walk_un_op<V: Visitor + ?Sized>(_visitor: &mut V, _i: &UnOp) {
1899 use ::UnOp::*;
1900 match *_i {
1901 Deref(ref _binding_0, ) => {
1902 // Skipped field * _binding_0;
1903 }
1904 Not(ref _binding_0, ) => {
1905 // Skipped field * _binding_0;
1906 }
1907 Neg(ref _binding_0, ) => {
1908 // Skipped field * _binding_0;
1909 }
1910 }
1911}
1912
1913pub fn walk_unsafety<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Unsafety) {
1914 use ::Unsafety::*;
1915 match *_i {
1916 Unsafe(ref _binding_0, ) => {
1917 // Skipped field * _binding_0;
1918 }
1919 Normal => { }
1920 }
1921}
1922
1923pub fn walk_variant<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Variant) {
1924 // Skipped field _i . ident;
1925 for it in (_i . attrs).iter() { _visitor.visit_attribute(&it) };
1926 _visitor.visit_variant_data(&_i . data);
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04001927 if let Some(ref it) = _i . discriminant { _visitor.visit_expr(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04001928 // Skipped field _i . eq_token;
1929}
1930
1931pub fn walk_variant_data<V: Visitor + ?Sized>(_visitor: &mut V, _i: &VariantData) {
1932 use ::VariantData::*;
1933 match *_i {
1934 Struct(ref _binding_0, ref _binding_1, ) => {
1935 for el in (* _binding_0).iter() { let it = el.item(); _visitor.visit_field(&it) };
1936 // Skipped field * _binding_1;
1937 }
1938 Tuple(ref _binding_0, ref _binding_1, ) => {
1939 for el in (* _binding_0).iter() { let it = el.item(); _visitor.visit_field(&it) };
1940 // Skipped field * _binding_1;
1941 }
1942 Unit => { }
1943 }
1944}
1945# [ cfg ( feature = "full" ) ]
1946pub fn walk_view_path<V: Visitor + ?Sized>(_visitor: &mut V, _i: &ViewPath) {
1947 use ::ViewPath::*;
1948 match *_i {
1949 Simple(ref _binding_0, ) => {
1950 _visitor.visit_path_simple(&* _binding_0);
1951 }
1952 Glob(ref _binding_0, ) => {
1953 _visitor.visit_path_glob(&* _binding_0);
1954 }
1955 List(ref _binding_0, ) => {
1956 _visitor.visit_path_list(&* _binding_0);
1957 }
1958 }
1959}
1960
1961pub fn walk_vis_crate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &VisCrate) {
1962 // Skipped field _i . pub_token;
1963 // Skipped field _i . paren_token;
1964 // Skipped field _i . crate_token;
1965}
1966
1967pub fn walk_vis_inherited<V: Visitor + ?Sized>(_visitor: &mut V, _i: &VisInherited) {
1968}
1969
1970pub fn walk_vis_public<V: Visitor + ?Sized>(_visitor: &mut V, _i: &VisPublic) {
1971 // Skipped field _i . pub_token;
1972}
1973
1974pub fn walk_vis_restricted<V: Visitor + ?Sized>(_visitor: &mut V, _i: &VisRestricted) {
1975 // Skipped field _i . pub_token;
1976 // Skipped field _i . paren_token;
1977 // Skipped field _i . in_token;
1978 _visitor.visit_path(&_i . path);
1979}
1980
1981pub fn walk_visibility<V: Visitor + ?Sized>(_visitor: &mut V, _i: &Visibility) {
1982 use ::Visibility::*;
1983 match *_i {
1984 Public(ref _binding_0, ) => {
1985 _visitor.visit_vis_public(&* _binding_0);
1986 }
1987 Crate(ref _binding_0, ) => {
1988 _visitor.visit_vis_crate(&* _binding_0);
1989 }
1990 Restricted(ref _binding_0, ) => {
1991 _visitor.visit_vis_restricted(&* _binding_0);
1992 }
1993 Inherited(ref _binding_0, ) => {
1994 _visitor.visit_vis_inherited(&* _binding_0);
1995 }
1996 }
1997}
1998
1999pub fn walk_where_bound_predicate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &WhereBoundPredicate) {
Nika Layzell4ab8d6e2017-10-26 09:45:49 -04002000 if let Some(ref it) = _i . bound_lifetimes { _visitor.visit_bound_lifetimes(&* it) };
Nika Layzell27726662017-10-24 23:16:35 -04002001 _visitor.visit_ty(&_i . bounded_ty);
2002 // Skipped field _i . colon_token;
2003 for el in (_i . bounds).iter() { let it = el.item(); _visitor.visit_ty_param_bound(&it) };
2004}
2005
2006pub fn walk_where_clause<V: Visitor + ?Sized>(_visitor: &mut V, _i: &WhereClause) {
2007 // Skipped field _i . where_token;
2008 for el in (_i . predicates).iter() { let it = el.item(); _visitor.visit_where_predicate(&it) };
2009}
2010
2011pub fn walk_where_eq_predicate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &WhereEqPredicate) {
2012 _visitor.visit_ty(&_i . lhs_ty);
2013 // Skipped field _i . eq_token;
2014 _visitor.visit_ty(&_i . rhs_ty);
2015}
2016
2017pub fn walk_where_predicate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &WherePredicate) {
2018 use ::WherePredicate::*;
2019 match *_i {
2020 BoundPredicate(ref _binding_0, ) => {
2021 _visitor.visit_where_bound_predicate(&* _binding_0);
2022 }
2023 RegionPredicate(ref _binding_0, ) => {
2024 _visitor.visit_where_region_predicate(&* _binding_0);
2025 }
2026 EqPredicate(ref _binding_0, ) => {
2027 _visitor.visit_where_eq_predicate(&* _binding_0);
2028 }
2029 }
2030}
2031
2032pub fn walk_where_region_predicate<V: Visitor + ?Sized>(_visitor: &mut V, _i: &WhereRegionPredicate) {
2033 // Skipped field _i . lifetime;
2034 // Skipped field _i . colon_token;
2035 // Skipped field _i . bounds;
2036}
2037