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