MirVisitor

Trait MirVisitor 

Source
pub trait MirVisitor {
    // Provided methods
    fn visit_context(&mut self, ctx: &MirContext) { ... }
    fn visit_function(&mut self, func: &FunctionMIR) { ... }
    fn visit_basic_block(&mut self, _id: BasicBlockId, block: &BasicBlock) { ... }
    fn visit_statement(&mut self, stmt: &Statement) { ... }
    fn visit_terminator(&mut self, term: &Terminator) { ... }
    fn visit_place(&mut self, place: &Place) { ... }
    fn visit_rvalue(&mut self, rvalue: &Rvalue) { ... }
    fn visit_operand(&mut self, operand: &Operand) { ... }
    fn visit_local(&mut self, _local: Local) { ... }
    fn visit_target(&mut self, _target: BasicBlockId) { ... }
}
Expand description

Visitor trait for MIR

Implement this trait to traverse MIR structures. All methods have default implementations that do nothing.

Provided Methods§

Source

fn visit_context(&mut self, ctx: &MirContext)

Visit a MIR context

Source

fn visit_function(&mut self, func: &FunctionMIR)

Visit a function

Source

fn visit_basic_block(&mut self, _id: BasicBlockId, block: &BasicBlock)

Visit a basic block

Source

fn visit_statement(&mut self, stmt: &Statement)

Visit a statement

Source

fn visit_terminator(&mut self, term: &Terminator)

Visit a terminator

Source

fn visit_place(&mut self, place: &Place)

Visit a place

Source

fn visit_rvalue(&mut self, rvalue: &Rvalue)

Visit an rvalue

Source

fn visit_operand(&mut self, operand: &Operand)

Visit an operand

Source

fn visit_local(&mut self, _local: Local)

Visit a local

Source

fn visit_target(&mut self, _target: BasicBlockId)

Visit a target block

Implementors§