[][src]Trait rustc_mir::dataflow::ResultsVisitor

pub trait ResultsVisitor<'mir, 'tcx> {
    type FlowState;
    fn visit_block_start(
        &mut self,
        _state: &Self::FlowState,
        _block_data: &'mir BasicBlockData<'tcx>,
        _block: BasicBlock
    ) { ... }
fn visit_statement_before_primary_effect(
        &mut self,
        _state: &Self::FlowState,
        _statement: &'mir Statement<'tcx>,
        _location: Location
    ) { ... }
fn visit_statement_after_primary_effect(
        &mut self,
        _state: &Self::FlowState,
        _statement: &'mir Statement<'tcx>,
        _location: Location
    ) { ... }
fn visit_terminator_before_primary_effect(
        &mut self,
        _state: &Self::FlowState,
        _terminator: &'mir Terminator<'tcx>,
        _location: Location
    ) { ... }
fn visit_terminator_after_primary_effect(
        &mut self,
        _state: &Self::FlowState,
        _terminator: &'mir Terminator<'tcx>,
        _location: Location
    ) { ... }
fn visit_block_end(
        &mut self,
        _state: &Self::FlowState,
        _block_data: &'mir BasicBlockData<'tcx>,
        _block: BasicBlock
    ) { ... } }

Associated Types

type FlowState

Loading content...

Provided methods

fn visit_block_start(
    &mut self,
    _state: &Self::FlowState,
    _block_data: &'mir BasicBlockData<'tcx>,
    _block: BasicBlock
)

fn visit_statement_before_primary_effect(
    &mut self,
    _state: &Self::FlowState,
    _statement: &'mir Statement<'tcx>,
    _location: Location
)

Called with the before_statement_effect of the given statement applied to state but not its statement_effect.

fn visit_statement_after_primary_effect(
    &mut self,
    _state: &Self::FlowState,
    _statement: &'mir Statement<'tcx>,
    _location: Location
)

Called with both the before_statement_effect and the statement_effect of the given statement applied to state.

fn visit_terminator_before_primary_effect(
    &mut self,
    _state: &Self::FlowState,
    _terminator: &'mir Terminator<'tcx>,
    _location: Location
)

Called with the before_terminator_effect of the given terminator applied to state but not its terminator_effect.

fn visit_terminator_after_primary_effect(
    &mut self,
    _state: &Self::FlowState,
    _terminator: &'mir Terminator<'tcx>,
    _location: Location
)

Called with both the before_terminator_effect and the terminator_effect of the given terminator applied to state.

The call_return_effect (if one exists) will not be applied to state.

fn visit_block_end(
    &mut self,
    _state: &Self::FlowState,
    _block_data: &'mir BasicBlockData<'tcx>,
    _block: BasicBlock
)

Loading content...

Implementors

impl<'cx, 'tcx> ResultsVisitor<'cx, 'tcx> for MirBorrowckCtxt<'cx, 'tcx>[src]

type FlowState = Flows<'cx, 'tcx>

impl<'mir, 'tcx, '_> ResultsVisitor<'mir, 'tcx> for StorageConflictVisitor<'mir, 'tcx, '_>[src]

type FlowState = BitSet<Local>

impl<A, 'tcx, 'a> ResultsVisitor<'a, 'tcx> for StateDiffCollector<'a, 'tcx, A> where
    A: Analysis<'tcx>,
    A::Domain: DebugWithContext<A>, 
[src]

type FlowState = A::Domain

Loading content...