pub trait Visitor<'ast>: Sized {
Show 45 methods
fn visit_ident(&mut self, _ident: Ident) { ... }
fn visit_foreign_item(&mut self, i: &'ast ForeignItem) { ... }
fn visit_item(&mut self, i: &'ast Item) { ... }
fn visit_local(&mut self, l: &'ast Local) { ... }
fn visit_block(&mut self, b: &'ast Block) { ... }
fn visit_stmt(&mut self, s: &'ast Stmt) { ... }
fn visit_param(&mut self, param: &'ast Param) { ... }
fn visit_arm(&mut self, a: &'ast Arm) { ... }
fn visit_pat(&mut self, p: &'ast Pat) { ... }
fn visit_anon_const(&mut self, c: &'ast AnonConst) { ... }
fn visit_expr(&mut self, ex: &'ast Expr) { ... }
fn visit_expr_post(&mut self, _ex: &'ast Expr) { ... }
fn visit_ty(&mut self, t: &'ast Ty) { ... }
fn visit_generic_param(&mut self, param: &'ast GenericParam) { ... }
fn visit_generics(&mut self, g: &'ast Generics) { ... }
fn visit_closure_binder(&mut self, b: &'ast ClosureBinder) { ... }
fn visit_where_predicate(&mut self, p: &'ast WherePredicate) { ... }
fn visit_fn(&mut self, fk: FnKind<'ast>, _: Span, _: NodeId) { ... }
fn visit_assoc_item(&mut self, i: &'ast AssocItem, ctxt: AssocCtxt) { ... }
fn visit_trait_ref(&mut self, t: &'ast TraitRef) { ... }
fn visit_param_bound(&mut self, bounds: &'ast GenericBound, _ctxt: BoundKind) { ... }
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef) { ... }
fn visit_variant_data(&mut self, s: &'ast VariantData) { ... }
fn visit_field_def(&mut self, s: &'ast FieldDef) { ... }
fn visit_enum_def(&mut self, enum_definition: &'ast EnumDef) { ... }
fn visit_variant(&mut self, v: &'ast Variant) { ... }
fn visit_label(&mut self, label: &'ast Label) { ... }
fn visit_lifetime(&mut self, lifetime: &'ast Lifetime, _: LifetimeCtxt) { ... }
fn visit_mac_call(&mut self, mac: &'ast MacCall) { ... }
fn visit_mac_def(&mut self, _mac: &'ast MacroDef, _id: NodeId) { ... }
fn visit_path(&mut self, path: &'ast Path, _id: NodeId) { ... }
fn visit_use_tree(
&mut self,
use_tree: &'ast UseTree,
id: NodeId,
_nested: bool
) { ... }
fn visit_path_segment(&mut self, path_segment: &'ast PathSegment) { ... }
fn visit_generic_args(&mut self, generic_args: &'ast GenericArgs) { ... }
fn visit_generic_arg(&mut self, generic_arg: &'ast GenericArg) { ... }
fn visit_assoc_constraint(&mut self, constraint: &'ast AssocConstraint) { ... }
fn visit_attribute(&mut self, attr: &'ast Attribute) { ... }
fn visit_vis(&mut self, vis: &'ast Visibility) { ... }
fn visit_fn_ret_ty(&mut self, ret_ty: &'ast FnRetTy) { ... }
fn visit_fn_header(&mut self, _header: &'ast FnHeader) { ... }
fn visit_expr_field(&mut self, f: &'ast ExprField) { ... }
fn visit_pat_field(&mut self, fp: &'ast PatField) { ... }
fn visit_crate(&mut self, krate: &'ast Crate) { ... }
fn visit_inline_asm(&mut self, asm: &'ast InlineAsm) { ... }
fn visit_inline_asm_sym(&mut self, sym: &'ast InlineAsmSym) { ... }
}
Expand description
Each method of the Visitor
trait is a hook to be potentially
overridden. Each method’s default implementation recursively visits
the substructure of the input via the corresponding walk
method;
e.g., the visit_item
method by default calls visit::walk_item
.
If you want to ensure that your code handles every variant
explicitly, you need to override each method. (And you also need
to monitor future changes to Visitor
in case a new method with a
new default implementation gets introduced.)
Provided Methods
source
fn visit_ident(&mut self, _ident: Ident)
source
fn visit_foreign_item(&mut self, i: &'ast ForeignItem)
source
fn visit_item(&mut self, i: &'ast Item)
source
fn visit_local(&mut self, l: &'ast Local)
source
fn visit_block(&mut self, b: &'ast Block)
source
fn visit_stmt(&mut self, s: &'ast Stmt)
source
fn visit_param(&mut self, param: &'ast Param)
source
fn visit_anon_const(&mut self, c: &'ast AnonConst)
source
fn visit_expr(&mut self, ex: &'ast Expr)
source
fn visit_expr_post(&mut self, _ex: &'ast Expr)
source
fn visit_generic_param(&mut self, param: &'ast GenericParam)
source
fn visit_generics(&mut self, g: &'ast Generics)
source
fn visit_closure_binder(&mut self, b: &'ast ClosureBinder)
source
fn visit_where_predicate(&mut self, p: &'ast WherePredicate)
source
fn visit_assoc_item(&mut self, i: &'ast AssocItem, ctxt: AssocCtxt)
source
fn visit_trait_ref(&mut self, t: &'ast TraitRef)
source
fn visit_param_bound(&mut self, bounds: &'ast GenericBound, _ctxt: BoundKind)
source
fn visit_poly_trait_ref(&mut self, t: &'ast PolyTraitRef)
source
fn visit_variant_data(&mut self, s: &'ast VariantData)
source
fn visit_field_def(&mut self, s: &'ast FieldDef)
source
fn visit_enum_def(&mut self, enum_definition: &'ast EnumDef)
source
fn visit_variant(&mut self, v: &'ast Variant)
source
fn visit_label(&mut self, label: &'ast Label)
source
fn visit_lifetime(&mut self, lifetime: &'ast Lifetime, _: LifetimeCtxt)
source
fn visit_mac_call(&mut self, mac: &'ast MacCall)
source
fn visit_mac_def(&mut self, _mac: &'ast MacroDef, _id: NodeId)
source
fn visit_path(&mut self, path: &'ast Path, _id: NodeId)
source
fn visit_use_tree(&mut self, use_tree: &'ast UseTree, id: NodeId, _nested: bool)
source
fn visit_path_segment(&mut self, path_segment: &'ast PathSegment)
source
fn visit_generic_args(&mut self, generic_args: &'ast GenericArgs)
source
fn visit_generic_arg(&mut self, generic_arg: &'ast GenericArg)
source
fn visit_assoc_constraint(&mut self, constraint: &'ast AssocConstraint)
source
fn visit_attribute(&mut self, attr: &'ast Attribute)
source
fn visit_vis(&mut self, vis: &'ast Visibility)
source
fn visit_fn_ret_ty(&mut self, ret_ty: &'ast FnRetTy)
source
fn visit_fn_header(&mut self, _header: &'ast FnHeader)
source
fn visit_expr_field(&mut self, f: &'ast ExprField)
source
fn visit_pat_field(&mut self, fp: &'ast PatField)
source
fn visit_crate(&mut self, krate: &'ast Crate)
source
fn visit_inline_asm(&mut self, asm: &'ast InlineAsm)
source