pub trait Visitor<'tcx> {
Show 54 methods
fn visit_body(&mut self, body: &Body<'tcx>) { ... }
fn visit_basic_block_data(
&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>
) { ... }
fn visit_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>) { ... }
fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location) { ... }
fn visit_assign(
&mut self,
place: &Place<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location
) { ... }
fn visit_terminator(
&mut self,
terminator: &Terminator<'tcx>,
location: Location
) { ... }
fn visit_assert_message(
&mut self,
msg: &AssertMessage<'tcx>,
location: Location
) { ... }
fn visit_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location) { ... }
fn visit_operand(&mut self, operand: &Operand<'tcx>, location: Location) { ... }
fn visit_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
variance: Variance,
user_ty: &UserTypeProjection,
location: Location
) { ... }
fn visit_coverage(&mut self, coverage: &Coverage, location: Location) { ... }
fn visit_retag(
&mut self,
kind: RetagKind,
place: &Place<'tcx>,
location: Location
) { ... }
fn visit_place(
&mut self,
place: &Place<'tcx>,
context: PlaceContext,
location: Location
) { ... }
fn visit_projection(
&mut self,
place_ref: PlaceRef<'tcx>,
context: PlaceContext,
location: Location
) { ... }
fn visit_projection_elem(
&mut self,
local: Local,
proj_base: &[PlaceElem<'tcx>],
elem: PlaceElem<'tcx>,
context: PlaceContext,
location: Location
) { ... }
fn super_place(
&mut self,
place: &Place<'tcx>,
context: PlaceContext,
location: Location
) { ... }
fn super_projection(
&mut self,
place_ref: PlaceRef<'tcx>,
context: PlaceContext,
location: Location
) { ... }
fn super_projection_elem(
&mut self,
_local: Local,
_proj_base: &[PlaceElem<'tcx>],
elem: PlaceElem<'tcx>,
_context: PlaceContext,
location: Location
) { ... }
fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location) { ... }
fn visit_span(&mut self, span: Span) { ... }
fn visit_source_info(&mut self, source_info: &SourceInfo) { ... }
fn visit_ty(&mut self, ty: Ty<'tcx>, _: TyContext) { ... }
fn visit_user_type_projection(&mut self, ty: &UserTypeProjection) { ... }
fn visit_user_type_annotation(
&mut self,
index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
) { ... }
fn visit_region(&mut self, region: Region<'tcx>, _: Location) { ... }
fn visit_substs(&mut self, substs: &SubstsRef<'tcx>, _: Location) { ... }
fn visit_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>) { ... }
fn visit_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>) { ... }
fn visit_local(
&mut self,
_local: Local,
_context: PlaceContext,
_location: Location
) { ... }
fn visit_source_scope(&mut self, scope: SourceScope) { ... }
fn super_body(&mut self, body: &Body<'tcx>) { ... }
fn super_basic_block_data(
&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>
) { ... }
fn super_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>) { ... }
fn super_statement(&mut self, statement: &Statement<'tcx>, location: Location) { ... }
fn super_assign(
&mut self,
place: &Place<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location
) { ... }
fn super_terminator(
&mut self,
terminator: &Terminator<'tcx>,
location: Location
) { ... }
fn super_assert_message(
&mut self,
msg: &AssertMessage<'tcx>,
location: Location
) { ... }
fn super_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location) { ... }
fn super_operand(&mut self, operand: &Operand<'tcx>, location: Location) { ... }
fn super_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
_variance: Variance,
user_ty: &UserTypeProjection,
location: Location
) { ... }
fn super_coverage(&mut self, _coverage: &Coverage, _location: Location) { ... }
fn super_retag(
&mut self,
_kind: RetagKind,
place: &Place<'tcx>,
location: Location
) { ... }
fn super_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>) { ... }
fn super_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>) { ... }
fn super_source_scope(&mut self, _scope: SourceScope) { ... }
fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location) { ... }
fn super_span(&mut self, _span: Span) { ... }
fn super_source_info(&mut self, source_info: &SourceInfo) { ... }
fn super_user_type_projection(&mut self, _ty: &UserTypeProjection) { ... }
fn super_user_type_annotation(
&mut self,
_index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
) { ... }
fn super_ty(&mut self, _ty: Ty<'tcx>) { ... }
fn super_region(&mut self, _region: Region<'tcx>) { ... }
fn super_substs(&mut self, _substs: &SubstsRef<'tcx>) { ... }
fn visit_location(&mut self, body: &Body<'tcx>, location: Location) { ... }
}
Provided Methods
source
fn visit_body(&mut self, body: &Body<'tcx>)
sourcefn visit_basic_block_data(
fn visit_basic_block_data(
&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>
)
source
fn visit_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)
source
fn visit_statement(&mut self, statement: &Statement<'tcx>, location: Location)
sourcefn visit_assign(
fn visit_assign(
&mut self,
place: &Place<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location
)
source
fn visit_terminator(&mut self, terminator: &Terminator<'tcx>, location: Location)
source
fn visit_assert_message(&mut self, msg: &AssertMessage<'tcx>, location: Location)
source
fn visit_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
source
fn visit_operand(&mut self, operand: &Operand<'tcx>, location: Location)
sourcefn visit_ascribe_user_ty(
fn visit_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
variance: Variance,
user_ty: &UserTypeProjection,
location: Location
)
source
fn visit_coverage(&mut self, coverage: &Coverage, location: Location)
source
fn visit_retag(&mut self, kind: RetagKind, place: &Place<'tcx>, location: Location)
sourcefn visit_place(
fn visit_place(
&mut self,
place: &Place<'tcx>,
context: PlaceContext,
location: Location
)
sourcefn visit_projection(
fn visit_projection(
&mut self,
place_ref: PlaceRef<'tcx>,
context: PlaceContext,
location: Location
)
sourcefn visit_projection_elem(
fn visit_projection_elem(
&mut self,
local: Local,
proj_base: &[PlaceElem<'tcx>],
elem: PlaceElem<'tcx>,
context: PlaceContext,
location: Location
)
sourcefn super_place(
fn super_place(
&mut self,
place: &Place<'tcx>,
context: PlaceContext,
location: Location
)
sourcefn super_projection(
fn super_projection(
&mut self,
place_ref: PlaceRef<'tcx>,
context: PlaceContext,
location: Location
)
sourcefn super_projection_elem(
fn super_projection_elem(
&mut self,
_local: Local,
_proj_base: &[PlaceElem<'tcx>],
elem: PlaceElem<'tcx>,
_context: PlaceContext,
location: Location
)
source
fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location)
source
fn visit_span(&mut self, span: Span)
source
fn visit_source_info(&mut self, source_info: &SourceInfo)
source
fn visit_user_type_projection(&mut self, ty: &UserTypeProjection)
sourcefn visit_user_type_annotation(
fn visit_user_type_annotation(
&mut self,
index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
)
source
fn visit_region(&mut self, region: Region<'tcx>, _: Location)
source
fn visit_substs(&mut self, substs: &SubstsRef<'tcx>, _: Location)
source
fn visit_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)
source
fn visit_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)
sourcefn visit_local(
fn visit_local(
&mut self,
_local: Local,
_context: PlaceContext,
_location: Location
)
source
fn visit_source_scope(&mut self, scope: SourceScope)
source
fn super_body(&mut self, body: &Body<'tcx>)
sourcefn super_basic_block_data(
fn super_basic_block_data(
&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>
)
source
fn super_source_scope_data(&mut self, scope_data: &SourceScopeData<'tcx>)
source
fn super_statement(&mut self, statement: &Statement<'tcx>, location: Location)
sourcefn super_assign(
fn super_assign(
&mut self,
place: &Place<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location
)
source
fn super_terminator(&mut self, terminator: &Terminator<'tcx>, location: Location)
source
fn super_assert_message(&mut self, msg: &AssertMessage<'tcx>, location: Location)
source
fn super_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
source
fn super_operand(&mut self, operand: &Operand<'tcx>, location: Location)
sourcefn super_ascribe_user_ty(
fn super_ascribe_user_ty(
&mut self,
place: &Place<'tcx>,
_variance: Variance,
user_ty: &UserTypeProjection,
location: Location
)
source
fn super_coverage(&mut self, _coverage: &Coverage, _location: Location)
sourcefn super_retag(
fn super_retag(
&mut self,
_kind: RetagKind,
place: &Place<'tcx>,
location: Location
)
source
fn super_local_decl(&mut self, local: Local, local_decl: &LocalDecl<'tcx>)
source
fn super_var_debug_info(&mut self, var_debug_info: &VarDebugInfo<'tcx>)
source
fn super_source_scope(&mut self, _scope: SourceScope)
source
fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location)
source
fn super_span(&mut self, _span: Span)
source
fn super_source_info(&mut self, source_info: &SourceInfo)
source
fn super_user_type_projection(&mut self, _ty: &UserTypeProjection)
sourcefn super_user_type_annotation(
fn super_user_type_annotation(
&mut self,
_index: UserTypeAnnotationIndex,
ty: &CanonicalUserTypeAnnotation<'tcx>
)
source
fn super_region(&mut self, _region: Region<'tcx>)
source
fn super_substs(&mut self, _substs: &SubstsRef<'tcx>)
source