pub trait AirVisitor {
// Provided methods
fn visit_function(&mut self, func: &AirFunction) -> bool { ... }
fn visit_block(&mut self, func: &AirFunction, block: &AirBlock) -> bool { ... }
fn visit_instruction(
&mut self,
func: &AirFunction,
block: &AirBlock,
inst: &Instruction,
) { ... }
}Expand description
Visitor trait for traversing AIR module structures.
Default implementations are no-ops, so visitors only need to
implement the methods they care about. Return false from
visit_function or visit_block to skip visiting children.
Provided Methods§
Sourcefn visit_function(&mut self, func: &AirFunction) -> bool
fn visit_function(&mut self, func: &AirFunction) -> bool
Called for each function. Return false to skip blocks/instructions.
Sourcefn visit_block(&mut self, func: &AirFunction, block: &AirBlock) -> bool
fn visit_block(&mut self, func: &AirFunction, block: &AirBlock) -> bool
Called for each block. Return false to skip instructions.
Sourcefn visit_instruction(
&mut self,
func: &AirFunction,
block: &AirBlock,
inst: &Instruction,
)
fn visit_instruction( &mut self, func: &AirFunction, block: &AirBlock, inst: &Instruction, )
Called for each instruction.