pub struct DynVisitor<F> {
enter: F,
}
Expand description
Ast and body visitor that uses dynamic dispatch to call the provided function on the visited values of the right type.
Fields§
§enter: F
Implementations§
Trait Implementations§
source§impl<F> VisitAst for DynVisitor<F>
impl<F> VisitAst for DynVisitor<F>
source§fn visit<'a, T: AstVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
fn visit<'a, T: AstVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty
if it exists, visit_inner
if not).source§fn visit_by_val<T: AstVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: AstVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
source§fn visit_by_val_infallible<T: AstVisitable>(self, x: &T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
fn visit_by_val_infallible<T: AstVisitable>(self, x: &T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
Convenience when the visitor does not return early.
source§fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: for<'s> Drive<'s, AstVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: for<'s> Drive<'s, AstVisitableWrapper<Self>>,
Visit the contents of
x
. This calls self.visit()
on each field of T
. This
is available for any type whose contents are all #trait_name
.source§fn visit_de_bruijn_id(&mut self, x: &DeBruijnId) -> ControlFlow<Self::Break>
fn visit_de_bruijn_id(&mut self, x: &DeBruijnId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_de_bruijn_id(&mut self, x: &DeBruijnId)
fn enter_de_bruijn_id(&mut self, x: &DeBruijnId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_de_bruijn_id(&mut self, x: &DeBruijnId)
fn exit_de_bruijn_id(&mut self, x: &DeBruijnId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ty(&mut self, x: &Ty) -> ControlFlow<Self::Break>
fn visit_ty(&mut self, x: &Ty) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ty(&mut self, x: &Ty)
fn enter_ty(&mut self, x: &Ty)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ty(&mut self, x: &Ty)
fn exit_ty(&mut self, x: &Ty)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_region(&mut self, x: &Region) -> ControlFlow<Self::Break>
fn visit_region(&mut self, x: &Region) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_region(&mut self, x: &Region)
fn enter_region(&mut self, x: &Region)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_region(&mut self, x: &Region)
fn exit_region(&mut self, x: &Region)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_const_generic(&mut self, x: &ConstGeneric) -> ControlFlow<Self::Break>
fn visit_const_generic(&mut self, x: &ConstGeneric) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_const_generic(&mut self, x: &ConstGeneric)
fn enter_const_generic(&mut self, x: &ConstGeneric)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_const_generic(&mut self, x: &ConstGeneric)
fn exit_const_generic(&mut self, x: &ConstGeneric)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_ref(&mut self, x: &TraitRef) -> ControlFlow<Self::Break>
fn visit_trait_ref(&mut self, x: &TraitRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_ref(&mut self, x: &TraitRef)
fn enter_trait_ref(&mut self, x: &TraitRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_ref(&mut self, x: &TraitRef)
fn exit_trait_ref(&mut self, x: &TraitRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl_ref(&mut self, x: &FunDeclRef) -> ControlFlow<Self::Break>
fn visit_fun_decl_ref(&mut self, x: &FunDeclRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl_ref(&mut self, x: &FunDeclRef)
fn enter_fun_decl_ref(&mut self, x: &FunDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl_ref(&mut self, x: &FunDeclRef)
fn exit_fun_decl_ref(&mut self, x: &FunDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl_ref(
&mut self,
x: &GlobalDeclRef,
) -> ControlFlow<Self::Break>
fn visit_global_decl_ref( &mut self, x: &GlobalDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl_ref(&mut self, x: &GlobalDeclRef)
fn enter_global_decl_ref(&mut self, x: &GlobalDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl_ref(&mut self, x: &GlobalDeclRef)
fn exit_global_decl_ref(&mut self, x: &GlobalDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl_ref(&mut self, x: &TraitDeclRef) -> ControlFlow<Self::Break>
fn visit_trait_decl_ref(&mut self, x: &TraitDeclRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl_ref(&mut self, x: &TraitDeclRef)
fn enter_trait_decl_ref(&mut self, x: &TraitDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl_ref(&mut self, x: &TraitDeclRef)
fn exit_trait_decl_ref(&mut self, x: &TraitDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl_ref(&mut self, x: &TraitImplRef) -> ControlFlow<Self::Break>
fn visit_trait_impl_ref(&mut self, x: &TraitImplRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl_ref(&mut self, x: &TraitImplRef)
fn enter_trait_impl_ref(&mut self, x: &TraitImplRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl_ref(&mut self, x: &TraitImplRef)
fn exit_trait_impl_ref(&mut self, x: &TraitImplRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_generic_args(&mut self, x: &GenericArgs) -> ControlFlow<Self::Break>
fn visit_generic_args(&mut self, x: &GenericArgs) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_generic_args(&mut self, x: &GenericArgs)
fn enter_generic_args(&mut self, x: &GenericArgs)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_generic_args(&mut self, x: &GenericArgs)
fn exit_generic_args(&mut self, x: &GenericArgs)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_generic_params(
&mut self,
x: &GenericParams,
) -> ControlFlow<Self::Break>
fn visit_generic_params( &mut self, x: &GenericParams, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_generic_params(&mut self, x: &GenericParams)
fn enter_generic_params(&mut self, x: &GenericParams)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_generic_params(&mut self, x: &GenericParams)
fn exit_generic_params(&mut self, x: &GenericParams)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_de_bruijn_var<T: AstVisitable + Idx>(
&mut self,
x: &DeBruijnVar<T>,
) -> ControlFlow<Self::Break>
fn visit_de_bruijn_var<T: AstVisitable + Idx>( &mut self, x: &DeBruijnVar<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &DeBruijnVar<T>)
fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &DeBruijnVar<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &DeBruijnVar<T>)
fn exit_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &DeBruijnVar<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_region_binder<T: AstVisitable>(
&mut self,
x: &RegionBinder<T>,
) -> ControlFlow<Self::Break>
fn visit_region_binder<T: AstVisitable>( &mut self, x: &RegionBinder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_region_binder<T: AstVisitable>(&mut self, x: &RegionBinder<T>)
fn enter_region_binder<T: AstVisitable>(&mut self, x: &RegionBinder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_region_binder<T: AstVisitable>(&mut self, x: &RegionBinder<T>)
fn exit_region_binder<T: AstVisitable>(&mut self, x: &RegionBinder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_binder<T: AstVisitable>(
&mut self,
x: &Binder<T>,
) -> ControlFlow<Self::Break>
fn visit_binder<T: AstVisitable>( &mut self, x: &Binder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_binder<T: AstVisitable>(&mut self, x: &Binder<T>)
fn enter_binder<T: AstVisitable>(&mut self, x: &Binder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_binder<T: AstVisitable>(&mut self, x: &Binder<T>)
fn exit_binder<T: AstVisitable>(&mut self, x: &Binder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_statement(&mut self, x: &Statement)
fn enter_llbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_statement(&mut self, x: &Statement)
fn exit_llbc_statement(&mut self, x: &Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_statement(&mut self, x: &Statement)
fn enter_ullbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_statement(&mut self, x: &Statement)
fn exit_ullbc_statement(&mut self, x: &Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_aggregate_kind(
&mut self,
x: &AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_aggregate_kind(&mut self, x: &AggregateKind)
fn enter_aggregate_kind(&mut self, x: &AggregateKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_aggregate_kind(&mut self, x: &AggregateKind)
fn exit_aggregate_kind(&mut self, x: &AggregateKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_ptr(&mut self, x: &FnPtr)
fn enter_fn_ptr(&mut self, x: &FnPtr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_ptr(&mut self, x: &FnPtr)
fn exit_fn_ptr(&mut self, x: &FnPtr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_item_kind(&mut self, x: &ItemKind) -> ControlFlow<Self::Break>
fn visit_item_kind(&mut self, x: &ItemKind) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_item_kind(&mut self, x: &ItemKind)
fn enter_item_kind(&mut self, x: &ItemKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_item_kind(&mut self, x: &ItemKind)
fn exit_item_kind(&mut self, x: &ItemKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_item_meta(&mut self, x: &ItemMeta) -> ControlFlow<Self::Break>
fn visit_item_meta(&mut self, x: &ItemMeta) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_item_meta(&mut self, x: &ItemMeta)
fn enter_item_meta(&mut self, x: &ItemMeta)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_item_meta(&mut self, x: &ItemMeta)
fn exit_item_meta(&mut self, x: &ItemMeta)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_span(&mut self, x: &Span) -> ControlFlow<Self::Break>
fn visit_span(&mut self, x: &Span) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_span(&mut self, x: &Span)
fn enter_span(&mut self, x: &Span)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_span(&mut self, x: &Span)
fn exit_span(&mut self, x: &Span)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl_id(&mut self, x: &FunDeclId) -> ControlFlow<Self::Break>
fn visit_fun_decl_id(&mut self, x: &FunDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl_id(&mut self, x: &FunDeclId)
fn enter_fun_decl_id(&mut self, x: &FunDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl_id(&mut self, x: &FunDeclId)
fn exit_fun_decl_id(&mut self, x: &FunDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl_id(&mut self, x: &GlobalDeclId) -> ControlFlow<Self::Break>
fn visit_global_decl_id(&mut self, x: &GlobalDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl_id(&mut self, x: &GlobalDeclId)
fn enter_global_decl_id(&mut self, x: &GlobalDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl_id(&mut self, x: &GlobalDeclId)
fn exit_global_decl_id(&mut self, x: &GlobalDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_type_decl_id(&mut self, x: &TypeDeclId) -> ControlFlow<Self::Break>
fn visit_type_decl_id(&mut self, x: &TypeDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_type_decl_id(&mut self, x: &TypeDeclId)
fn enter_type_decl_id(&mut self, x: &TypeDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_type_decl_id(&mut self, x: &TypeDeclId)
fn exit_type_decl_id(&mut self, x: &TypeDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl_id(&mut self, x: &TraitDeclId) -> ControlFlow<Self::Break>
fn visit_trait_decl_id(&mut self, x: &TraitDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl_id(&mut self, x: &TraitDeclId)
fn enter_trait_decl_id(&mut self, x: &TraitDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl_id(&mut self, x: &TraitDeclId)
fn exit_trait_decl_id(&mut self, x: &TraitDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl_id(&mut self, x: &TraitImplId) -> ControlFlow<Self::Break>
fn visit_trait_impl_id(&mut self, x: &TraitImplId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl_id(&mut self, x: &TraitImplId)
fn enter_trait_impl_id(&mut self, x: &TraitImplId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl_id(&mut self, x: &TraitImplId)
fn exit_trait_impl_id(&mut self, x: &TraitImplId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl(&mut self, x: &FunDecl) -> ControlFlow<Self::Break>
fn visit_fun_decl(&mut self, x: &FunDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl(&mut self, x: &FunDecl)
fn enter_fun_decl(&mut self, x: &FunDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl(&mut self, x: &FunDecl)
fn exit_fun_decl(&mut self, x: &FunDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl(&mut self, x: &GlobalDecl) -> ControlFlow<Self::Break>
fn visit_global_decl(&mut self, x: &GlobalDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl(&mut self, x: &GlobalDecl)
fn enter_global_decl(&mut self, x: &GlobalDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl(&mut self, x: &GlobalDecl)
fn exit_global_decl(&mut self, x: &GlobalDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_type_decl(&mut self, x: &TypeDecl) -> ControlFlow<Self::Break>
fn visit_type_decl(&mut self, x: &TypeDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_type_decl(&mut self, x: &TypeDecl)
fn enter_type_decl(&mut self, x: &TypeDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_type_decl(&mut self, x: &TypeDecl)
fn exit_type_decl(&mut self, x: &TypeDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl(&mut self, x: &TraitDecl) -> ControlFlow<Self::Break>
fn visit_trait_decl(&mut self, x: &TraitDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl(&mut self, x: &TraitDecl)
fn enter_trait_decl(&mut self, x: &TraitDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl(&mut self, x: &TraitDecl)
fn exit_trait_decl(&mut self, x: &TraitDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl(&mut self, x: &TraitImpl) -> ControlFlow<Self::Break>
fn visit_trait_impl(&mut self, x: &TraitImpl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl(&mut self, x: &TraitImpl)
fn enter_trait_impl(&mut self, x: &TraitImpl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl(&mut self, x: &TraitImpl)
fn exit_trait_impl(&mut self, x: &TraitImpl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§impl<F> VisitAstMut for DynVisitor<F>
impl<F> VisitAstMut for DynVisitor<F>
source§fn visit<'a, T: AstVisitable>(
&'a mut self,
x: &mut T,
) -> ControlFlow<Self::Break>
fn visit<'a, T: AstVisitable>( &'a mut self, x: &mut T, ) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty
if it exists, visit_inner
if not).source§fn visit_by_val<T: AstVisitable>(
self,
x: &mut T,
) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: AstVisitable>( self, x: &mut T, ) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
source§fn visit_by_val_infallible<T: AstVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
fn visit_by_val_infallible<T: AstVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
Convenience when the visitor does not return early.
source§fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: for<'s> DriveMut<'s, AstVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: for<'s> DriveMut<'s, AstVisitableWrapper<Self>>,
Visit the contents of
x
. This calls self.visit()
on each field of T
. This
is available for any type whose contents are all #trait_name
.source§fn visit_de_bruijn_id(&mut self, x: &mut DeBruijnId) -> ControlFlow<Self::Break>
fn visit_de_bruijn_id(&mut self, x: &mut DeBruijnId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_de_bruijn_id(&mut self, x: &mut DeBruijnId)
fn enter_de_bruijn_id(&mut self, x: &mut DeBruijnId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_de_bruijn_id(&mut self, x: &mut DeBruijnId)
fn exit_de_bruijn_id(&mut self, x: &mut DeBruijnId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ty(&mut self, x: &mut Ty) -> ControlFlow<Self::Break>
fn visit_ty(&mut self, x: &mut Ty) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ty(&mut self, x: &mut Ty)
fn enter_ty(&mut self, x: &mut Ty)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ty(&mut self, x: &mut Ty)
fn exit_ty(&mut self, x: &mut Ty)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_region(&mut self, x: &mut Region) -> ControlFlow<Self::Break>
fn visit_region(&mut self, x: &mut Region) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_region(&mut self, x: &mut Region)
fn enter_region(&mut self, x: &mut Region)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_region(&mut self, x: &mut Region)
fn exit_region(&mut self, x: &mut Region)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_const_generic(
&mut self,
x: &mut ConstGeneric,
) -> ControlFlow<Self::Break>
fn visit_const_generic( &mut self, x: &mut ConstGeneric, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_const_generic(&mut self, x: &mut ConstGeneric)
fn enter_const_generic(&mut self, x: &mut ConstGeneric)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_const_generic(&mut self, x: &mut ConstGeneric)
fn exit_const_generic(&mut self, x: &mut ConstGeneric)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_ref(&mut self, x: &mut TraitRef) -> ControlFlow<Self::Break>
fn visit_trait_ref(&mut self, x: &mut TraitRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_ref(&mut self, x: &mut TraitRef)
fn enter_trait_ref(&mut self, x: &mut TraitRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_ref(&mut self, x: &mut TraitRef)
fn exit_trait_ref(&mut self, x: &mut TraitRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl_ref(&mut self, x: &mut FunDeclRef) -> ControlFlow<Self::Break>
fn visit_fun_decl_ref(&mut self, x: &mut FunDeclRef) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl_ref(&mut self, x: &mut FunDeclRef)
fn enter_fun_decl_ref(&mut self, x: &mut FunDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl_ref(&mut self, x: &mut FunDeclRef)
fn exit_fun_decl_ref(&mut self, x: &mut FunDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl_ref(
&mut self,
x: &mut GlobalDeclRef,
) -> ControlFlow<Self::Break>
fn visit_global_decl_ref( &mut self, x: &mut GlobalDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
fn enter_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
fn exit_global_decl_ref(&mut self, x: &mut GlobalDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl_ref(
&mut self,
x: &mut TraitDeclRef,
) -> ControlFlow<Self::Break>
fn visit_trait_decl_ref( &mut self, x: &mut TraitDeclRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
fn enter_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
fn exit_trait_decl_ref(&mut self, x: &mut TraitDeclRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl_ref(
&mut self,
x: &mut TraitImplRef,
) -> ControlFlow<Self::Break>
fn visit_trait_impl_ref( &mut self, x: &mut TraitImplRef, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl_ref(&mut self, x: &mut TraitImplRef)
fn enter_trait_impl_ref(&mut self, x: &mut TraitImplRef)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl_ref(&mut self, x: &mut TraitImplRef)
fn exit_trait_impl_ref(&mut self, x: &mut TraitImplRef)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_generic_args(
&mut self,
x: &mut GenericArgs,
) -> ControlFlow<Self::Break>
fn visit_generic_args( &mut self, x: &mut GenericArgs, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_generic_args(&mut self, x: &mut GenericArgs)
fn enter_generic_args(&mut self, x: &mut GenericArgs)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_generic_args(&mut self, x: &mut GenericArgs)
fn exit_generic_args(&mut self, x: &mut GenericArgs)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_generic_params(
&mut self,
x: &mut GenericParams,
) -> ControlFlow<Self::Break>
fn visit_generic_params( &mut self, x: &mut GenericParams, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_generic_params(&mut self, x: &mut GenericParams)
fn enter_generic_params(&mut self, x: &mut GenericParams)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_generic_params(&mut self, x: &mut GenericParams)
fn exit_generic_params(&mut self, x: &mut GenericParams)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_de_bruijn_var<T: AstVisitable + Idx>(
&mut self,
x: &mut DeBruijnVar<T>,
) -> ControlFlow<Self::Break>
fn visit_de_bruijn_var<T: AstVisitable + Idx>( &mut self, x: &mut DeBruijnVar<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
fn enter_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
fn exit_de_bruijn_var<T: AstVisitable + Idx>(&mut self, x: &mut DeBruijnVar<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_region_binder<T: AstVisitable>(
&mut self,
x: &mut RegionBinder<T>,
) -> ControlFlow<Self::Break>
fn visit_region_binder<T: AstVisitable>( &mut self, x: &mut RegionBinder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
fn enter_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
fn exit_region_binder<T: AstVisitable>(&mut self, x: &mut RegionBinder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_binder<T: AstVisitable>(
&mut self,
x: &mut Binder<T>,
) -> ControlFlow<Self::Break>
fn visit_binder<T: AstVisitable>( &mut self, x: &mut Binder<T>, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
fn enter_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
fn exit_binder<T: AstVisitable>(&mut self, x: &mut Binder<T>)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_llbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_statement(&mut self, x: &mut Statement)
fn enter_llbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_statement(&mut self, x: &mut Statement)
fn exit_llbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_ullbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_statement(&mut self, x: &mut Statement)
fn enter_ullbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_statement(&mut self, x: &mut Statement)
fn exit_ullbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_aggregate_kind(
&mut self,
x: &mut AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &mut AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_ptr(&mut self, x: &mut FnPtr)
fn enter_fn_ptr(&mut self, x: &mut FnPtr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_ptr(&mut self, x: &mut FnPtr)
fn exit_fn_ptr(&mut self, x: &mut FnPtr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_item_kind(&mut self, x: &mut ItemKind) -> ControlFlow<Self::Break>
fn visit_item_kind(&mut self, x: &mut ItemKind) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_item_kind(&mut self, x: &mut ItemKind)
fn enter_item_kind(&mut self, x: &mut ItemKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_item_kind(&mut self, x: &mut ItemKind)
fn exit_item_kind(&mut self, x: &mut ItemKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_item_meta(&mut self, x: &mut ItemMeta) -> ControlFlow<Self::Break>
fn visit_item_meta(&mut self, x: &mut ItemMeta) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_item_meta(&mut self, x: &mut ItemMeta)
fn enter_item_meta(&mut self, x: &mut ItemMeta)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_item_meta(&mut self, x: &mut ItemMeta)
fn exit_item_meta(&mut self, x: &mut ItemMeta)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_span(&mut self, x: &mut Span) -> ControlFlow<Self::Break>
fn visit_span(&mut self, x: &mut Span) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_span(&mut self, x: &mut Span)
fn enter_span(&mut self, x: &mut Span)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_span(&mut self, x: &mut Span)
fn exit_span(&mut self, x: &mut Span)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl_id(&mut self, x: &mut FunDeclId) -> ControlFlow<Self::Break>
fn visit_fun_decl_id(&mut self, x: &mut FunDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl_id(&mut self, x: &mut FunDeclId)
fn enter_fun_decl_id(&mut self, x: &mut FunDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl_id(&mut self, x: &mut FunDeclId)
fn exit_fun_decl_id(&mut self, x: &mut FunDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl_id(
&mut self,
x: &mut GlobalDeclId,
) -> ControlFlow<Self::Break>
fn visit_global_decl_id( &mut self, x: &mut GlobalDeclId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl_id(&mut self, x: &mut GlobalDeclId)
fn enter_global_decl_id(&mut self, x: &mut GlobalDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl_id(&mut self, x: &mut GlobalDeclId)
fn exit_global_decl_id(&mut self, x: &mut GlobalDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_type_decl_id(&mut self, x: &mut TypeDeclId) -> ControlFlow<Self::Break>
fn visit_type_decl_id(&mut self, x: &mut TypeDeclId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_type_decl_id(&mut self, x: &mut TypeDeclId)
fn enter_type_decl_id(&mut self, x: &mut TypeDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_type_decl_id(&mut self, x: &mut TypeDeclId)
fn exit_type_decl_id(&mut self, x: &mut TypeDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl_id(
&mut self,
x: &mut TraitDeclId,
) -> ControlFlow<Self::Break>
fn visit_trait_decl_id( &mut self, x: &mut TraitDeclId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl_id(&mut self, x: &mut TraitDeclId)
fn enter_trait_decl_id(&mut self, x: &mut TraitDeclId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl_id(&mut self, x: &mut TraitDeclId)
fn exit_trait_decl_id(&mut self, x: &mut TraitDeclId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl_id(
&mut self,
x: &mut TraitImplId,
) -> ControlFlow<Self::Break>
fn visit_trait_impl_id( &mut self, x: &mut TraitImplId, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl_id(&mut self, x: &mut TraitImplId)
fn enter_trait_impl_id(&mut self, x: &mut TraitImplId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl_id(&mut self, x: &mut TraitImplId)
fn exit_trait_impl_id(&mut self, x: &mut TraitImplId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fun_decl(&mut self, x: &mut FunDecl) -> ControlFlow<Self::Break>
fn visit_fun_decl(&mut self, x: &mut FunDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fun_decl(&mut self, x: &mut FunDecl)
fn enter_fun_decl(&mut self, x: &mut FunDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fun_decl(&mut self, x: &mut FunDecl)
fn exit_fun_decl(&mut self, x: &mut FunDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_global_decl(&mut self, x: &mut GlobalDecl) -> ControlFlow<Self::Break>
fn visit_global_decl(&mut self, x: &mut GlobalDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_global_decl(&mut self, x: &mut GlobalDecl)
fn enter_global_decl(&mut self, x: &mut GlobalDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_global_decl(&mut self, x: &mut GlobalDecl)
fn exit_global_decl(&mut self, x: &mut GlobalDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_type_decl(&mut self, x: &mut TypeDecl) -> ControlFlow<Self::Break>
fn visit_type_decl(&mut self, x: &mut TypeDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_type_decl(&mut self, x: &mut TypeDecl)
fn enter_type_decl(&mut self, x: &mut TypeDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_type_decl(&mut self, x: &mut TypeDecl)
fn exit_type_decl(&mut self, x: &mut TypeDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_decl(&mut self, x: &mut TraitDecl) -> ControlFlow<Self::Break>
fn visit_trait_decl(&mut self, x: &mut TraitDecl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_decl(&mut self, x: &mut TraitDecl)
fn enter_trait_decl(&mut self, x: &mut TraitDecl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_decl(&mut self, x: &mut TraitDecl)
fn exit_trait_decl(&mut self, x: &mut TraitDecl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_trait_impl(&mut self, x: &mut TraitImpl) -> ControlFlow<Self::Break>
fn visit_trait_impl(&mut self, x: &mut TraitImpl) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_trait_impl(&mut self, x: &mut TraitImpl)
fn enter_trait_impl(&mut self, x: &mut TraitImpl)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_trait_impl(&mut self, x: &mut TraitImpl)
fn exit_trait_impl(&mut self, x: &mut TraitImpl)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§impl<F> VisitBody for DynVisitor<F>
impl<F> VisitBody for DynVisitor<F>
source§fn visit<'a, T: BodyVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
fn visit<'a, T: BodyVisitable>(&'a mut self, x: &T) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty
if it exists, visit_inner
if not).source§fn visit_by_val<T: BodyVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: BodyVisitable>(self, x: &T) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
source§fn visit_by_val_infallible<T: BodyVisitable>(self, x: &T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
fn visit_by_val_infallible<T: BodyVisitable>(self, x: &T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
Convenience when the visitor does not return early.
source§fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: for<'s> Drive<'s, BodyVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &T) -> ControlFlow<Self::Break>where
T: for<'s> Drive<'s, BodyVisitableWrapper<Self>>,
Visit the contents of
x
. This calls self.visit()
on each field of T
. This
is available for any type whose contents are all #trait_name
.source§fn visit_aggregate_kind(
&mut self,
x: &AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_aggregate_kind(&mut self, x: &AggregateKind)
fn enter_aggregate_kind(&mut self, x: &AggregateKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_aggregate_kind(&mut self, x: &AggregateKind)
fn exit_aggregate_kind(&mut self, x: &AggregateKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_call(&mut self, x: &Call) -> ControlFlow<Self::Break>
fn visit_call(&mut self, x: &Call) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_call(&mut self, x: &Call)
fn enter_call(&mut self, x: &Call)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_call(&mut self, x: &Call)
fn exit_call(&mut self, x: &Call)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_operand(&mut self, x: &FnOperand) -> ControlFlow<Self::Break>
fn visit_fn_operand(&mut self, x: &FnOperand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_operand(&mut self, x: &FnOperand)
fn enter_fn_operand(&mut self, x: &FnOperand)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_operand(&mut self, x: &FnOperand)
fn exit_fn_operand(&mut self, x: &FnOperand)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_ptr(&mut self, x: &FnPtr)
fn enter_fn_ptr(&mut self, x: &FnPtr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_ptr(&mut self, x: &FnPtr)
fn exit_fn_ptr(&mut self, x: &FnPtr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_operand(&mut self, x: &Operand) -> ControlFlow<Self::Break>
fn visit_operand(&mut self, x: &Operand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_operand(&mut self, x: &Operand)
fn enter_operand(&mut self, x: &Operand)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_operand(&mut self, x: &Operand)
fn exit_operand(&mut self, x: &Operand)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_place(&mut self, x: &Place) -> ControlFlow<Self::Break>
fn visit_place(&mut self, x: &Place) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_place(&mut self, x: &Place)
fn enter_place(&mut self, x: &Place)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_place(&mut self, x: &Place)
fn exit_place(&mut self, x: &Place)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_projection_elem(
&mut self,
x: &ProjectionElem,
) -> ControlFlow<Self::Break>
fn visit_projection_elem( &mut self, x: &ProjectionElem, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_projection_elem(&mut self, x: &ProjectionElem)
fn enter_projection_elem(&mut self, x: &ProjectionElem)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_projection_elem(&mut self, x: &ProjectionElem)
fn exit_projection_elem(&mut self, x: &ProjectionElem)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_rvalue(&mut self, x: &Rvalue) -> ControlFlow<Self::Break>
fn visit_rvalue(&mut self, x: &Rvalue) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_rvalue(&mut self, x: &Rvalue)
fn enter_rvalue(&mut self, x: &Rvalue)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_rvalue(&mut self, x: &Rvalue)
fn exit_rvalue(&mut self, x: &Rvalue)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_block(&mut self, x: &Block) -> ControlFlow<Self::Break>
fn visit_llbc_block(&mut self, x: &Block) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_block(&mut self, x: &Block)
fn enter_llbc_block(&mut self, x: &Block)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_block(&mut self, x: &Block)
fn exit_llbc_block(&mut self, x: &Block)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_llbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_statement(&mut self, x: &Statement)
fn enter_llbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_statement(&mut self, x: &Statement)
fn exit_llbc_statement(&mut self, x: &Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
fn visit_ullbc_statement(&mut self, x: &Statement) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_statement(&mut self, x: &Statement)
fn enter_ullbc_statement(&mut self, x: &Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_statement(&mut self, x: &Statement)
fn exit_ullbc_statement(&mut self, x: &Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_terminator(&mut self, x: &Terminator) -> ControlFlow<Self::Break>
fn visit_ullbc_terminator(&mut self, x: &Terminator) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_terminator(&mut self, x: &Terminator)
fn enter_ullbc_terminator(&mut self, x: &Terminator)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_terminator(&mut self, x: &Terminator)
fn exit_ullbc_terminator(&mut self, x: &Terminator)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_block_id(&mut self, x: &BlockId) -> ControlFlow<Self::Break>
fn visit_ullbc_block_id(&mut self, x: &BlockId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_block_id(&mut self, x: &BlockId)
fn enter_ullbc_block_id(&mut self, x: &BlockId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_block_id(&mut self, x: &BlockId)
fn exit_ullbc_block_id(&mut self, x: &BlockId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§impl<F> VisitBodyMut for DynVisitor<F>
impl<F> VisitBodyMut for DynVisitor<F>
source§fn visit<'a, T: BodyVisitable>(
&'a mut self,
x: &mut T,
) -> ControlFlow<Self::Break>
fn visit<'a, T: BodyVisitable>( &'a mut self, x: &mut T, ) -> ControlFlow<Self::Break>
Visit a visitable type. This calls the appropriate method of this trait on
x
(visit_$ty
if it exists, visit_inner
if not).source§fn visit_by_val<T: BodyVisitable>(
self,
x: &mut T,
) -> ControlFlow<Self::Break, Self>
fn visit_by_val<T: BodyVisitable>( self, x: &mut T, ) -> ControlFlow<Self::Break, Self>
Convenience alias for method chaining.
source§fn visit_by_val_infallible<T: BodyVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
fn visit_by_val_infallible<T: BodyVisitable>(self, x: &mut T) -> Selfwhere
Self: Visitor<Break = Infallible> + Sized,
Convenience when the visitor does not return early.
source§fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: for<'s> DriveMut<'s, BodyVisitableWrapper<Self>>,
fn visit_inner<T>(&mut self, x: &mut T) -> ControlFlow<Self::Break>where
T: for<'s> DriveMut<'s, BodyVisitableWrapper<Self>>,
Visit the contents of
x
. This calls self.visit()
on each field of T
. This
is available for any type whose contents are all #trait_name
.source§fn visit_aggregate_kind(
&mut self,
x: &mut AggregateKind,
) -> ControlFlow<Self::Break>
fn visit_aggregate_kind( &mut self, x: &mut AggregateKind, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
fn enter_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
fn exit_aggregate_kind(&mut self, x: &mut AggregateKind)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_call(&mut self, x: &mut Call) -> ControlFlow<Self::Break>
fn visit_call(&mut self, x: &mut Call) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_call(&mut self, x: &mut Call)
fn enter_call(&mut self, x: &mut Call)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_call(&mut self, x: &mut Call)
fn exit_call(&mut self, x: &mut Call)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_operand(&mut self, x: &mut FnOperand) -> ControlFlow<Self::Break>
fn visit_fn_operand(&mut self, x: &mut FnOperand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_operand(&mut self, x: &mut FnOperand)
fn enter_fn_operand(&mut self, x: &mut FnOperand)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_operand(&mut self, x: &mut FnOperand)
fn exit_fn_operand(&mut self, x: &mut FnOperand)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
fn visit_fn_ptr(&mut self, x: &mut FnPtr) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_fn_ptr(&mut self, x: &mut FnPtr)
fn enter_fn_ptr(&mut self, x: &mut FnPtr)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_fn_ptr(&mut self, x: &mut FnPtr)
fn exit_fn_ptr(&mut self, x: &mut FnPtr)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_operand(&mut self, x: &mut Operand) -> ControlFlow<Self::Break>
fn visit_operand(&mut self, x: &mut Operand) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_operand(&mut self, x: &mut Operand)
fn enter_operand(&mut self, x: &mut Operand)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_operand(&mut self, x: &mut Operand)
fn exit_operand(&mut self, x: &mut Operand)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_place(&mut self, x: &mut Place) -> ControlFlow<Self::Break>
fn visit_place(&mut self, x: &mut Place) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_place(&mut self, x: &mut Place)
fn enter_place(&mut self, x: &mut Place)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_place(&mut self, x: &mut Place)
fn exit_place(&mut self, x: &mut Place)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_projection_elem(
&mut self,
x: &mut ProjectionElem,
) -> ControlFlow<Self::Break>
fn visit_projection_elem( &mut self, x: &mut ProjectionElem, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_projection_elem(&mut self, x: &mut ProjectionElem)
fn enter_projection_elem(&mut self, x: &mut ProjectionElem)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_projection_elem(&mut self, x: &mut ProjectionElem)
fn exit_projection_elem(&mut self, x: &mut ProjectionElem)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_rvalue(&mut self, x: &mut Rvalue) -> ControlFlow<Self::Break>
fn visit_rvalue(&mut self, x: &mut Rvalue) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_rvalue(&mut self, x: &mut Rvalue)
fn enter_rvalue(&mut self, x: &mut Rvalue)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_rvalue(&mut self, x: &mut Rvalue)
fn exit_rvalue(&mut self, x: &mut Rvalue)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_block(&mut self, x: &mut Block) -> ControlFlow<Self::Break>
fn visit_llbc_block(&mut self, x: &mut Block) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_block(&mut self, x: &mut Block)
fn enter_llbc_block(&mut self, x: &mut Block)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_block(&mut self, x: &mut Block)
fn exit_llbc_block(&mut self, x: &mut Block)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_llbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_llbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_llbc_statement(&mut self, x: &mut Statement)
fn enter_llbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_llbc_statement(&mut self, x: &mut Statement)
fn exit_llbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_statement(
&mut self,
x: &mut Statement,
) -> ControlFlow<Self::Break>
fn visit_ullbc_statement( &mut self, x: &mut Statement, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_statement(&mut self, x: &mut Statement)
fn enter_ullbc_statement(&mut self, x: &mut Statement)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_statement(&mut self, x: &mut Statement)
fn exit_ullbc_statement(&mut self, x: &mut Statement)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_terminator(
&mut self,
x: &mut Terminator,
) -> ControlFlow<Self::Break>
fn visit_ullbc_terminator( &mut self, x: &mut Terminator, ) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_terminator(&mut self, x: &mut Terminator)
fn enter_ullbc_terminator(&mut self, x: &mut Terminator)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_terminator(&mut self, x: &mut Terminator)
fn exit_ullbc_terminator(&mut self, x: &mut Terminator)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§fn visit_ullbc_block_id(&mut self, x: &mut BlockId) -> ControlFlow<Self::Break>
fn visit_ullbc_block_id(&mut self, x: &mut BlockId) -> ControlFlow<Self::Break>
Overrideable method called when visiting a
$ty
. When overriding this method,
call self.visit_inner(x)
to keep recursively visiting the type, or don’t call
it if the contents of x
should not be visited. Read moresource§fn enter_ullbc_block_id(&mut self, x: &mut BlockId)
fn enter_ullbc_block_id(&mut self, x: &mut BlockId)
Called when starting to visit a
$ty
(unless visit_$ty
is overriden).source§fn exit_ullbc_block_id(&mut self, x: &mut BlockId)
fn exit_ullbc_block_id(&mut self, x: &mut BlockId)
Called when finished visiting a
$ty
(unless visit_$ty
is overriden).source§impl<F> Visitor for DynVisitor<F>
impl<F> Visitor for DynVisitor<F>
source§type Break = Infallible
type Break = Infallible
The type used for early-return, if the visitor supports it. Use an empty type like
std::convert::Infallible
if the visitor does not short-circuit.Auto Trait Implementations§
impl<F> Freeze for DynVisitor<F>where
F: Freeze,
impl<F> RefUnwindSafe for DynVisitor<F>where
F: RefUnwindSafe,
impl<F> Send for DynVisitor<F>where
F: Send,
impl<F> Sync for DynVisitor<F>where
F: Sync,
impl<F> Unpin for DynVisitor<F>where
F: Unpin,
impl<F> UnwindSafe for DynVisitor<F>where
F: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more