[][src]Trait rustc_mir::dataflow::framework::direction::Direction

pub trait Direction {
    pub fn is_forward() -> bool;
pub fn apply_effects_in_range<A, 'tcx>(
        analysis: &A,
        state: &mut A::Domain,
        block: BasicBlock,
        block_data: &BasicBlockData<'tcx>,
        effects: RangeInclusive<EffectIndex>
    )
    where
        A: Analysis<'tcx>
;
pub fn apply_effects_in_block<A, 'tcx>(
        analysis: &A,
        state: &mut A::Domain,
        block: BasicBlock,
        block_data: &BasicBlockData<'tcx>
    )
    where
        A: Analysis<'tcx>
;
pub fn gen_kill_effects_in_block<A, 'tcx>(
        analysis: &A,
        trans: &mut GenKillSet<A::Idx>,
        block: BasicBlock,
        block_data: &BasicBlockData<'tcx>
    )
    where
        A: GenKillAnalysis<'tcx>
;
pub fn visit_results_in_block<F, R, 'tcx, 'mir>(
        state: &mut F,
        block: BasicBlock,
        block_data: &'mir BasicBlockData<'tcx>,
        results: &R,
        vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
    )
    where
        R: ResultsVisitable<'tcx, FlowState = F>
;
pub fn join_state_into_successors_of<A, 'tcx>(
        analysis: &A,
        tcx: TyCtxt<'tcx>,
        body: &Body<'tcx>,
        dead_unwinds: Option<&BitSet<BasicBlock>>,
        exit_state: &mut A::Domain,
        block: (BasicBlock, &BasicBlockData<'tcx>),
        propagate: impl FnMut(BasicBlock, &A::Domain)
    )
    where
        A: Analysis<'tcx>
; pub fn is_backward() -> bool { ... } }

Required methods

pub fn is_forward() -> bool[src]

pub fn apply_effects_in_range<A, 'tcx>(
    analysis: &A,
    state: &mut A::Domain,
    block: BasicBlock,
    block_data: &BasicBlockData<'tcx>,
    effects: RangeInclusive<EffectIndex>
) where
    A: Analysis<'tcx>, 
[src]

Applies all effects between the given EffectIndexs.

effects.start() must precede or equal effects.end() in this direction.

pub fn apply_effects_in_block<A, 'tcx>(
    analysis: &A,
    state: &mut A::Domain,
    block: BasicBlock,
    block_data: &BasicBlockData<'tcx>
) where
    A: Analysis<'tcx>, 
[src]

pub fn gen_kill_effects_in_block<A, 'tcx>(
    analysis: &A,
    trans: &mut GenKillSet<A::Idx>,
    block: BasicBlock,
    block_data: &BasicBlockData<'tcx>
) where
    A: GenKillAnalysis<'tcx>, 
[src]

pub fn visit_results_in_block<F, R, 'tcx, 'mir>(
    state: &mut F,
    block: BasicBlock,
    block_data: &'mir BasicBlockData<'tcx>,
    results: &R,
    vis: &mut impl ResultsVisitor<'mir, 'tcx, FlowState = F>
) where
    R: ResultsVisitable<'tcx, FlowState = F>, 
[src]

pub fn join_state_into_successors_of<A, 'tcx>(
    analysis: &A,
    tcx: TyCtxt<'tcx>,
    body: &Body<'tcx>,
    dead_unwinds: Option<&BitSet<BasicBlock>>,
    exit_state: &mut A::Domain,
    block: (BasicBlock, &BasicBlockData<'tcx>),
    propagate: impl FnMut(BasicBlock, &A::Domain)
) where
    A: Analysis<'tcx>, 
[src]

Loading content...

Provided methods

pub fn is_backward() -> bool[src]

Loading content...

Implementors

impl Direction for Backward[src]

impl Direction for Forward[src]

Loading content...