Rebuilder

Trait Rebuilder 

Source
pub trait Rebuilder<'db> {
    // Required method
    fn map_var_id(&mut self, var: VariableId) -> VariableId;

    // Provided methods
    fn map_var_usage(&mut self, var_usage: VarUsage<'db>) -> VarUsage<'db> { ... }
    fn map_location(&mut self, location: LocationId<'db>) -> LocationId<'db> { ... }
    fn map_block_id(&mut self, block: BlockId) -> BlockId { ... }
    fn transform_statement(&mut self, _statement: &mut Statement<'db>) { ... }
    fn transform_remapping(&mut self, _remapping: &mut VarRemapping<'db>) { ... }
    fn transform_end(&mut self, _end: &mut BlockEnd<'db>) { ... }
    fn transform_block(&mut self, _block: &mut Block<'db>) { ... }
}
Expand description

A rebuilder trait for rebuilding lowered representation.

Required Methods§

Source

fn map_var_id(&mut self, var: VariableId) -> VariableId

Provided Methods§

Source

fn map_var_usage(&mut self, var_usage: VarUsage<'db>) -> VarUsage<'db>

Source

fn map_location(&mut self, location: LocationId<'db>) -> LocationId<'db>

Source

fn map_block_id(&mut self, block: BlockId) -> BlockId

Source

fn transform_statement(&mut self, _statement: &mut Statement<'db>)

Source

fn transform_remapping(&mut self, _remapping: &mut VarRemapping<'db>)

Source

fn transform_end(&mut self, _end: &mut BlockEnd<'db>)

Source

fn transform_block(&mut self, _block: &mut Block<'db>)

Implementors§

Source§

impl<'db> Rebuilder<'db> for VarRenamer

Source§

impl<'db> Rebuilder<'db> for RebuildContext

Source§

impl<'db> Rebuilder<'db> for cairo_lang_lowering::reorganize_blocks::VarReassigner<'db, '_>

Source§

impl<'db, 'a> Rebuilder<'db> for cairo_lang_lowering::optimizations::dedup_blocks::VarReassigner<'db, 'a>

Source§

impl<'db, 'mt> Rebuilder<'db> for Mapper<'db, 'mt, '_>