Trait rustc::mir::visit::Visitor
[−]
[src]
pub trait Visitor<'tcx> { fn visit_mir(&mut self, mir: &Mir<'tcx>) { ... } fn visit_basic_block_data(&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>) { ... } fn visit_visibility_scope_data(&mut self, scope_data: &VisibilityScopeData) { ... } fn visit_statement(&mut self,
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location) { ... } fn visit_assign(&mut self,
block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location) { ... } fn visit_terminator(&mut self,
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location) { ... } fn visit_terminator_kind(&mut self,
block: BasicBlock,
kind: &TerminatorKind<'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_lvalue(&mut self,
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn visit_static(&mut self,
static_: &Static<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn visit_projection(&mut self,
lvalue: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn visit_projection_elem(&mut self,
lvalue: &LvalueElem<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn visit_branch(&mut self, source: BasicBlock, target: BasicBlock) { ... } fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location) { ... } fn visit_literal(&mut self, literal: &Literal<'tcx>, location: Location) { ... } fn visit_def_id(&mut self, def_id: &DefId, _: 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>) { ... } fn visit_substs(&mut self, substs: &&'tcx Substs<'tcx>) { ... } fn visit_closure_substs(&mut self, substs: &ClosureSubsts<'tcx>) { ... } fn visit_const_val(&mut self, const_val: &ConstVal, _: Location) { ... } fn visit_const_int(&mut self, const_int: &ConstInt, _: Location) { ... } fn visit_const_usize(&mut self, const_usize: &ConstUsize, _: Location) { ... } fn visit_local_decl(&mut self, local_decl: &LocalDecl<'tcx>) { ... } fn visit_visibility_scope(&mut self, scope: &VisibilityScope) { ... } fn super_mir(&mut self, mir: &Mir<'tcx>) { ... } fn super_basic_block_data(&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>) { ... } fn super_visibility_scope_data(&mut self, scope_data: &VisibilityScopeData) { ... } fn super_statement(&mut self,
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location) { ... } fn super_assign(&mut self,
_block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location) { ... } fn super_terminator(&mut self,
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location) { ... } fn super_terminator_kind(&mut self,
block: BasicBlock,
kind: &TerminatorKind<'tcx>,
source_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_lvalue(&mut self,
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn super_static(&mut self,
static_: &Static<'tcx>,
_context: LvalueContext<'tcx>,
location: Location) { ... } fn super_projection(&mut self,
proj: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location) { ... } fn super_projection_elem(&mut self,
proj: &LvalueElem<'tcx>,
_context: LvalueContext<'tcx>,
location: Location) { ... } fn super_local_decl(&mut self, local_decl: &LocalDecl<'tcx>) { ... } fn super_visibility_scope(&mut self, _scope: &VisibilityScope) { ... } fn super_branch(&mut self, _source: BasicBlock, _target: BasicBlock) { ... } fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location) { ... } fn super_literal(&mut self, literal: &Literal<'tcx>, location: Location) { ... } fn super_def_id(&mut self, _def_id: &DefId) { ... } fn super_span(&mut self, _span: &Span) { ... } fn super_source_info(&mut self, source_info: &SourceInfo) { ... } fn super_ty(&mut self, _ty: &Ty<'tcx>) { ... } fn super_substs(&mut self, _substs: &&'tcx Substs<'tcx>) { ... } fn super_closure_substs(&mut self, _substs: &ClosureSubsts<'tcx>) { ... } fn super_const_val(&mut self, _const_val: &ConstVal) { ... } fn super_const_int(&mut self, _const_int: &ConstInt) { ... } fn super_const_usize(&mut self, _const_usize: &ConstUsize) { ... } fn visit_location(&mut self, mir: &Mir<'tcx>, location: Location) { ... } }
🔬 This is a nightly-only experimental API. (
rustc_private
)Provided Methods
fn visit_mir(&mut self, mir: &Mir<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_basic_block_data(&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>)
block: BasicBlock,
data: &BasicBlockData<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_visibility_scope_data(&mut self, scope_data: &VisibilityScopeData)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_statement(&mut self,
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location)
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_assign(&mut self,
block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location)
block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_terminator(&mut self,
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location)
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_terminator_kind(&mut self,
block: BasicBlock,
kind: &TerminatorKind<'tcx>,
location: Location)
block: BasicBlock,
kind: &TerminatorKind<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_assert_message(&mut self,
msg: &AssertMessage<'tcx>,
location: Location)
msg: &AssertMessage<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_operand(&mut self, operand: &Operand<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_lvalue(&mut self,
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_static(&mut self,
static_: &Static<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
static_: &Static<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_projection(&mut self,
lvalue: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
lvalue: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_projection_elem(&mut self,
lvalue: &LvalueElem<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
lvalue: &LvalueElem<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_branch(&mut self, source: BasicBlock, target: BasicBlock)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_constant(&mut self, constant: &Constant<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_literal(&mut self, literal: &Literal<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_def_id(&mut self, def_id: &DefId, _: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_span(&mut self, span: &Span)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_source_info(&mut self, source_info: &SourceInfo)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_ty(&mut self, ty: &Ty<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_substs(&mut self, substs: &&'tcx Substs<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_closure_substs(&mut self, substs: &ClosureSubsts<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_const_val(&mut self, const_val: &ConstVal, _: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_const_int(&mut self, const_int: &ConstInt, _: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_const_usize(&mut self, const_usize: &ConstUsize, _: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_local_decl(&mut self, local_decl: &LocalDecl<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_visibility_scope(&mut self, scope: &VisibilityScope)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_mir(&mut self, mir: &Mir<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_basic_block_data(&mut self,
block: BasicBlock,
data: &BasicBlockData<'tcx>)
block: BasicBlock,
data: &BasicBlockData<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_visibility_scope_data(&mut self, scope_data: &VisibilityScopeData)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_statement(&mut self,
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location)
block: BasicBlock,
statement: &Statement<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_assign(&mut self,
_block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location)
_block: BasicBlock,
lvalue: &Lvalue<'tcx>,
rvalue: &Rvalue<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_terminator(&mut self,
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location)
block: BasicBlock,
terminator: &Terminator<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_terminator_kind(&mut self,
block: BasicBlock,
kind: &TerminatorKind<'tcx>,
source_location: Location)
block: BasicBlock,
kind: &TerminatorKind<'tcx>,
source_location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_assert_message(&mut self,
msg: &AssertMessage<'tcx>,
location: Location)
msg: &AssertMessage<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_rvalue(&mut self, rvalue: &Rvalue<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_operand(&mut self, operand: &Operand<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_lvalue(&mut self,
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
lvalue: &Lvalue<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_static(&mut self,
static_: &Static<'tcx>,
_context: LvalueContext<'tcx>,
location: Location)
static_: &Static<'tcx>,
_context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_projection(&mut self,
proj: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
proj: &LvalueProjection<'tcx>,
context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_projection_elem(&mut self,
proj: &LvalueElem<'tcx>,
_context: LvalueContext<'tcx>,
location: Location)
proj: &LvalueElem<'tcx>,
_context: LvalueContext<'tcx>,
location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_local_decl(&mut self, local_decl: &LocalDecl<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_visibility_scope(&mut self, _scope: &VisibilityScope)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_branch(&mut self, _source: BasicBlock, _target: BasicBlock)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_constant(&mut self, constant: &Constant<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_literal(&mut self, literal: &Literal<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_def_id(&mut self, _def_id: &DefId)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_span(&mut self, _span: &Span)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_source_info(&mut self, source_info: &SourceInfo)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_ty(&mut self, _ty: &Ty<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_substs(&mut self, _substs: &&'tcx Substs<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_closure_substs(&mut self, _substs: &ClosureSubsts<'tcx>)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_const_val(&mut self, _const_val: &ConstVal)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_const_int(&mut self, _const_int: &ConstInt)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn super_const_usize(&mut self, _const_usize: &ConstUsize)
🔬 This is a nightly-only experimental API. (
rustc_private
)fn visit_location(&mut self, mir: &Mir<'tcx>, location: Location)
🔬 This is a nightly-only experimental API. (
rustc_private
)