blob: a478b64de8c70b2dc650d0e03e9db12493134602 [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
David Tolnayf0d63bf2017-12-26 12:29:47 -05009#![cfg_attr(feature = "cargo-clippy", allow(match_same_arms))]
10
Nika Layzella6f46c42017-10-26 15:26:16 -040011use *;
Nika Layzell27726662017-10-24 23:16:35 -040012
Nika Layzell4ab8d6e2017-10-26 09:45:49 -040013
14#[cfg(feature = "full")]
15macro_rules! full {
16 ($e:expr) => { $e }
17}
18
19#[cfg(not(feature = "full"))]
20macro_rules! full {
21 ($e:expr) => { unreachable!() }
22}
23
24
Nika Layzell27726662017-10-24 23:16:35 -040025/// Each method of the Visitor trait is a hook to be potentially
26/// overridden. Each method's default implementation recursively visits
27/// the substructure of the input via the corresponding `walk` method;
28/// e.g. the `visit_mod` method by default calls `visit::walk_mod`.
29///
30/// If you want to ensure that your code handles every variant
31/// explicitly, you need to override each method. (And you also need
32/// to monitor future changes to `Visitor` in case a new method with a
33/// new default implementation gets introduced.)
Nika Layzellc86173a2017-11-18 13:55:22 -050034pub trait Visitor<'ast> {
Nika Layzell27726662017-10-24 23:16:35 -040035
Nika Layzellc86173a2017-11-18 13:55:22 -050036fn visit_abi(&mut self, i: &'ast Abi) { visit_abi(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040037
Nika Layzellc86173a2017-11-18 13:55:22 -050038fn visit_abi_kind(&mut self, i: &'ast AbiKind) { visit_abi_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040039
Nika Layzellc08227a2017-12-04 16:30:17 -050040fn visit_angle_bracketed_generic_arguments(&mut self, i: &'ast AngleBracketedGenericArguments) { visit_angle_bracketed_generic_arguments(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040041# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050042fn visit_arg_captured(&mut self, i: &'ast ArgCaptured) { visit_arg_captured(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040043# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050044fn visit_arg_self(&mut self, i: &'ast ArgSelf) { visit_arg_self(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040045# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050046fn visit_arg_self_ref(&mut self, i: &'ast ArgSelfRef) { visit_arg_self_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040047# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050048fn visit_arm(&mut self, i: &'ast Arm) { visit_arm(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040049
Nika Layzellc86173a2017-11-18 13:55:22 -050050fn visit_attr_style(&mut self, i: &'ast AttrStyle) { visit_attr_style(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040051
Nika Layzellc86173a2017-11-18 13:55:22 -050052fn visit_attribute(&mut self, i: &'ast Attribute) { visit_attribute(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040053
Nika Layzellc86173a2017-11-18 13:55:22 -050054fn visit_bare_fn_arg(&mut self, i: &'ast BareFnArg) { visit_bare_fn_arg(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040055
Nika Layzellc86173a2017-11-18 13:55:22 -050056fn visit_bare_fn_arg_name(&mut self, i: &'ast BareFnArgName) { visit_bare_fn_arg_name(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040057
Nika Layzellc86173a2017-11-18 13:55:22 -050058fn visit_bare_fn_type(&mut self, i: &'ast BareFnType) { visit_bare_fn_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040059
Nika Layzellc86173a2017-11-18 13:55:22 -050060fn visit_bin_op(&mut self, i: &'ast BinOp) { visit_bin_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040061# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050062fn visit_binding_mode(&mut self, i: &'ast BindingMode) { visit_binding_mode(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040063# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050064fn visit_block(&mut self, i: &'ast Block) { visit_block(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040065
Nika Layzellc86173a2017-11-18 13:55:22 -050066fn visit_body(&mut self, i: &'ast Body) { visit_body(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040067
Nika Layzellc86173a2017-11-18 13:55:22 -050068fn visit_body_enum(&mut self, i: &'ast BodyEnum) { visit_body_enum(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040069
Nika Layzellc86173a2017-11-18 13:55:22 -050070fn visit_body_struct(&mut self, i: &'ast BodyStruct) { visit_body_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040071
Nika Layzellc86173a2017-11-18 13:55:22 -050072fn visit_bound_lifetimes(&mut self, i: &'ast BoundLifetimes) { visit_bound_lifetimes(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040073# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050074fn visit_capture_by(&mut self, i: &'ast CaptureBy) { visit_capture_by(self, i) }
Nika Layzellf1fdc0b2017-12-04 19:58:32 -050075
76fn visit_const_param(&mut self, i: &'ast ConstParam) { visit_const_param(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040077# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050078fn visit_constness(&mut self, i: &'ast Constness) { visit_constness(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040079# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050080fn visit_defaultness(&mut self, i: &'ast Defaultness) { visit_defaultness(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040081
Nika Layzellc86173a2017-11-18 13:55:22 -050082fn visit_derive_input(&mut self, i: &'ast DeriveInput) { visit_derive_input(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040083
Nika Layzellc86173a2017-11-18 13:55:22 -050084fn visit_expr(&mut self, i: &'ast Expr) { visit_expr(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040085# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050086fn visit_expr_addr_of(&mut self, i: &'ast ExprAddrOf) { visit_expr_addr_of(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040087# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050088fn visit_expr_array(&mut self, i: &'ast ExprArray) { visit_expr_array(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040089# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050090fn visit_expr_assign(&mut self, i: &'ast ExprAssign) { visit_expr_assign(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040091# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050092fn visit_expr_assign_op(&mut self, i: &'ast ExprAssignOp) { visit_expr_assign_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040093
Nika Layzellc86173a2017-11-18 13:55:22 -050094fn visit_expr_binary(&mut self, i: &'ast ExprBinary) { visit_expr_binary(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040095# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050096fn visit_expr_block(&mut self, i: &'ast ExprBlock) { visit_expr_block(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040097# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -050098fn visit_expr_box(&mut self, i: &'ast ExprBox) { visit_expr_box(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -040099# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500100fn visit_expr_break(&mut self, i: &'ast ExprBreak) { visit_expr_break(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400101
Nika Layzellc86173a2017-11-18 13:55:22 -0500102fn visit_expr_call(&mut self, i: &'ast ExprCall) { visit_expr_call(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400103
Nika Layzellc86173a2017-11-18 13:55:22 -0500104fn visit_expr_cast(&mut self, i: &'ast ExprCast) { visit_expr_cast(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400105# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500106fn visit_expr_catch(&mut self, i: &'ast ExprCatch) { visit_expr_catch(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400107# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500108fn visit_expr_closure(&mut self, i: &'ast ExprClosure) { visit_expr_closure(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400109# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500110fn visit_expr_continue(&mut self, i: &'ast ExprContinue) { visit_expr_continue(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400111# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500112fn visit_expr_field(&mut self, i: &'ast ExprField) { visit_expr_field(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400113# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500114fn visit_expr_for_loop(&mut self, i: &'ast ExprForLoop) { visit_expr_for_loop(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400115
Nika Layzellc86173a2017-11-18 13:55:22 -0500116fn visit_expr_group(&mut self, i: &'ast ExprGroup) { visit_expr_group(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400117# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500118fn visit_expr_if(&mut self, i: &'ast ExprIf) { visit_expr_if(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400119# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500120fn visit_expr_if_let(&mut self, i: &'ast ExprIfLet) { visit_expr_if_let(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400121# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500122fn visit_expr_in_place(&mut self, i: &'ast ExprInPlace) { visit_expr_in_place(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400123
Nika Layzellc86173a2017-11-18 13:55:22 -0500124fn visit_expr_index(&mut self, i: &'ast ExprIndex) { visit_expr_index(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400125
Nika Layzellc86173a2017-11-18 13:55:22 -0500126fn visit_expr_kind(&mut self, i: &'ast ExprKind) { visit_expr_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400127# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500128fn visit_expr_loop(&mut self, i: &'ast ExprLoop) { visit_expr_loop(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400129# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500130fn visit_expr_match(&mut self, i: &'ast ExprMatch) { visit_expr_match(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400131# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500132fn visit_expr_method_call(&mut self, i: &'ast ExprMethodCall) { visit_expr_method_call(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400133
Nika Layzellc86173a2017-11-18 13:55:22 -0500134fn visit_expr_paren(&mut self, i: &'ast ExprParen) { visit_expr_paren(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400135
Nika Layzellc86173a2017-11-18 13:55:22 -0500136fn visit_expr_path(&mut self, i: &'ast ExprPath) { visit_expr_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400137# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500138fn visit_expr_range(&mut self, i: &'ast ExprRange) { visit_expr_range(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400139# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500140fn visit_expr_repeat(&mut self, i: &'ast ExprRepeat) { visit_expr_repeat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400141# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500142fn visit_expr_ret(&mut self, i: &'ast ExprRet) { visit_expr_ret(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400143# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500144fn visit_expr_struct(&mut self, i: &'ast ExprStruct) { visit_expr_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400145# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500146fn visit_expr_try(&mut self, i: &'ast ExprTry) { visit_expr_try(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400147# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500148fn visit_expr_tup_field(&mut self, i: &'ast ExprTupField) { visit_expr_tup_field(self, i) }
David Tolnay05362582017-12-26 01:33:57 -0500149# [ cfg ( feature = "full" ) ]
150fn visit_expr_tuple(&mut self, i: &'ast ExprTuple) { visit_expr_tuple(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400151
Nika Layzellc86173a2017-11-18 13:55:22 -0500152fn visit_expr_type(&mut self, i: &'ast ExprType) { visit_expr_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400153
Nika Layzellc86173a2017-11-18 13:55:22 -0500154fn visit_expr_unary(&mut self, i: &'ast ExprUnary) { visit_expr_unary(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400155# [ cfg ( feature = "full" ) ]
Nika Layzell640832a2017-12-04 13:37:09 -0500156fn visit_expr_unsafe(&mut self, i: &'ast ExprUnsafe) { visit_expr_unsafe(self, i) }
157# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500158fn visit_expr_while(&mut self, i: &'ast ExprWhile) { visit_expr_while(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400159# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500160fn visit_expr_while_let(&mut self, i: &'ast ExprWhileLet) { visit_expr_while_let(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400161# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500162fn visit_expr_yield(&mut self, i: &'ast ExprYield) { visit_expr_yield(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400163
Nika Layzellc86173a2017-11-18 13:55:22 -0500164fn visit_field(&mut self, i: &'ast Field) { visit_field(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400165# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500166fn visit_field_pat(&mut self, i: &'ast FieldPat) { visit_field_pat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400167# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500168fn visit_field_value(&mut self, i: &'ast FieldValue) { visit_field_value(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400169# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500170fn visit_file(&mut self, i: &'ast File) { visit_file(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400171# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500172fn visit_fn_arg(&mut self, i: &'ast FnArg) { visit_fn_arg(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400173# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500174fn visit_fn_decl(&mut self, i: &'ast FnDecl) { visit_fn_decl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400175# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500176fn visit_foreign_item(&mut self, i: &'ast ForeignItem) { visit_foreign_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400177# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500178fn visit_foreign_item_fn(&mut self, i: &'ast ForeignItemFn) { visit_foreign_item_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400179# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500180fn visit_foreign_item_static(&mut self, i: &'ast ForeignItemStatic) { visit_foreign_item_static(self, i) }
David Tolnay199bcbb2017-11-12 10:33:52 -0800181# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500182fn visit_foreign_item_type(&mut self, i: &'ast ForeignItemType) { visit_foreign_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400183
Nika Layzellc08227a2017-12-04 16:30:17 -0500184fn visit_generic_argument(&mut self, i: &'ast GenericArgument) { visit_generic_argument(self, i) }
Nika Layzell357885a2017-12-04 15:47:07 -0500185
David Tolnayc2f1aba2017-11-12 20:29:22 -0800186fn visit_generic_param(&mut self, i: &'ast GenericParam) { visit_generic_param(self, i) }
187
Nika Layzellc86173a2017-11-18 13:55:22 -0500188fn visit_generics(&mut self, i: &'ast Generics) { visit_generics(self, i) }
Nika Layzellefb83ba2017-12-19 18:23:55 -0500189
190fn visit_ident(&mut self, i: &'ast Ident) { visit_ident(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400191# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500192fn visit_impl_item(&mut self, i: &'ast ImplItem) { visit_impl_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400193# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500194fn visit_impl_item_const(&mut self, i: &'ast ImplItemConst) { visit_impl_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400195# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500196fn visit_impl_item_macro(&mut self, i: &'ast ImplItemMacro) { visit_impl_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400197# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500198fn visit_impl_item_method(&mut self, i: &'ast ImplItemMethod) { visit_impl_item_method(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400199# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500200fn visit_impl_item_type(&mut self, i: &'ast ImplItemType) { visit_impl_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400201# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500202fn visit_impl_polarity(&mut self, i: &'ast ImplPolarity) { visit_impl_polarity(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400203# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500204fn visit_in_place_kind(&mut self, i: &'ast InPlaceKind) { visit_in_place_kind(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400205# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500206fn visit_item(&mut self, i: &'ast Item) { visit_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400207# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500208fn visit_item_const(&mut self, i: &'ast ItemConst) { visit_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400209# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500210fn visit_item_default_impl(&mut self, i: &'ast ItemDefaultImpl) { visit_item_default_impl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400211# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500212fn visit_item_enum(&mut self, i: &'ast ItemEnum) { visit_item_enum(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400213# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500214fn visit_item_extern_crate(&mut self, i: &'ast ItemExternCrate) { visit_item_extern_crate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400215# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500216fn visit_item_fn(&mut self, i: &'ast ItemFn) { visit_item_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400217# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500218fn visit_item_foreign_mod(&mut self, i: &'ast ItemForeignMod) { visit_item_foreign_mod(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400219# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500220fn visit_item_impl(&mut self, i: &'ast ItemImpl) { visit_item_impl(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400221# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500222fn visit_item_macro(&mut self, i: &'ast ItemMacro) { visit_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400223# [ cfg ( feature = "full" ) ]
David Tolnay500d8322017-12-18 00:32:51 -0800224fn visit_item_macro2(&mut self, i: &'ast ItemMacro2) { visit_item_macro2(self, i) }
225# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500226fn visit_item_mod(&mut self, i: &'ast ItemMod) { visit_item_mod(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400227# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500228fn visit_item_static(&mut self, i: &'ast ItemStatic) { visit_item_static(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400229# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500230fn visit_item_struct(&mut self, i: &'ast ItemStruct) { visit_item_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400231# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500232fn visit_item_trait(&mut self, i: &'ast ItemTrait) { visit_item_trait(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400233# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500234fn visit_item_type(&mut self, i: &'ast ItemType) { visit_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400235# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500236fn visit_item_union(&mut self, i: &'ast ItemUnion) { visit_item_union(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400237# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500238fn visit_item_use(&mut self, i: &'ast ItemUse) { visit_item_use(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400239
Nika Layzellc86173a2017-11-18 13:55:22 -0500240fn visit_lifetime_def(&mut self, i: &'ast LifetimeDef) { visit_lifetime_def(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400241# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500242fn visit_local(&mut self, i: &'ast Local) { visit_local(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400243# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500244fn visit_mac_stmt_style(&mut self, i: &'ast MacStmtStyle) { visit_mac_stmt_style(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400245
Nika Layzellc86173a2017-11-18 13:55:22 -0500246fn visit_macro(&mut self, i: &'ast Macro) { visit_macro(self, i) }
David Tolnaydecf28d2017-11-11 11:56:45 -0800247
Nika Layzellc86173a2017-11-18 13:55:22 -0500248fn visit_meta_item(&mut self, i: &'ast MetaItem) { visit_meta_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400249
Nika Layzellc86173a2017-11-18 13:55:22 -0500250fn visit_meta_item_list(&mut self, i: &'ast MetaItemList) { visit_meta_item_list(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400251
Nika Layzellc86173a2017-11-18 13:55:22 -0500252fn visit_meta_name_value(&mut self, i: &'ast MetaNameValue) { visit_meta_name_value(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400253# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500254fn visit_method_sig(&mut self, i: &'ast MethodSig) { visit_method_sig(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400255
Nika Layzellc86173a2017-11-18 13:55:22 -0500256fn visit_mut_type(&mut self, i: &'ast MutType) { visit_mut_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400257
Nika Layzellc86173a2017-11-18 13:55:22 -0500258fn visit_mutability(&mut self, i: &'ast Mutability) { visit_mutability(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400259
Nika Layzellc86173a2017-11-18 13:55:22 -0500260fn visit_nested_meta_item(&mut self, i: &'ast NestedMetaItem) { visit_nested_meta_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400261
Nika Layzellc08227a2017-12-04 16:30:17 -0500262fn visit_parenthesized_generic_arguments(&mut self, i: &'ast ParenthesizedGenericArguments) { visit_parenthesized_generic_arguments(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400263# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500264fn visit_pat(&mut self, i: &'ast Pat) { visit_pat(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400265# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500266fn visit_pat_box(&mut self, i: &'ast PatBox) { visit_pat_box(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400267# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500268fn visit_pat_ident(&mut self, i: &'ast PatIdent) { visit_pat_ident(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400269# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500270fn visit_pat_lit(&mut self, i: &'ast PatLit) { visit_pat_lit(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400271# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500272fn visit_pat_path(&mut self, i: &'ast PatPath) { visit_pat_path(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400273# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500274fn visit_pat_range(&mut self, i: &'ast PatRange) { visit_pat_range(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400275# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500276fn visit_pat_ref(&mut self, i: &'ast PatRef) { visit_pat_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400277# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500278fn visit_pat_slice(&mut self, i: &'ast PatSlice) { visit_pat_slice(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400279# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500280fn visit_pat_struct(&mut self, i: &'ast PatStruct) { visit_pat_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400281# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500282fn visit_pat_tuple(&mut self, i: &'ast PatTuple) { visit_pat_tuple(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400283# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500284fn visit_pat_tuple_struct(&mut self, i: &'ast PatTupleStruct) { visit_pat_tuple_struct(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400285# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500286fn visit_pat_wild(&mut self, i: &'ast PatWild) { visit_pat_wild(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400287
Nika Layzellc86173a2017-11-18 13:55:22 -0500288fn visit_path(&mut self, i: &'ast Path) { visit_path(self, i) }
Nika Layzellc08227a2017-12-04 16:30:17 -0500289
290fn visit_path_arguments(&mut self, i: &'ast PathArguments) { visit_path_arguments(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400291
Nika Layzellc86173a2017-11-18 13:55:22 -0500292fn visit_path_segment(&mut self, i: &'ast PathSegment) { visit_path_segment(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400293
Nika Layzellc86173a2017-11-18 13:55:22 -0500294fn visit_poly_trait_ref(&mut self, i: &'ast PolyTraitRef) { visit_poly_trait_ref(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400295
Nika Layzellc86173a2017-11-18 13:55:22 -0500296fn visit_qself(&mut self, i: &'ast QSelf) { visit_qself(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400297# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500298fn visit_range_limits(&mut self, i: &'ast RangeLimits) { visit_range_limits(self, i) }
David Tolnayf93b90d2017-11-11 19:21:26 -0800299
Nika Layzellc86173a2017-11-18 13:55:22 -0500300fn visit_return_type(&mut self, i: &'ast ReturnType) { visit_return_type(self, i) }
Nika Layzellefb83ba2017-12-19 18:23:55 -0500301
302fn visit_span(&mut self, i: &'ast Span) { visit_span(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400303# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500304fn visit_stmt(&mut self, i: &'ast Stmt) { visit_stmt(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400305
Nika Layzellc86173a2017-11-18 13:55:22 -0500306fn visit_trait_bound_modifier(&mut self, i: &'ast TraitBoundModifier) { visit_trait_bound_modifier(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400307# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500308fn visit_trait_item(&mut self, i: &'ast TraitItem) { visit_trait_item(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400309# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500310fn visit_trait_item_const(&mut self, i: &'ast TraitItemConst) { visit_trait_item_const(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400311# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500312fn visit_trait_item_macro(&mut self, i: &'ast TraitItemMacro) { visit_trait_item_macro(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400313# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500314fn visit_trait_item_method(&mut self, i: &'ast TraitItemMethod) { visit_trait_item_method(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400315# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500316fn visit_trait_item_type(&mut self, i: &'ast TraitItemType) { visit_trait_item_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400317
Nika Layzellc86173a2017-11-18 13:55:22 -0500318fn visit_type(&mut self, i: &'ast Type) { visit_type(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400319
Nika Layzellc86173a2017-11-18 13:55:22 -0500320fn visit_type_array(&mut self, i: &'ast TypeArray) { visit_type_array(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400321
Nika Layzellc86173a2017-11-18 13:55:22 -0500322fn visit_type_bare_fn(&mut self, i: &'ast TypeBareFn) { visit_type_bare_fn(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400323
Nika Layzellc86173a2017-11-18 13:55:22 -0500324fn visit_type_binding(&mut self, i: &'ast TypeBinding) { visit_type_binding(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400325
Nika Layzellc86173a2017-11-18 13:55:22 -0500326fn visit_type_group(&mut self, i: &'ast TypeGroup) { visit_type_group(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800327
Nika Layzellc86173a2017-11-18 13:55:22 -0500328fn visit_type_impl_trait(&mut self, i: &'ast TypeImplTrait) { visit_type_impl_trait(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800329
Nika Layzellc86173a2017-11-18 13:55:22 -0500330fn visit_type_infer(&mut self, i: &'ast TypeInfer) { visit_type_infer(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800331
Nika Layzellc86173a2017-11-18 13:55:22 -0500332fn visit_type_never(&mut self, i: &'ast TypeNever) { visit_type_never(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800333
Nika Layzellc86173a2017-11-18 13:55:22 -0500334fn visit_type_param(&mut self, i: &'ast TypeParam) { visit_type_param(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800335
Nika Layzellc86173a2017-11-18 13:55:22 -0500336fn visit_type_param_bound(&mut self, i: &'ast TypeParamBound) { visit_type_param_bound(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800337
Nika Layzellc86173a2017-11-18 13:55:22 -0500338fn visit_type_paren(&mut self, i: &'ast TypeParen) { visit_type_paren(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800339
Nika Layzellc86173a2017-11-18 13:55:22 -0500340fn visit_type_path(&mut self, i: &'ast TypePath) { visit_type_path(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800341
Nika Layzellc86173a2017-11-18 13:55:22 -0500342fn visit_type_ptr(&mut self, i: &'ast TypePtr) { visit_type_ptr(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800343
Nika Layzellc86173a2017-11-18 13:55:22 -0500344fn visit_type_reference(&mut self, i: &'ast TypeReference) { visit_type_reference(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800345
Nika Layzellc86173a2017-11-18 13:55:22 -0500346fn visit_type_slice(&mut self, i: &'ast TypeSlice) { visit_type_slice(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800347
Nika Layzellc86173a2017-11-18 13:55:22 -0500348fn visit_type_trait_object(&mut self, i: &'ast TypeTraitObject) { visit_type_trait_object(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800349
David Tolnay05362582017-12-26 01:33:57 -0500350fn visit_type_tuple(&mut self, i: &'ast TypeTuple) { visit_type_tuple(self, i) }
David Tolnayfd6bf5c2017-11-12 09:41:14 -0800351
Nika Layzellc86173a2017-11-18 13:55:22 -0500352fn visit_un_op(&mut self, i: &'ast UnOp) { visit_un_op(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400353
Nika Layzellc86173a2017-11-18 13:55:22 -0500354fn visit_unsafety(&mut self, i: &'ast Unsafety) { visit_unsafety(self, i) }
David Tolnay5f332a92017-12-26 00:42:45 -0500355# [ cfg ( feature = "full" ) ]
356fn visit_use_glob(&mut self, i: &'ast UseGlob) { visit_use_glob(self, i) }
357# [ cfg ( feature = "full" ) ]
358fn visit_use_list(&mut self, i: &'ast UseList) { visit_use_list(self, i) }
359# [ cfg ( feature = "full" ) ]
360fn visit_use_path(&mut self, i: &'ast UsePath) { visit_use_path(self, i) }
361# [ cfg ( feature = "full" ) ]
362fn visit_use_tree(&mut self, i: &'ast UseTree) { visit_use_tree(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400363
Nika Layzellc86173a2017-11-18 13:55:22 -0500364fn visit_variant(&mut self, i: &'ast Variant) { visit_variant(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400365
Nika Layzellc86173a2017-11-18 13:55:22 -0500366fn visit_variant_data(&mut self, i: &'ast VariantData) { visit_variant_data(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400367
Nika Layzellc86173a2017-11-18 13:55:22 -0500368fn visit_vis_crate(&mut self, i: &'ast VisCrate) { visit_vis_crate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400369
Nika Layzellc86173a2017-11-18 13:55:22 -0500370fn visit_vis_inherited(&mut self, i: &'ast VisInherited) { visit_vis_inherited(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400371
Nika Layzellc86173a2017-11-18 13:55:22 -0500372fn visit_vis_public(&mut self, i: &'ast VisPublic) { visit_vis_public(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400373
Nika Layzellc86173a2017-11-18 13:55:22 -0500374fn visit_vis_restricted(&mut self, i: &'ast VisRestricted) { visit_vis_restricted(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400375
Nika Layzellc86173a2017-11-18 13:55:22 -0500376fn visit_visibility(&mut self, i: &'ast Visibility) { visit_visibility(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400377
Nika Layzellc86173a2017-11-18 13:55:22 -0500378fn visit_where_bound_predicate(&mut self, i: &'ast WhereBoundPredicate) { visit_where_bound_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400379
Nika Layzellc86173a2017-11-18 13:55:22 -0500380fn visit_where_clause(&mut self, i: &'ast WhereClause) { visit_where_clause(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400381
Nika Layzellc86173a2017-11-18 13:55:22 -0500382fn visit_where_eq_predicate(&mut self, i: &'ast WhereEqPredicate) { visit_where_eq_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400383
Nika Layzellc86173a2017-11-18 13:55:22 -0500384fn visit_where_predicate(&mut self, i: &'ast WherePredicate) { visit_where_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400385
Nika Layzellc86173a2017-11-18 13:55:22 -0500386fn visit_where_region_predicate(&mut self, i: &'ast WhereRegionPredicate) { visit_where_region_predicate(self, i) }
Nika Layzell27726662017-10-24 23:16:35 -0400387
388}
389
390
Nika Layzellc86173a2017-11-18 13:55:22 -0500391pub fn visit_abi<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Abi) {
Nika Layzell27726662017-10-24 23:16:35 -0400392 // Skipped field _i . extern_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500393 _visitor.visit_abi_kind(& _i . kind);
Nika Layzell27726662017-10-24 23:16:35 -0400394}
395
Nika Layzellc86173a2017-11-18 13:55:22 -0500396pub fn visit_abi_kind<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast AbiKind) {
Nika Layzell27726662017-10-24 23:16:35 -0400397 use ::AbiKind::*;
398 match *_i {
399 Named(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500400 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400401 }
402 Default => { }
403 }
404}
405
Nika Layzellc08227a2017-12-04 16:30:17 -0500406pub fn visit_angle_bracketed_generic_arguments<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast AngleBracketedGenericArguments) {
Nika Layzell27726662017-10-24 23:16:35 -0400407 // Skipped field _i . turbofish;
408 // Skipped field _i . lt_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500409 for el in & _i . args { let it = el.item(); _visitor.visit_generic_argument(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400410 // Skipped field _i . gt_token;
411}
412# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500413pub fn visit_arg_captured<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgCaptured) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500414 _visitor.visit_pat(& _i . pat);
Nika Layzell27726662017-10-24 23:16:35 -0400415 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500416 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -0400417}
418# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500419pub fn visit_arg_self<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgSelf) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500420 _visitor.visit_mutability(& _i . mutbl);
Nika Layzell27726662017-10-24 23:16:35 -0400421 // Skipped field _i . self_token;
422}
423# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500424pub fn visit_arg_self_ref<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ArgSelfRef) {
Nika Layzell27726662017-10-24 23:16:35 -0400425 // Skipped field _i . and_token;
426 // Skipped field _i . self_token;
427 // Skipped field _i . lifetime;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500428 _visitor.visit_mutability(& _i . mutbl);
Nika Layzell27726662017-10-24 23:16:35 -0400429}
430# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500431pub fn visit_arm<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Arm) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500432 for it in & _i . attrs { _visitor.visit_attribute(it) };
433 for el in & _i . pats { let it = el.item(); _visitor.visit_pat(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400434 // Skipped field _i . if_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500435 if let Some(ref it) = _i . guard { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400436 // Skipped field _i . rocket_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500437 _visitor.visit_expr(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -0400438 // Skipped field _i . comma;
439}
440
Nika Layzellc86173a2017-11-18 13:55:22 -0500441pub fn visit_attr_style<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast AttrStyle) {
Nika Layzell27726662017-10-24 23:16:35 -0400442 use ::AttrStyle::*;
443 match *_i {
444 Outer => { }
445 Inner(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500446 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400447 }
448 }
449}
450
Nika Layzellc86173a2017-11-18 13:55:22 -0500451pub fn visit_attribute<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Attribute) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500452 _visitor.visit_attr_style(& _i . style);
Nika Layzell27726662017-10-24 23:16:35 -0400453 // Skipped field _i . pound_token;
454 // Skipped field _i . bracket_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500455 _visitor.visit_path(& _i . path);
Nika Layzell27726662017-10-24 23:16:35 -0400456 // Skipped field _i . tts;
457 // Skipped field _i . is_sugared_doc;
458}
459
Nika Layzellc86173a2017-11-18 13:55:22 -0500460pub fn visit_bare_fn_arg<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BareFnArg) {
Nika Layzell27726662017-10-24 23:16:35 -0400461 // Skipped field _i . name;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500462 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -0400463}
464
Nika Layzellc86173a2017-11-18 13:55:22 -0500465pub fn visit_bare_fn_arg_name<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BareFnArgName) {
Nika Layzell27726662017-10-24 23:16:35 -0400466 use ::BareFnArgName::*;
467 match *_i {
468 Named(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500469 _visitor.visit_ident(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400470 }
471 Wild(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500472 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400473 }
474 }
475}
476
Nika Layzellc86173a2017-11-18 13:55:22 -0500477pub fn visit_bare_fn_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BareFnType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500478 if let Some(ref it) = _i . lifetimes { _visitor.visit_bound_lifetimes(it) };
479 _visitor.visit_unsafety(& _i . unsafety);
480 if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400481 // Skipped field _i . fn_token;
482 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500483 for el in & _i . inputs { let it = el.item(); _visitor.visit_bare_fn_arg(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400484 // Skipped field _i . variadic;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500485 _visitor.visit_return_type(& _i . output);
Nika Layzell27726662017-10-24 23:16:35 -0400486}
487
Nika Layzellc86173a2017-11-18 13:55:22 -0500488pub fn visit_bin_op<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BinOp) {
Nika Layzell27726662017-10-24 23:16:35 -0400489 use ::BinOp::*;
490 match *_i {
491 Add(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500492 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400493 }
494 Sub(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500495 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400496 }
497 Mul(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500498 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400499 }
500 Div(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500501 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400502 }
503 Rem(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500504 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400505 }
506 And(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500507 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400508 }
509 Or(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500510 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400511 }
512 BitXor(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500513 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400514 }
515 BitAnd(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500516 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400517 }
518 BitOr(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500519 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400520 }
521 Shl(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500522 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400523 }
524 Shr(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500525 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400526 }
527 Eq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500528 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400529 }
530 Lt(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500531 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400532 }
533 Le(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500534 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400535 }
536 Ne(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500537 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400538 }
539 Ge(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500540 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400541 }
542 Gt(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500543 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400544 }
545 AddEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500546 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400547 }
548 SubEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500549 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400550 }
551 MulEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500552 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400553 }
554 DivEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500555 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400556 }
557 RemEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500558 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400559 }
560 BitXorEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500561 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400562 }
563 BitAndEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500564 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400565 }
566 BitOrEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500567 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400568 }
569 ShlEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500570 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400571 }
572 ShrEq(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500573 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400574 }
575 }
576}
577# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500578pub fn visit_binding_mode<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BindingMode) {
Nika Layzell27726662017-10-24 23:16:35 -0400579 use ::BindingMode::*;
580 match *_i {
581 ByRef(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500582 // Skipped field _binding_0;
583 _visitor.visit_mutability(_binding_1);
Nika Layzell27726662017-10-24 23:16:35 -0400584 }
585 ByValue(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500586 _visitor.visit_mutability(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400587 }
588 }
589}
590# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500591pub fn visit_block<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Block) {
Nika Layzell27726662017-10-24 23:16:35 -0400592 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500593 for it in & _i . stmts { _visitor.visit_stmt(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400594}
595
Nika Layzellc86173a2017-11-18 13:55:22 -0500596pub fn visit_body<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Body) {
Nika Layzell27726662017-10-24 23:16:35 -0400597 use ::Body::*;
598 match *_i {
599 Enum(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500600 _visitor.visit_body_enum(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400601 }
602 Struct(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500603 _visitor.visit_body_struct(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400604 }
605 }
606}
607
Nika Layzellc86173a2017-11-18 13:55:22 -0500608pub fn visit_body_enum<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BodyEnum) {
Nika Layzell27726662017-10-24 23:16:35 -0400609 // Skipped field _i . enum_token;
610 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500611 for el in & _i . variants { let it = el.item(); _visitor.visit_variant(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400612}
613
Nika Layzellc86173a2017-11-18 13:55:22 -0500614pub fn visit_body_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BodyStruct) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500615 _visitor.visit_variant_data(& _i . data);
Nika Layzell27726662017-10-24 23:16:35 -0400616 // Skipped field _i . struct_token;
617 // Skipped field _i . semi_token;
618}
619
Nika Layzellc86173a2017-11-18 13:55:22 -0500620pub fn visit_bound_lifetimes<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast BoundLifetimes) {
Nika Layzell27726662017-10-24 23:16:35 -0400621 // Skipped field _i . for_token;
622 // Skipped field _i . lt_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500623 for el in & _i . lifetimes { let it = el.item(); _visitor.visit_lifetime_def(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400624 // Skipped field _i . gt_token;
625}
626# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500627pub fn visit_capture_by<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast CaptureBy) {
Nika Layzell27726662017-10-24 23:16:35 -0400628 use ::CaptureBy::*;
629 match *_i {
630 Value(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500631 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400632 }
633 Ref => { }
634 }
635}
Nika Layzellf1fdc0b2017-12-04 19:58:32 -0500636
637pub fn visit_const_param<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ConstParam) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500638 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzellf1fdc0b2017-12-04 19:58:32 -0500639 // Skipped field _i . const_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500640 _visitor.visit_ident(& _i . ident);
Nika Layzellf1fdc0b2017-12-04 19:58:32 -0500641 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500642 _visitor.visit_type(& _i . ty);
Nika Layzellf1fdc0b2017-12-04 19:58:32 -0500643 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500644 if let Some(ref it) = _i . default { _visitor.visit_expr(it) };
Nika Layzellf1fdc0b2017-12-04 19:58:32 -0500645}
Nika Layzell27726662017-10-24 23:16:35 -0400646# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500647pub fn visit_constness<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Constness) {
Nika Layzell27726662017-10-24 23:16:35 -0400648 use ::Constness::*;
649 match *_i {
650 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500651 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400652 }
653 NotConst => { }
654 }
655}
656# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500657pub fn visit_defaultness<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Defaultness) {
Nika Layzell27726662017-10-24 23:16:35 -0400658 use ::Defaultness::*;
659 match *_i {
660 Default(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500661 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400662 }
663 Final => { }
664 }
665}
666
Nika Layzellc86173a2017-11-18 13:55:22 -0500667pub fn visit_derive_input<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast DeriveInput) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500668 _visitor.visit_ident(& _i . ident);
669 _visitor.visit_visibility(& _i . vis);
670 for it in & _i . attrs { _visitor.visit_attribute(it) };
671 _visitor.visit_generics(& _i . generics);
672 _visitor.visit_body(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -0400673}
674
Nika Layzellc86173a2017-11-18 13:55:22 -0500675pub fn visit_expr<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Expr) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500676 _visitor.visit_expr_kind(& _i . node);
677 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400678}
679# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500680pub fn visit_expr_addr_of<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprAddrOf) {
Nika Layzell27726662017-10-24 23:16:35 -0400681 // Skipped field _i . and_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500682 _visitor.visit_mutability(& _i . mutbl);
683 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400684}
685# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500686pub fn visit_expr_array<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprArray) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500687 for el in & _i . exprs { let it = el.item(); _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400688 // Skipped field _i . bracket_token;
689}
690# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500691pub fn visit_expr_assign<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprAssign) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500692 _visitor.visit_expr(& _i . left);
693 _visitor.visit_expr(& _i . right);
Nika Layzell27726662017-10-24 23:16:35 -0400694 // Skipped field _i . eq_token;
695}
696# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500697pub fn visit_expr_assign_op<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprAssignOp) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500698 _visitor.visit_bin_op(& _i . op);
699 _visitor.visit_expr(& _i . left);
700 _visitor.visit_expr(& _i . right);
Nika Layzell27726662017-10-24 23:16:35 -0400701}
702
Nika Layzellc86173a2017-11-18 13:55:22 -0500703pub fn visit_expr_binary<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBinary) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500704 _visitor.visit_bin_op(& _i . op);
705 _visitor.visit_expr(& _i . left);
706 _visitor.visit_expr(& _i . right);
Nika Layzell27726662017-10-24 23:16:35 -0400707}
708# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500709pub fn visit_expr_block<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBlock) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500710 _visitor.visit_block(& _i . block);
Nika Layzell27726662017-10-24 23:16:35 -0400711}
712# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500713pub fn visit_expr_box<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBox) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500714 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400715 // Skipped field _i . box_token;
716}
717# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500718pub fn visit_expr_break<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprBreak) {
Nika Layzell27726662017-10-24 23:16:35 -0400719 // Skipped field _i . label;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500720 if let Some(ref it) = _i . expr { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400721 // Skipped field _i . break_token;
722}
723
Nika Layzellc86173a2017-11-18 13:55:22 -0500724pub fn visit_expr_call<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCall) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500725 _visitor.visit_expr(& _i . func);
726 for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400727 // Skipped field _i . paren_token;
728}
729
Nika Layzellc86173a2017-11-18 13:55:22 -0500730pub fn visit_expr_cast<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCast) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500731 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400732 // Skipped field _i . as_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500733 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -0400734}
735# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500736pub fn visit_expr_catch<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprCatch) {
Nika Layzell27726662017-10-24 23:16:35 -0400737 // Skipped field _i . do_token;
738 // Skipped field _i . catch_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500739 _visitor.visit_block(& _i . block);
Nika Layzell27726662017-10-24 23:16:35 -0400740}
741# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500742pub fn visit_expr_closure<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprClosure) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500743 _visitor.visit_capture_by(& _i . capture);
744 _visitor.visit_fn_decl(& _i . decl);
745 _visitor.visit_expr(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -0400746 // Skipped field _i . or1_token;
747 // Skipped field _i . or2_token;
748}
749# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500750pub fn visit_expr_continue<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprContinue) {
Nika Layzell27726662017-10-24 23:16:35 -0400751 // Skipped field _i . label;
752 // Skipped field _i . continue_token;
753}
754# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500755pub fn visit_expr_field<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprField) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500756 _visitor.visit_expr(& _i . expr);
757 _visitor.visit_ident(& _i . field);
Nika Layzell27726662017-10-24 23:16:35 -0400758 // Skipped field _i . dot_token;
759}
760# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500761pub fn visit_expr_for_loop<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprForLoop) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500762 _visitor.visit_pat(& _i . pat);
763 _visitor.visit_expr(& _i . expr);
764 _visitor.visit_block(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -0400765 // Skipped field _i . label;
766 // Skipped field _i . for_token;
767 // Skipped field _i . colon_token;
768 // Skipped field _i . in_token;
769}
770
Nika Layzellc86173a2017-11-18 13:55:22 -0500771pub fn visit_expr_group<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprGroup) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500772 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400773 // Skipped field _i . group_token;
774}
775# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500776pub fn visit_expr_if<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIf) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500777 _visitor.visit_expr(& _i . cond);
778 _visitor.visit_block(& _i . if_true);
779 if let Some(ref it) = _i . if_false { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400780 // Skipped field _i . if_token;
781 // Skipped field _i . else_token;
782}
783# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500784pub fn visit_expr_if_let<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIfLet) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500785 _visitor.visit_pat(& _i . pat);
786 _visitor.visit_expr(& _i . expr);
787 _visitor.visit_block(& _i . if_true);
788 if let Some(ref it) = _i . if_false { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400789 // Skipped field _i . if_token;
790 // Skipped field _i . let_token;
791 // Skipped field _i . eq_token;
792 // Skipped field _i . else_token;
793}
794# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500795pub fn visit_expr_in_place<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprInPlace) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500796 _visitor.visit_expr(& _i . place);
797 _visitor.visit_in_place_kind(& _i . kind);
798 _visitor.visit_expr(& _i . value);
Nika Layzell27726662017-10-24 23:16:35 -0400799}
800
Nika Layzellc86173a2017-11-18 13:55:22 -0500801pub fn visit_expr_index<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprIndex) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500802 _visitor.visit_expr(& _i . expr);
803 _visitor.visit_expr(& _i . index);
Nika Layzell27726662017-10-24 23:16:35 -0400804 // Skipped field _i . bracket_token;
805}
806
Nika Layzellc86173a2017-11-18 13:55:22 -0500807pub fn visit_expr_kind<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprKind) {
Nika Layzell27726662017-10-24 23:16:35 -0400808 use ::ExprKind::*;
809 match *_i {
810 Box(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500811 full!(_visitor.visit_expr_box(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400812 }
813 InPlace(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500814 full!(_visitor.visit_expr_in_place(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400815 }
816 Array(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500817 full!(_visitor.visit_expr_array(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400818 }
819 Call(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500820 _visitor.visit_expr_call(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400821 }
822 MethodCall(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500823 full!(_visitor.visit_expr_method_call(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400824 }
David Tolnay05362582017-12-26 01:33:57 -0500825 Tuple(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500826 full!(_visitor.visit_expr_tuple(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400827 }
828 Binary(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500829 _visitor.visit_expr_binary(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400830 }
831 Unary(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500832 _visitor.visit_expr_unary(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400833 }
834 Lit(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500835 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -0400836 }
837 Cast(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500838 _visitor.visit_expr_cast(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400839 }
840 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500841 _visitor.visit_expr_type(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400842 }
843 If(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500844 full!(_visitor.visit_expr_if(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400845 }
846 IfLet(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500847 full!(_visitor.visit_expr_if_let(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400848 }
849 While(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500850 full!(_visitor.visit_expr_while(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400851 }
852 WhileLet(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500853 full!(_visitor.visit_expr_while_let(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400854 }
855 ForLoop(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500856 full!(_visitor.visit_expr_for_loop(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400857 }
858 Loop(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500859 full!(_visitor.visit_expr_loop(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400860 }
861 Match(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500862 full!(_visitor.visit_expr_match(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400863 }
864 Closure(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500865 full!(_visitor.visit_expr_closure(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400866 }
Nika Layzell640832a2017-12-04 13:37:09 -0500867 Unsafe(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500868 full!(_visitor.visit_expr_unsafe(_binding_0));
Nika Layzell640832a2017-12-04 13:37:09 -0500869 }
Nika Layzell27726662017-10-24 23:16:35 -0400870 Block(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500871 full!(_visitor.visit_expr_block(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400872 }
873 Assign(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500874 full!(_visitor.visit_expr_assign(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400875 }
876 AssignOp(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500877 full!(_visitor.visit_expr_assign_op(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400878 }
879 Field(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500880 full!(_visitor.visit_expr_field(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400881 }
882 TupField(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500883 full!(_visitor.visit_expr_tup_field(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400884 }
885 Index(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500886 _visitor.visit_expr_index(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400887 }
888 Range(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500889 full!(_visitor.visit_expr_range(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400890 }
891 Path(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500892 _visitor.visit_expr_path(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400893 }
894 AddrOf(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500895 full!(_visitor.visit_expr_addr_of(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400896 }
897 Break(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500898 full!(_visitor.visit_expr_break(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400899 }
900 Continue(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500901 full!(_visitor.visit_expr_continue(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400902 }
903 Ret(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500904 full!(_visitor.visit_expr_ret(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400905 }
David Tolnaydecf28d2017-11-11 11:56:45 -0800906 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500907 _visitor.visit_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400908 }
909 Struct(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500910 full!(_visitor.visit_expr_struct(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400911 }
912 Repeat(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500913 full!(_visitor.visit_expr_repeat(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400914 }
915 Paren(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500916 _visitor.visit_expr_paren(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400917 }
918 Group(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500919 _visitor.visit_expr_group(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -0400920 }
921 Try(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500922 full!(_visitor.visit_expr_try(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400923 }
924 Catch(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500925 full!(_visitor.visit_expr_catch(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400926 }
927 Yield(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500928 full!(_visitor.visit_expr_yield(_binding_0));
Nika Layzell27726662017-10-24 23:16:35 -0400929 }
930 }
931}
932# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500933pub fn visit_expr_loop<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprLoop) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500934 _visitor.visit_block(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -0400935 // Skipped field _i . label;
936 // Skipped field _i . loop_token;
937 // Skipped field _i . colon_token;
938}
939# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500940pub fn visit_expr_match<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprMatch) {
Nika Layzell27726662017-10-24 23:16:35 -0400941 // Skipped field _i . match_token;
942 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500943 _visitor.visit_expr(& _i . expr);
944 for it in & _i . arms { _visitor.visit_arm(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400945}
946# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500947pub fn visit_expr_method_call<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprMethodCall) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500948 _visitor.visit_expr(& _i . expr);
949 _visitor.visit_ident(& _i . method);
950 for el in & _i . typarams { let it = el.item(); _visitor.visit_type(it) };
951 for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400952 // Skipped field _i . paren_token;
953 // Skipped field _i . dot_token;
954 // Skipped field _i . lt_token;
955 // Skipped field _i . colon2_token;
956 // Skipped field _i . gt_token;
957}
958
Nika Layzellc86173a2017-11-18 13:55:22 -0500959pub fn visit_expr_paren<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprParen) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500960 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400961 // Skipped field _i . paren_token;
962}
963
Nika Layzellc86173a2017-11-18 13:55:22 -0500964pub fn visit_expr_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprPath) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500965 if let Some(ref it) = _i . qself { _visitor.visit_qself(it) };
966 _visitor.visit_path(& _i . path);
Nika Layzell27726662017-10-24 23:16:35 -0400967}
968# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500969pub fn visit_expr_range<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprRange) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500970 if let Some(ref it) = _i . from { _visitor.visit_expr(it) };
971 if let Some(ref it) = _i . to { _visitor.visit_expr(it) };
972 _visitor.visit_range_limits(& _i . limits);
Nika Layzell27726662017-10-24 23:16:35 -0400973}
974# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500975pub fn visit_expr_repeat<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprRepeat) {
Nika Layzell27726662017-10-24 23:16:35 -0400976 // Skipped field _i . bracket_token;
977 // Skipped field _i . semi_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -0500978 _visitor.visit_expr(& _i . expr);
979 _visitor.visit_expr(& _i . amt);
Nika Layzell27726662017-10-24 23:16:35 -0400980}
981# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500982pub fn visit_expr_ret<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprRet) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500983 if let Some(ref it) = _i . expr { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400984 // Skipped field _i . return_token;
985}
986# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500987pub fn visit_expr_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprStruct) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500988 _visitor.visit_path(& _i . path);
989 for el in & _i . fields { let it = el.item(); _visitor.visit_field_value(it) };
990 if let Some(ref it) = _i . rest { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -0400991 // Skipped field _i . dot2_token;
992 // Skipped field _i . brace_token;
993}
994# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -0500995pub fn visit_expr_try<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTry) {
David Tolnayf0d63bf2017-12-26 12:29:47 -0500996 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -0400997 // Skipped field _i . question_token;
998}
999# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001000pub fn visit_expr_tup_field<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTupField) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001001 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001002 // Skipped field _i . field;
1003 // Skipped field _i . dot_token;
1004}
David Tolnay05362582017-12-26 01:33:57 -05001005# [ cfg ( feature = "full" ) ]
1006pub fn visit_expr_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprTuple) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001007 for el in & _i . args { let it = el.item(); _visitor.visit_expr(it) };
David Tolnay05362582017-12-26 01:33:57 -05001008 // Skipped field _i . paren_token;
1009 // Skipped field _i . lone_comma;
1010}
Nika Layzell27726662017-10-24 23:16:35 -04001011
Nika Layzellc86173a2017-11-18 13:55:22 -05001012pub fn visit_expr_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001013 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001014 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001015 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001016}
1017
Nika Layzellc86173a2017-11-18 13:55:22 -05001018pub fn visit_expr_unary<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprUnary) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001019 _visitor.visit_un_op(& _i . op);
1020 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001021}
1022# [ cfg ( feature = "full" ) ]
Nika Layzell640832a2017-12-04 13:37:09 -05001023pub fn visit_expr_unsafe<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprUnsafe) {
1024 // Skipped field _i . unsafe_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001025 _visitor.visit_block(& _i . block);
Nika Layzell640832a2017-12-04 13:37:09 -05001026}
1027# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001028pub fn visit_expr_while<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprWhile) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001029 _visitor.visit_expr(& _i . cond);
1030 _visitor.visit_block(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -04001031 // Skipped field _i . label;
1032 // Skipped field _i . colon_token;
1033 // Skipped field _i . while_token;
1034}
1035# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001036pub fn visit_expr_while_let<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprWhileLet) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001037 _visitor.visit_pat(& _i . pat);
1038 _visitor.visit_expr(& _i . expr);
1039 _visitor.visit_block(& _i . body);
Nika Layzell27726662017-10-24 23:16:35 -04001040 // Skipped field _i . label;
1041 // Skipped field _i . colon_token;
1042 // Skipped field _i . while_token;
1043 // Skipped field _i . let_token;
1044 // Skipped field _i . eq_token;
1045}
1046# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001047pub fn visit_expr_yield<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ExprYield) {
Nika Layzell27726662017-10-24 23:16:35 -04001048 // Skipped field _i . yield_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001049 if let Some(ref it) = _i . expr { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001050}
1051
Nika Layzellc86173a2017-11-18 13:55:22 -05001052pub fn visit_field<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Field) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001053 if let Some(ref it) = _i . ident { _visitor.visit_ident(it) };
1054 _visitor.visit_visibility(& _i . vis);
1055 for it in & _i . attrs { _visitor.visit_attribute(it) };
1056 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001057 // Skipped field _i . colon_token;
1058}
1059# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001060pub fn visit_field_pat<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldPat) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001061 _visitor.visit_ident(& _i . ident);
1062 _visitor.visit_pat(& _i . pat);
Nika Layzell27726662017-10-24 23:16:35 -04001063 // Skipped field _i . is_shorthand;
1064 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001065 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001066}
1067# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001068pub fn visit_field_value<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FieldValue) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001069 _visitor.visit_ident(& _i . ident);
1070 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001071 // Skipped field _i . is_shorthand;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001072 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001073 // Skipped field _i . colon_token;
1074}
1075# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001076pub fn visit_file<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast File) {
Nika Layzell27726662017-10-24 23:16:35 -04001077 // Skipped field _i . shebang;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001078 for it in & _i . attrs { _visitor.visit_attribute(it) };
1079 for it in & _i . items { _visitor.visit_item(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001080}
1081# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001082pub fn visit_fn_arg<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FnArg) {
Nika Layzell27726662017-10-24 23:16:35 -04001083 use ::FnArg::*;
1084 match *_i {
1085 SelfRef(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001086 _visitor.visit_arg_self_ref(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001087 }
1088 SelfValue(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001089 _visitor.visit_arg_self(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001090 }
1091 Captured(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001092 _visitor.visit_arg_captured(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001093 }
1094 Ignored(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001095 _visitor.visit_type(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001096 }
1097 }
1098}
1099# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001100pub fn visit_fn_decl<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast FnDecl) {
Nika Layzell27726662017-10-24 23:16:35 -04001101 // Skipped field _i . fn_token;
1102 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001103 for el in & _i . inputs { let it = el.item(); _visitor.visit_fn_arg(it) };
1104 _visitor.visit_return_type(& _i . output);
1105 _visitor.visit_generics(& _i . generics);
Nika Layzell27726662017-10-24 23:16:35 -04001106 // Skipped field _i . variadic;
1107 // Skipped field _i . dot_tokens;
1108}
1109# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001110pub fn visit_foreign_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItem) {
David Tolnay8894f602017-11-11 12:11:04 -08001111 use ::ForeignItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04001112 match *_i {
1113 Fn(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001114 _visitor.visit_foreign_item_fn(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001115 }
1116 Static(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001117 _visitor.visit_foreign_item_static(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001118 }
David Tolnay199bcbb2017-11-12 10:33:52 -08001119 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001120 _visitor.visit_foreign_item_type(_binding_0);
David Tolnay199bcbb2017-11-12 10:33:52 -08001121 }
Nika Layzell27726662017-10-24 23:16:35 -04001122 }
1123}
1124# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001125pub fn visit_foreign_item_fn<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemFn) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001126 for it in & _i . attrs { _visitor.visit_attribute(it) };
1127 _visitor.visit_visibility(& _i . vis);
1128 _visitor.visit_ident(& _i . ident);
1129 _visitor.visit_fn_decl(& _i . decl);
David Tolnay8894f602017-11-11 12:11:04 -08001130 // Skipped field _i . semi_token;
1131}
1132# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001133pub fn visit_foreign_item_static<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemStatic) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001134 for it in & _i . attrs { _visitor.visit_attribute(it) };
1135 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001136 // Skipped field _i . static_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001137 _visitor.visit_mutability(& _i . mutbl);
1138 _visitor.visit_ident(& _i . ident);
David Tolnay8894f602017-11-11 12:11:04 -08001139 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001140 _visitor.visit_type(& _i . ty);
David Tolnay8894f602017-11-11 12:11:04 -08001141 // Skipped field _i . semi_token;
Nika Layzell27726662017-10-24 23:16:35 -04001142}
David Tolnay199bcbb2017-11-12 10:33:52 -08001143# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001144pub fn visit_foreign_item_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ForeignItemType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001145 for it in & _i . attrs { _visitor.visit_attribute(it) };
1146 _visitor.visit_visibility(& _i . vis);
David Tolnay199bcbb2017-11-12 10:33:52 -08001147 // Skipped field _i . type_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001148 _visitor.visit_ident(& _i . ident);
David Tolnay199bcbb2017-11-12 10:33:52 -08001149 // Skipped field _i . semi_token;
1150}
Nika Layzell27726662017-10-24 23:16:35 -04001151
Nika Layzellc08227a2017-12-04 16:30:17 -05001152pub fn visit_generic_argument<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast GenericArgument) {
1153 use ::GenericArgument::*;
Nika Layzell357885a2017-12-04 15:47:07 -05001154 match *_i {
1155 Lifetime(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001156 // Skipped field _binding_0;
Nika Layzell357885a2017-12-04 15:47:07 -05001157 }
1158 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001159 _visitor.visit_type(_binding_0);
Nika Layzell357885a2017-12-04 15:47:07 -05001160 }
1161 TypeBinding(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001162 _visitor.visit_type_binding(_binding_0);
Nika Layzell357885a2017-12-04 15:47:07 -05001163 }
Nika Layzellc680e612017-12-04 19:07:20 -05001164 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001165 _visitor.visit_expr(_binding_0);
Nika Layzellc680e612017-12-04 19:07:20 -05001166 }
Nika Layzell357885a2017-12-04 15:47:07 -05001167 }
1168}
1169
David Tolnayc2f1aba2017-11-12 20:29:22 -08001170pub fn visit_generic_param<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast GenericParam) {
1171 use ::GenericParam::*;
1172 match *_i {
1173 Lifetime(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001174 _visitor.visit_lifetime_def(_binding_0);
David Tolnayc2f1aba2017-11-12 20:29:22 -08001175 }
1176 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001177 _visitor.visit_type_param(_binding_0);
David Tolnayc2f1aba2017-11-12 20:29:22 -08001178 }
Nika Layzellf1fdc0b2017-12-04 19:58:32 -05001179 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001180 _visitor.visit_const_param(_binding_0);
Nika Layzellf1fdc0b2017-12-04 19:58:32 -05001181 }
David Tolnayc2f1aba2017-11-12 20:29:22 -08001182 }
1183}
1184
Nika Layzellc86173a2017-11-18 13:55:22 -05001185pub fn visit_generics<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Generics) {
Nika Layzell27726662017-10-24 23:16:35 -04001186 // Skipped field _i . lt_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001187 for el in & _i . params { let it = el.item(); _visitor.visit_generic_param(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001188 // Skipped field _i . gt_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001189 _visitor.visit_where_clause(& _i . where_clause);
Nika Layzell27726662017-10-24 23:16:35 -04001190}
Nika Layzellefb83ba2017-12-19 18:23:55 -05001191
1192pub fn visit_ident<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Ident) {
1193}
Nika Layzell27726662017-10-24 23:16:35 -04001194# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001195pub fn visit_impl_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItem) {
David Tolnay857628c2017-11-11 12:25:31 -08001196 use ::ImplItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04001197 match *_i {
1198 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001199 _visitor.visit_impl_item_const(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001200 }
1201 Method(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001202 _visitor.visit_impl_item_method(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001203 }
1204 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001205 _visitor.visit_impl_item_type(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001206 }
1207 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001208 _visitor.visit_impl_item_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001209 }
1210 }
1211}
1212# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001213pub fn visit_impl_item_const<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemConst) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001214 for it in & _i . attrs { _visitor.visit_attribute(it) };
1215 _visitor.visit_visibility(& _i . vis);
1216 _visitor.visit_defaultness(& _i . defaultness);
David Tolnay857628c2017-11-11 12:25:31 -08001217 // Skipped field _i . const_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001218 _visitor.visit_ident(& _i . ident);
David Tolnay857628c2017-11-11 12:25:31 -08001219 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001220 _visitor.visit_type(& _i . ty);
David Tolnay857628c2017-11-11 12:25:31 -08001221 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001222 _visitor.visit_expr(& _i . expr);
David Tolnay857628c2017-11-11 12:25:31 -08001223 // Skipped field _i . semi_token;
1224}
1225# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001226pub fn visit_impl_item_macro<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemMacro) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001227 for it in & _i . attrs { _visitor.visit_attribute(it) };
1228 _visitor.visit_macro(& _i . mac);
David Tolnay857628c2017-11-11 12:25:31 -08001229}
1230# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001231pub fn visit_impl_item_method<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemMethod) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001232 for it in & _i . attrs { _visitor.visit_attribute(it) };
1233 _visitor.visit_visibility(& _i . vis);
1234 _visitor.visit_defaultness(& _i . defaultness);
1235 _visitor.visit_method_sig(& _i . sig);
1236 _visitor.visit_block(& _i . block);
Nika Layzell27726662017-10-24 23:16:35 -04001237}
1238# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001239pub fn visit_impl_item_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplItemType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001240 for it in & _i . attrs { _visitor.visit_attribute(it) };
1241 _visitor.visit_visibility(& _i . vis);
1242 _visitor.visit_defaultness(& _i . defaultness);
Nika Layzell27726662017-10-24 23:16:35 -04001243 // Skipped field _i . type_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001244 _visitor.visit_ident(& _i . ident);
1245 _visitor.visit_generics(& _i . generics);
Nika Layzell27726662017-10-24 23:16:35 -04001246 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001247 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001248 // Skipped field _i . semi_token;
1249}
1250# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001251pub fn visit_impl_polarity<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ImplPolarity) {
Nika Layzell27726662017-10-24 23:16:35 -04001252 use ::ImplPolarity::*;
1253 match *_i {
1254 Positive => { }
1255 Negative(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001256 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001257 }
1258 }
1259}
1260# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001261pub fn visit_in_place_kind<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast InPlaceKind) {
Nika Layzell27726662017-10-24 23:16:35 -04001262 use ::InPlaceKind::*;
1263 match *_i {
1264 Arrow(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001265 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001266 }
1267 In(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001268 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001269 }
1270 }
1271}
1272# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001273pub fn visit_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Item) {
David Tolnayc6b55bc2017-11-09 22:48:38 -08001274 use ::Item::*;
Nika Layzell27726662017-10-24 23:16:35 -04001275 match *_i {
1276 ExternCrate(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001277 _visitor.visit_item_extern_crate(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001278 }
1279 Use(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001280 _visitor.visit_item_use(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001281 }
1282 Static(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001283 _visitor.visit_item_static(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001284 }
1285 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001286 _visitor.visit_item_const(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001287 }
1288 Fn(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001289 _visitor.visit_item_fn(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001290 }
1291 Mod(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001292 _visitor.visit_item_mod(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001293 }
1294 ForeignMod(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001295 _visitor.visit_item_foreign_mod(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001296 }
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001297 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001298 _visitor.visit_item_type(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001299 }
1300 Enum(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001301 _visitor.visit_item_enum(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001302 }
1303 Struct(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001304 _visitor.visit_item_struct(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001305 }
1306 Union(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001307 _visitor.visit_item_union(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001308 }
1309 Trait(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001310 _visitor.visit_item_trait(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001311 }
1312 DefaultImpl(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001313 _visitor.visit_item_default_impl(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001314 }
1315 Impl(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001316 _visitor.visit_item_impl(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001317 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001318 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001319 _visitor.visit_item_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001320 }
David Tolnay500d8322017-12-18 00:32:51 -08001321 Macro2(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001322 _visitor.visit_item_macro2(_binding_0);
David Tolnay500d8322017-12-18 00:32:51 -08001323 }
Nika Layzell27726662017-10-24 23:16:35 -04001324 }
1325}
1326# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001327pub fn visit_item_const<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemConst) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001328 for it in & _i . attrs { _visitor.visit_attribute(it) };
1329 _visitor.visit_visibility(& _i . vis);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001330 // Skipped field _i . const_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001331 _visitor.visit_ident(& _i . ident);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001332 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001333 _visitor.visit_type(& _i . ty);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001334 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001335 _visitor.visit_expr(& _i . expr);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001336 // Skipped field _i . semi_token;
1337}
1338# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001339pub fn visit_item_default_impl<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemDefaultImpl) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001340 for it in & _i . attrs { _visitor.visit_attribute(it) };
1341 _visitor.visit_unsafety(& _i . unsafety);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001342 // Skipped field _i . impl_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001343 _visitor.visit_path(& _i . path);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001344 // Skipped field _i . for_token;
1345 // Skipped field _i . dot2_token;
1346 // Skipped field _i . brace_token;
1347}
1348# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001349pub fn visit_item_enum<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemEnum) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001350 for it in & _i . attrs { _visitor.visit_attribute(it) };
1351 _visitor.visit_visibility(& _i . vis);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001352 // Skipped field _i . enum_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001353 _visitor.visit_ident(& _i . ident);
1354 _visitor.visit_generics(& _i . generics);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001355 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001356 for el in & _i . variants { let it = el.item(); _visitor.visit_variant(it) };
David Tolnayc6b55bc2017-11-09 22:48:38 -08001357}
1358# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001359pub fn visit_item_extern_crate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemExternCrate) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001360 for it in & _i . attrs { _visitor.visit_attribute(it) };
1361 _visitor.visit_visibility(& _i . vis);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001362 // Skipped field _i . extern_token;
1363 // Skipped field _i . crate_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001364 _visitor.visit_ident(& _i . ident);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001365 // Skipped field _i . rename;
1366 // Skipped field _i . semi_token;
1367}
1368# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001369pub fn visit_item_fn<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemFn) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001370 for it in & _i . attrs { _visitor.visit_attribute(it) };
1371 _visitor.visit_visibility(& _i . vis);
1372 _visitor.visit_constness(& _i . constness);
1373 _visitor.visit_unsafety(& _i . unsafety);
1374 if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
1375 _visitor.visit_fn_decl(& _i . decl);
1376 _visitor.visit_ident(& _i . ident);
1377 _visitor.visit_block(& _i . block);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001378}
1379# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001380pub fn visit_item_foreign_mod<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemForeignMod) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001381 for it in & _i . attrs { _visitor.visit_attribute(it) };
1382 _visitor.visit_abi(& _i . abi);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001383 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001384 for it in & _i . items { _visitor.visit_foreign_item(it) };
David Tolnayc6b55bc2017-11-09 22:48:38 -08001385}
1386# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001387pub fn visit_item_impl<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemImpl) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001388 for it in & _i . attrs { _visitor.visit_attribute(it) };
1389 _visitor.visit_defaultness(& _i . defaultness);
1390 _visitor.visit_unsafety(& _i . unsafety);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001391 // Skipped field _i . impl_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001392 _visitor.visit_generics(& _i . generics);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001393 // Skipped field _i . trait_;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001394 _visitor.visit_type(& _i . self_ty);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001395 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001396 for it in & _i . items { _visitor.visit_impl_item(it) };
David Tolnayc6b55bc2017-11-09 22:48:38 -08001397}
1398# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001399pub fn visit_item_macro<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMacro) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001400 for it in & _i . attrs { _visitor.visit_attribute(it) };
1401 if let Some(ref it) = _i . ident { _visitor.visit_ident(it) };
1402 _visitor.visit_macro(& _i . mac);
David Tolnayc6b55bc2017-11-09 22:48:38 -08001403}
1404# [ cfg ( feature = "full" ) ]
David Tolnay500d8322017-12-18 00:32:51 -08001405pub fn visit_item_macro2<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMacro2) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001406 for it in & _i . attrs { _visitor.visit_attribute(it) };
1407 _visitor.visit_visibility(& _i . vis);
David Tolnay500d8322017-12-18 00:32:51 -08001408 // Skipped field _i . macro_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001409 _visitor.visit_ident(& _i . ident);
David Tolnay500d8322017-12-18 00:32:51 -08001410 // Skipped field _i . args;
1411 // Skipped field _i . body;
1412}
1413# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001414pub fn visit_item_mod<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemMod) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001415 for it in & _i . attrs { _visitor.visit_attribute(it) };
1416 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001417 // Skipped field _i . mod_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001418 _visitor.visit_ident(& _i . ident);
Nika Layzell27726662017-10-24 23:16:35 -04001419 // Skipped field _i . content;
1420 // Skipped field _i . semi;
1421}
1422# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001423pub fn visit_item_static<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemStatic) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001424 for it in & _i . attrs { _visitor.visit_attribute(it) };
1425 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001426 // Skipped field _i . static_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001427 _visitor.visit_mutability(& _i . mutbl);
1428 _visitor.visit_ident(& _i . ident);
Nika Layzell27726662017-10-24 23:16:35 -04001429 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001430 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001431 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001432 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001433 // Skipped field _i . semi_token;
1434}
1435# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001436pub fn visit_item_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemStruct) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001437 for it in & _i . attrs { _visitor.visit_attribute(it) };
1438 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001439 // Skipped field _i . struct_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001440 _visitor.visit_ident(& _i . ident);
1441 _visitor.visit_generics(& _i . generics);
1442 _visitor.visit_variant_data(& _i . data);
Nika Layzell27726662017-10-24 23:16:35 -04001443 // Skipped field _i . semi_token;
1444}
1445# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001446pub fn visit_item_trait<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemTrait) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001447 for it in & _i . attrs { _visitor.visit_attribute(it) };
1448 _visitor.visit_visibility(& _i . vis);
1449 _visitor.visit_unsafety(& _i . unsafety);
Nika Layzell0dc6e632017-11-18 12:55:25 -05001450 // Skipped field _i . auto_token;
Nika Layzell27726662017-10-24 23:16:35 -04001451 // Skipped field _i . trait_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001452 _visitor.visit_ident(& _i . ident);
1453 _visitor.visit_generics(& _i . generics);
Nika Layzell27726662017-10-24 23:16:35 -04001454 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001455 for el in & _i . supertraits { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001456 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001457 for it in & _i . items { _visitor.visit_trait_item(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001458}
1459# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001460pub fn visit_item_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001461 for it in & _i . attrs { _visitor.visit_attribute(it) };
1462 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001463 // Skipped field _i . type_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001464 _visitor.visit_ident(& _i . ident);
1465 _visitor.visit_generics(& _i . generics);
Nika Layzell27726662017-10-24 23:16:35 -04001466 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001467 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001468 // Skipped field _i . semi_token;
1469}
1470# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001471pub fn visit_item_union<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemUnion) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001472 for it in & _i . attrs { _visitor.visit_attribute(it) };
1473 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001474 // Skipped field _i . union_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001475 _visitor.visit_ident(& _i . ident);
1476 _visitor.visit_generics(& _i . generics);
1477 _visitor.visit_variant_data(& _i . data);
Nika Layzell27726662017-10-24 23:16:35 -04001478}
1479# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001480pub fn visit_item_use<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ItemUse) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001481 for it in & _i . attrs { _visitor.visit_attribute(it) };
1482 _visitor.visit_visibility(& _i . vis);
Nika Layzell27726662017-10-24 23:16:35 -04001483 // Skipped field _i . use_token;
David Tolnay5f332a92017-12-26 00:42:45 -05001484 // Skipped field _i . leading_colon;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001485 for el in & _i . prefix { let it = el.item(); _visitor.visit_ident(it) };
1486 _visitor.visit_use_tree(& _i . tree);
Nika Layzell27726662017-10-24 23:16:35 -04001487 // Skipped field _i . semi_token;
1488}
1489
Nika Layzellc86173a2017-11-18 13:55:22 -05001490pub fn visit_lifetime_def<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast LifetimeDef) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001491 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001492 // Skipped field _i . lifetime;
1493 // Skipped field _i . colon_token;
1494 // Skipped field _i . bounds;
1495}
1496# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001497pub fn visit_local<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Local) {
Nika Layzell27726662017-10-24 23:16:35 -04001498 // Skipped field _i . let_token;
1499 // Skipped field _i . colon_token;
1500 // Skipped field _i . eq_token;
1501 // Skipped field _i . semi_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001502 _visitor.visit_pat(& _i . pat);
1503 if let Some(ref it) = _i . ty { _visitor.visit_type(it) };
1504 if let Some(ref it) = _i . init { _visitor.visit_expr(it) };
1505 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001506}
Nika Layzell27726662017-10-24 23:16:35 -04001507# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001508pub fn visit_mac_stmt_style<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MacStmtStyle) {
Nika Layzell27726662017-10-24 23:16:35 -04001509 use ::MacStmtStyle::*;
1510 match *_i {
1511 Semicolon(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001512 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001513 }
1514 Braces => { }
1515 NoBraces => { }
1516 }
1517}
1518
Nika Layzellc86173a2017-11-18 13:55:22 -05001519pub fn visit_macro<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Macro) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001520 _visitor.visit_path(& _i . path);
David Tolnaydecf28d2017-11-11 11:56:45 -08001521 // Skipped field _i . bang_token;
David Tolnaydecf28d2017-11-11 11:56:45 -08001522 // Skipped field _i . tokens;
1523}
1524
Nika Layzellc86173a2017-11-18 13:55:22 -05001525pub fn visit_meta_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaItem) {
Nika Layzell27726662017-10-24 23:16:35 -04001526 use ::MetaItem::*;
1527 match *_i {
1528 Term(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001529 _visitor.visit_ident(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001530 }
1531 List(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001532 _visitor.visit_meta_item_list(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001533 }
1534 NameValue(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001535 _visitor.visit_meta_name_value(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001536 }
1537 }
1538}
1539
Nika Layzellc86173a2017-11-18 13:55:22 -05001540pub fn visit_meta_item_list<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaItemList) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001541 _visitor.visit_ident(& _i . ident);
Nika Layzell27726662017-10-24 23:16:35 -04001542 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001543 for el in & _i . nested { let it = el.item(); _visitor.visit_nested_meta_item(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001544}
1545
Nika Layzellc86173a2017-11-18 13:55:22 -05001546pub fn visit_meta_name_value<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MetaNameValue) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001547 _visitor.visit_ident(& _i . ident);
Nika Layzell27726662017-10-24 23:16:35 -04001548 // Skipped field _i . eq_token;
1549 // Skipped field _i . lit;
1550}
1551# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001552pub fn visit_method_sig<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MethodSig) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001553 _visitor.visit_constness(& _i . constness);
1554 _visitor.visit_unsafety(& _i . unsafety);
1555 if let Some(ref it) = _i . abi { _visitor.visit_abi(it) };
1556 _visitor.visit_ident(& _i . ident);
1557 _visitor.visit_fn_decl(& _i . decl);
Nika Layzell27726662017-10-24 23:16:35 -04001558}
1559
Nika Layzellc86173a2017-11-18 13:55:22 -05001560pub fn visit_mut_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast MutType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001561 _visitor.visit_type(& _i . ty);
1562 _visitor.visit_mutability(& _i . mutability);
Nika Layzell27726662017-10-24 23:16:35 -04001563}
1564
Nika Layzellc86173a2017-11-18 13:55:22 -05001565pub fn visit_mutability<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Mutability) {
Nika Layzell27726662017-10-24 23:16:35 -04001566 use ::Mutability::*;
1567 match *_i {
1568 Mutable(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001569 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001570 }
1571 Immutable => { }
1572 }
1573}
1574
Nika Layzellc86173a2017-11-18 13:55:22 -05001575pub fn visit_nested_meta_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast NestedMetaItem) {
Nika Layzell27726662017-10-24 23:16:35 -04001576 use ::NestedMetaItem::*;
1577 match *_i {
1578 MetaItem(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001579 _visitor.visit_meta_item(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001580 }
1581 Literal(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001582 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001583 }
1584 }
1585}
1586
Nika Layzellc08227a2017-12-04 16:30:17 -05001587pub fn visit_parenthesized_generic_arguments<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ParenthesizedGenericArguments) {
Nika Layzell27726662017-10-24 23:16:35 -04001588 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001589 for el in & _i . inputs { let it = el.item(); _visitor.visit_type(it) };
1590 _visitor.visit_return_type(& _i . output);
Nika Layzell27726662017-10-24 23:16:35 -04001591}
1592# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001593pub fn visit_pat<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Pat) {
Nika Layzell27726662017-10-24 23:16:35 -04001594 use ::Pat::*;
1595 match *_i {
1596 Wild(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001597 _visitor.visit_pat_wild(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001598 }
1599 Ident(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001600 _visitor.visit_pat_ident(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001601 }
1602 Struct(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001603 _visitor.visit_pat_struct(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001604 }
1605 TupleStruct(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001606 _visitor.visit_pat_tuple_struct(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001607 }
1608 Path(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001609 _visitor.visit_pat_path(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001610 }
1611 Tuple(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001612 _visitor.visit_pat_tuple(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001613 }
1614 Box(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001615 _visitor.visit_pat_box(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001616 }
1617 Ref(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001618 _visitor.visit_pat_ref(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001619 }
1620 Lit(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001621 _visitor.visit_pat_lit(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001622 }
1623 Range(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001624 _visitor.visit_pat_range(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001625 }
1626 Slice(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001627 _visitor.visit_pat_slice(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001628 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001629 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001630 _visitor.visit_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001631 }
1632 }
1633}
1634# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001635pub fn visit_pat_box<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatBox) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001636 _visitor.visit_pat(& _i . pat);
Nika Layzell27726662017-10-24 23:16:35 -04001637 // Skipped field _i . box_token;
1638}
1639# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001640pub fn visit_pat_ident<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatIdent) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001641 _visitor.visit_binding_mode(& _i . mode);
1642 _visitor.visit_ident(& _i . ident);
1643 if let Some(ref it) = _i . subpat { _visitor.visit_pat(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001644 // Skipped field _i . at_token;
1645}
1646# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001647pub fn visit_pat_lit<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatLit) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001648 _visitor.visit_expr(& _i . expr);
Nika Layzell27726662017-10-24 23:16:35 -04001649}
1650# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001651pub fn visit_pat_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatPath) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001652 if let Some(ref it) = _i . qself { _visitor.visit_qself(it) };
1653 _visitor.visit_path(& _i . path);
Nika Layzell27726662017-10-24 23:16:35 -04001654}
1655# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001656pub fn visit_pat_range<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatRange) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001657 _visitor.visit_expr(& _i . lo);
1658 _visitor.visit_expr(& _i . hi);
1659 _visitor.visit_range_limits(& _i . limits);
Nika Layzell27726662017-10-24 23:16:35 -04001660}
1661# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001662pub fn visit_pat_ref<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatRef) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001663 _visitor.visit_pat(& _i . pat);
1664 _visitor.visit_mutability(& _i . mutbl);
Nika Layzell27726662017-10-24 23:16:35 -04001665 // Skipped field _i . and_token;
1666}
1667# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001668pub fn visit_pat_slice<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatSlice) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001669 for el in & _i . front { let it = el.item(); _visitor.visit_pat(it) };
1670 if let Some(ref it) = _i . middle { _visitor.visit_pat(it) };
1671 for el in & _i . back { let it = el.item(); _visitor.visit_pat(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001672 // Skipped field _i . dot2_token;
1673 // Skipped field _i . comma_token;
1674 // Skipped field _i . bracket_token;
1675}
1676# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001677pub fn visit_pat_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatStruct) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001678 _visitor.visit_path(& _i . path);
1679 for el in & _i . fields { let it = el.item(); _visitor.visit_field_pat(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001680 // Skipped field _i . brace_token;
1681 // Skipped field _i . dot2_token;
1682}
1683# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001684pub fn visit_pat_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatTuple) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001685 for el in & _i . pats { let it = el.item(); _visitor.visit_pat(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001686 // Skipped field _i . dots_pos;
1687 // Skipped field _i . paren_token;
1688 // Skipped field _i . dot2_token;
1689 // Skipped field _i . comma_token;
1690}
1691# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001692pub fn visit_pat_tuple_struct<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatTupleStruct) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001693 _visitor.visit_path(& _i . path);
1694 _visitor.visit_pat_tuple(& _i . pat);
Nika Layzell27726662017-10-24 23:16:35 -04001695}
1696# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001697pub fn visit_pat_wild<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PatWild) {
Nika Layzell27726662017-10-24 23:16:35 -04001698 // Skipped field _i . underscore_token;
1699}
1700
Nika Layzellc86173a2017-11-18 13:55:22 -05001701pub fn visit_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Path) {
Nika Layzell27726662017-10-24 23:16:35 -04001702 // Skipped field _i . leading_colon;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001703 for el in & _i . segments { let it = el.item(); _visitor.visit_path_segment(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001704}
Nika Layzellc08227a2017-12-04 16:30:17 -05001705
1706pub fn visit_path_arguments<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PathArguments) {
1707 use ::PathArguments::*;
1708 match *_i {
1709 None => { }
1710 AngleBracketed(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001711 _visitor.visit_angle_bracketed_generic_arguments(_binding_0);
Nika Layzellc08227a2017-12-04 16:30:17 -05001712 }
1713 Parenthesized(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001714 _visitor.visit_parenthesized_generic_arguments(_binding_0);
Nika Layzellc08227a2017-12-04 16:30:17 -05001715 }
1716 }
1717}
Nika Layzell27726662017-10-24 23:16:35 -04001718
Nika Layzellc86173a2017-11-18 13:55:22 -05001719pub fn visit_path_segment<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PathSegment) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001720 _visitor.visit_ident(& _i . ident);
1721 _visitor.visit_path_arguments(& _i . arguments);
Nika Layzell27726662017-10-24 23:16:35 -04001722}
Nika Layzell27726662017-10-24 23:16:35 -04001723
Nika Layzellc86173a2017-11-18 13:55:22 -05001724pub fn visit_poly_trait_ref<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast PolyTraitRef) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001725 if let Some(ref it) = _i . bound_lifetimes { _visitor.visit_bound_lifetimes(it) };
1726 _visitor.visit_path(& _i . trait_ref);
Nika Layzell27726662017-10-24 23:16:35 -04001727}
1728
Nika Layzellc86173a2017-11-18 13:55:22 -05001729pub fn visit_qself<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast QSelf) {
Nika Layzell27726662017-10-24 23:16:35 -04001730 // Skipped field _i . lt_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001731 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001732 // Skipped field _i . position;
1733 // Skipped field _i . as_token;
1734 // Skipped field _i . gt_token;
1735}
1736# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001737pub fn visit_range_limits<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast RangeLimits) {
Nika Layzell27726662017-10-24 23:16:35 -04001738 use ::RangeLimits::*;
1739 match *_i {
1740 HalfOpen(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001741 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001742 }
1743 Closed(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001744 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001745 }
1746 }
1747}
David Tolnayf93b90d2017-11-11 19:21:26 -08001748
Nika Layzellc86173a2017-11-18 13:55:22 -05001749pub fn visit_return_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast ReturnType) {
David Tolnayf93b90d2017-11-11 19:21:26 -08001750 use ::ReturnType::*;
1751 match *_i {
1752 Default => { }
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001753 Type(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001754 _visitor.visit_type(_binding_0);
1755 // Skipped field _binding_1;
David Tolnayf93b90d2017-11-11 19:21:26 -08001756 }
1757 }
1758}
Nika Layzellefb83ba2017-12-19 18:23:55 -05001759
1760pub fn visit_span<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Span) {
1761}
Nika Layzell27726662017-10-24 23:16:35 -04001762# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001763pub fn visit_stmt<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Stmt) {
Nika Layzell27726662017-10-24 23:16:35 -04001764 use ::Stmt::*;
1765 match *_i {
1766 Local(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001767 _visitor.visit_local(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001768 }
1769 Item(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001770 _visitor.visit_item(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001771 }
1772 Expr(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001773 _visitor.visit_expr(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001774 }
1775 Semi(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001776 _visitor.visit_expr(_binding_0);
1777 // Skipped field _binding_1;
Nika Layzell27726662017-10-24 23:16:35 -04001778 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001779 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001780 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001781 }
1782 }
1783}
1784
Nika Layzellc86173a2017-11-18 13:55:22 -05001785pub fn visit_trait_bound_modifier<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitBoundModifier) {
Nika Layzell27726662017-10-24 23:16:35 -04001786 use ::TraitBoundModifier::*;
1787 match *_i {
1788 None => { }
1789 Maybe(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001790 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001791 }
1792 }
1793}
1794# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001795pub fn visit_trait_item<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItem) {
David Tolnayda705bd2017-11-10 21:58:05 -08001796 use ::TraitItem::*;
Nika Layzell27726662017-10-24 23:16:35 -04001797 match *_i {
1798 Const(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001799 _visitor.visit_trait_item_const(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001800 }
1801 Method(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001802 _visitor.visit_trait_item_method(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001803 }
1804 Type(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001805 _visitor.visit_trait_item_type(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001806 }
1807 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001808 _visitor.visit_trait_item_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001809 }
1810 }
1811}
1812# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001813pub fn visit_trait_item_const<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemConst) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001814 for it in & _i . attrs { _visitor.visit_attribute(it) };
David Tolnayda705bd2017-11-10 21:58:05 -08001815 // Skipped field _i . const_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001816 _visitor.visit_ident(& _i . ident);
David Tolnayda705bd2017-11-10 21:58:05 -08001817 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001818 _visitor.visit_type(& _i . ty);
David Tolnayda705bd2017-11-10 21:58:05 -08001819 // Skipped field _i . default;
1820 // Skipped field _i . semi_token;
1821}
1822# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001823pub fn visit_trait_item_macro<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemMacro) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001824 for it in & _i . attrs { _visitor.visit_attribute(it) };
1825 _visitor.visit_macro(& _i . mac);
David Tolnayda705bd2017-11-10 21:58:05 -08001826}
1827# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001828pub fn visit_trait_item_method<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemMethod) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001829 for it in & _i . attrs { _visitor.visit_attribute(it) };
1830 _visitor.visit_method_sig(& _i . sig);
1831 if let Some(ref it) = _i . default { _visitor.visit_block(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001832 // Skipped field _i . semi_token;
1833}
1834# [ cfg ( feature = "full" ) ]
Nika Layzellc86173a2017-11-18 13:55:22 -05001835pub fn visit_trait_item_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TraitItemType) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001836 for it in & _i . attrs { _visitor.visit_attribute(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001837 // Skipped field _i . type_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001838 _visitor.visit_ident(& _i . ident);
1839 _visitor.visit_generics(& _i . generics);
Nika Layzell27726662017-10-24 23:16:35 -04001840 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001841 for el in & _i . bounds { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001842 // Skipped field _i . default;
1843 // Skipped field _i . semi_token;
1844}
1845
Nika Layzellc86173a2017-11-18 13:55:22 -05001846pub fn visit_type<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Type) {
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001847 use ::Type::*;
Nika Layzell27726662017-10-24 23:16:35 -04001848 match *_i {
1849 Slice(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001850 _visitor.visit_type_slice(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001851 }
1852 Array(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001853 _visitor.visit_type_array(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001854 }
1855 Ptr(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001856 _visitor.visit_type_ptr(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001857 }
David Tolnay0a89b4d2017-11-13 00:55:45 -08001858 Reference(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001859 _visitor.visit_type_reference(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001860 }
1861 BareFn(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001862 _visitor.visit_type_bare_fn(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001863 }
1864 Never(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001865 _visitor.visit_type_never(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001866 }
David Tolnay05362582017-12-26 01:33:57 -05001867 Tuple(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001868 _visitor.visit_type_tuple(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001869 }
1870 Path(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001871 _visitor.visit_type_path(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001872 }
1873 TraitObject(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001874 _visitor.visit_type_trait_object(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001875 }
1876 ImplTrait(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001877 _visitor.visit_type_impl_trait(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001878 }
1879 Paren(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001880 _visitor.visit_type_paren(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001881 }
1882 Group(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001883 _visitor.visit_type_group(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001884 }
1885 Infer(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001886 _visitor.visit_type_infer(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001887 }
David Tolnaydecf28d2017-11-11 11:56:45 -08001888 Macro(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001889 _visitor.visit_macro(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04001890 }
1891 }
1892}
1893
Nika Layzellc86173a2017-11-18 13:55:22 -05001894pub fn visit_type_array<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeArray) {
Nika Layzell27726662017-10-24 23:16:35 -04001895 // Skipped field _i . bracket_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001896 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001897 // Skipped field _i . semi_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001898 _visitor.visit_expr(& _i . amt);
Nika Layzell27726662017-10-24 23:16:35 -04001899}
1900
Nika Layzellc86173a2017-11-18 13:55:22 -05001901pub fn visit_type_bare_fn<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeBareFn) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001902 _visitor.visit_bare_fn_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001903}
1904
Nika Layzellc86173a2017-11-18 13:55:22 -05001905pub fn visit_type_binding<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeBinding) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001906 _visitor.visit_ident(& _i . ident);
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001907 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001908 _visitor.visit_type(& _i . ty);
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001909}
1910
Nika Layzellc86173a2017-11-18 13:55:22 -05001911pub fn visit_type_group<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeGroup) {
Nika Layzell27726662017-10-24 23:16:35 -04001912 // Skipped field _i . group_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001913 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001914}
1915
Nika Layzellc86173a2017-11-18 13:55:22 -05001916pub fn visit_type_impl_trait<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeImplTrait) {
Nika Layzell27726662017-10-24 23:16:35 -04001917 // Skipped field _i . impl_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001918 for el in & _i . bounds { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001919}
1920
Nika Layzellc86173a2017-11-18 13:55:22 -05001921pub fn visit_type_infer<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeInfer) {
Nika Layzell27726662017-10-24 23:16:35 -04001922 // Skipped field _i . underscore_token;
1923}
1924
Nika Layzellc86173a2017-11-18 13:55:22 -05001925pub fn visit_type_never<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeNever) {
Nika Layzell27726662017-10-24 23:16:35 -04001926 // Skipped field _i . bang_token;
1927}
1928
Nika Layzellc86173a2017-11-18 13:55:22 -05001929pub fn visit_type_param<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParam) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001930 for it in & _i . attrs { _visitor.visit_attribute(it) };
1931 _visitor.visit_ident(& _i . ident);
Nika Layzell27726662017-10-24 23:16:35 -04001932 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001933 for el in & _i . bounds { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001934 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001935 if let Some(ref it) = _i . default { _visitor.visit_type(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001936}
1937
Nika Layzellc86173a2017-11-18 13:55:22 -05001938pub fn visit_type_param_bound<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParamBound) {
David Tolnayfd6bf5c2017-11-12 09:41:14 -08001939 use ::TypeParamBound::*;
Nika Layzell27726662017-10-24 23:16:35 -04001940 match *_i {
1941 Trait(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001942 _visitor.visit_poly_trait_ref(_binding_0);
1943 _visitor.visit_trait_bound_modifier(_binding_1);
Nika Layzell27726662017-10-24 23:16:35 -04001944 }
1945 Region(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001946 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001947 }
1948 }
1949}
1950
Nika Layzellc86173a2017-11-18 13:55:22 -05001951pub fn visit_type_paren<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeParen) {
Nika Layzell27726662017-10-24 23:16:35 -04001952 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001953 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001954}
1955
Nika Layzellc86173a2017-11-18 13:55:22 -05001956pub fn visit_type_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypePath) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001957 if let Some(ref it) = _i . qself { _visitor.visit_qself(it) };
1958 _visitor.visit_path(& _i . path);
Nika Layzell27726662017-10-24 23:16:35 -04001959}
1960
Nika Layzellc86173a2017-11-18 13:55:22 -05001961pub fn visit_type_ptr<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypePtr) {
Nika Layzell27726662017-10-24 23:16:35 -04001962 // Skipped field _i . star_token;
1963 // Skipped field _i . const_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001964 _visitor.visit_mut_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001965}
1966
Nika Layzellc86173a2017-11-18 13:55:22 -05001967pub fn visit_type_reference<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeReference) {
Nika Layzell27726662017-10-24 23:16:35 -04001968 // Skipped field _i . and_token;
1969 // Skipped field _i . lifetime;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001970 _visitor.visit_mut_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001971}
1972
Nika Layzellc86173a2017-11-18 13:55:22 -05001973pub fn visit_type_slice<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeSlice) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001974 _visitor.visit_type(& _i . ty);
Nika Layzell27726662017-10-24 23:16:35 -04001975 // Skipped field _i . bracket_token;
1976}
1977
Nika Layzellc86173a2017-11-18 13:55:22 -05001978pub fn visit_type_trait_object<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeTraitObject) {
David Tolnaye45b59f2017-12-25 18:44:49 -05001979 // Skipped field _i . dyn_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001980 for el in & _i . bounds { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001981}
1982
David Tolnay05362582017-12-26 01:33:57 -05001983pub fn visit_type_tuple<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast TypeTuple) {
Nika Layzell27726662017-10-24 23:16:35 -04001984 // Skipped field _i . paren_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05001985 for el in & _i . tys { let it = el.item(); _visitor.visit_type(it) };
Nika Layzell27726662017-10-24 23:16:35 -04001986 // Skipped field _i . lone_comma;
1987}
1988
Nika Layzellc86173a2017-11-18 13:55:22 -05001989pub fn visit_un_op<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UnOp) {
Nika Layzell27726662017-10-24 23:16:35 -04001990 use ::UnOp::*;
1991 match *_i {
1992 Deref(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001993 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001994 }
1995 Not(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001996 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04001997 }
1998 Neg(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05001999 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04002000 }
2001 }
2002}
2003
Nika Layzellc86173a2017-11-18 13:55:22 -05002004pub fn visit_unsafety<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Unsafety) {
Nika Layzell27726662017-10-24 23:16:35 -04002005 use ::Unsafety::*;
2006 match *_i {
2007 Unsafe(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002008 // Skipped field _binding_0;
Nika Layzell27726662017-10-24 23:16:35 -04002009 }
2010 Normal => { }
2011 }
2012}
David Tolnay5f332a92017-12-26 00:42:45 -05002013# [ cfg ( feature = "full" ) ]
2014pub fn visit_use_glob<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseGlob) {
2015 // Skipped field _i . star_token;
2016}
2017# [ cfg ( feature = "full" ) ]
2018pub fn visit_use_list<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseList) {
2019 // Skipped field _i . brace_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05002020 for el in & _i . items { let it = el.item(); _visitor.visit_use_tree(it) };
David Tolnay5f332a92017-12-26 00:42:45 -05002021}
2022# [ cfg ( feature = "full" ) ]
2023pub fn visit_use_path<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UsePath) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002024 _visitor.visit_ident(& _i . ident);
David Tolnay5f332a92017-12-26 00:42:45 -05002025 // Skipped field _i . rename;
2026}
2027# [ cfg ( feature = "full" ) ]
2028pub fn visit_use_tree<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast UseTree) {
2029 use ::UseTree::*;
2030 match *_i {
2031 Path(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002032 _visitor.visit_use_path(_binding_0);
David Tolnay5f332a92017-12-26 00:42:45 -05002033 }
2034 Glob(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002035 _visitor.visit_use_glob(_binding_0);
David Tolnay5f332a92017-12-26 00:42:45 -05002036 }
2037 List(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002038 _visitor.visit_use_list(_binding_0);
David Tolnay5f332a92017-12-26 00:42:45 -05002039 }
2040 }
2041}
Nika Layzell27726662017-10-24 23:16:35 -04002042
Nika Layzellc86173a2017-11-18 13:55:22 -05002043pub fn visit_variant<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Variant) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002044 _visitor.visit_ident(& _i . ident);
2045 for it in & _i . attrs { _visitor.visit_attribute(it) };
2046 _visitor.visit_variant_data(& _i . data);
2047 if let Some(ref it) = _i . discriminant { _visitor.visit_expr(it) };
Nika Layzell27726662017-10-24 23:16:35 -04002048 // Skipped field _i . eq_token;
2049}
2050
Nika Layzellc86173a2017-11-18 13:55:22 -05002051pub fn visit_variant_data<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VariantData) {
Nika Layzell27726662017-10-24 23:16:35 -04002052 use ::VariantData::*;
2053 match *_i {
2054 Struct(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002055 for el in _binding_0 { let it = el.item(); _visitor.visit_field(it) };
2056 // Skipped field _binding_1;
Nika Layzell27726662017-10-24 23:16:35 -04002057 }
2058 Tuple(ref _binding_0, ref _binding_1, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002059 for el in _binding_0 { let it = el.item(); _visitor.visit_field(it) };
2060 // Skipped field _binding_1;
Nika Layzell27726662017-10-24 23:16:35 -04002061 }
2062 Unit => { }
2063 }
2064}
Nika Layzell27726662017-10-24 23:16:35 -04002065
Nika Layzellc86173a2017-11-18 13:55:22 -05002066pub fn visit_vis_crate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisCrate) {
Nika Layzell27726662017-10-24 23:16:35 -04002067 // Skipped field _i . pub_token;
2068 // Skipped field _i . paren_token;
2069 // Skipped field _i . crate_token;
2070}
2071
Nika Layzellc86173a2017-11-18 13:55:22 -05002072pub fn visit_vis_inherited<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisInherited) {
Nika Layzell27726662017-10-24 23:16:35 -04002073}
2074
Nika Layzellc86173a2017-11-18 13:55:22 -05002075pub fn visit_vis_public<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisPublic) {
Nika Layzell27726662017-10-24 23:16:35 -04002076 // Skipped field _i . pub_token;
2077}
2078
Nika Layzellc86173a2017-11-18 13:55:22 -05002079pub fn visit_vis_restricted<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast VisRestricted) {
Nika Layzell27726662017-10-24 23:16:35 -04002080 // Skipped field _i . pub_token;
2081 // Skipped field _i . paren_token;
2082 // Skipped field _i . in_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05002083 _visitor.visit_path(& _i . path);
Nika Layzell27726662017-10-24 23:16:35 -04002084}
2085
Nika Layzellc86173a2017-11-18 13:55:22 -05002086pub fn visit_visibility<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast Visibility) {
Nika Layzell27726662017-10-24 23:16:35 -04002087 use ::Visibility::*;
2088 match *_i {
2089 Public(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002090 _visitor.visit_vis_public(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002091 }
2092 Crate(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002093 _visitor.visit_vis_crate(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002094 }
2095 Restricted(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002096 _visitor.visit_vis_restricted(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002097 }
2098 Inherited(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002099 _visitor.visit_vis_inherited(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002100 }
2101 }
2102}
2103
Nika Layzellc86173a2017-11-18 13:55:22 -05002104pub fn visit_where_bound_predicate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WhereBoundPredicate) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002105 if let Some(ref it) = _i . bound_lifetimes { _visitor.visit_bound_lifetimes(it) };
2106 _visitor.visit_type(& _i . bounded_ty);
Nika Layzell27726662017-10-24 23:16:35 -04002107 // Skipped field _i . colon_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05002108 for el in & _i . bounds { let it = el.item(); _visitor.visit_type_param_bound(it) };
Nika Layzell27726662017-10-24 23:16:35 -04002109}
2110
Nika Layzellc86173a2017-11-18 13:55:22 -05002111pub fn visit_where_clause<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WhereClause) {
Nika Layzell27726662017-10-24 23:16:35 -04002112 // Skipped field _i . where_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05002113 for el in & _i . predicates { let it = el.item(); _visitor.visit_where_predicate(it) };
Nika Layzell27726662017-10-24 23:16:35 -04002114}
2115
Nika Layzellc86173a2017-11-18 13:55:22 -05002116pub fn visit_where_eq_predicate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WhereEqPredicate) {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002117 _visitor.visit_type(& _i . lhs_ty);
Nika Layzell27726662017-10-24 23:16:35 -04002118 // Skipped field _i . eq_token;
David Tolnayf0d63bf2017-12-26 12:29:47 -05002119 _visitor.visit_type(& _i . rhs_ty);
Nika Layzell27726662017-10-24 23:16:35 -04002120}
2121
Nika Layzellc86173a2017-11-18 13:55:22 -05002122pub fn visit_where_predicate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WherePredicate) {
Nika Layzell27726662017-10-24 23:16:35 -04002123 use ::WherePredicate::*;
2124 match *_i {
2125 BoundPredicate(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002126 _visitor.visit_where_bound_predicate(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002127 }
2128 RegionPredicate(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002129 _visitor.visit_where_region_predicate(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002130 }
2131 EqPredicate(ref _binding_0, ) => {
David Tolnayf0d63bf2017-12-26 12:29:47 -05002132 _visitor.visit_where_eq_predicate(_binding_0);
Nika Layzell27726662017-10-24 23:16:35 -04002133 }
2134 }
2135}
2136
Nika Layzellc86173a2017-11-18 13:55:22 -05002137pub fn visit_where_region_predicate<'ast, V: Visitor<'ast> + ?Sized>(_visitor: &mut V, _i: &'ast WhereRegionPredicate) {
Nika Layzell27726662017-10-24 23:16:35 -04002138 // Skipped field _i . lifetime;
2139 // Skipped field _i . colon_token;
2140 // Skipped field _i . bounds;
2141}
2142