[−][src]Trait rustc_mir::dataflow::framework::visitor::ResultsVisitable
Things that can be visited by a ResultsVisitor.
This trait exists so that we can visit the results of multiple dataflow analyses simultaneously.
DO NOT IMPLEMENT MANUALLY. Instead, use the impl_visitable macro below.
Associated Types
Loading content...Required methods
pub fn new_flow_state(&self, body: &Body<'tcx>) -> Self::FlowState[src]
Creates an empty FlowState to hold the transient state for these dataflow results.
The value of the newly created FlowState will be overwritten by reset_to_block_entry
before it can be observed by a ResultsVisitor.
pub fn reset_to_block_entry(
&self,
state: &mut Self::FlowState,
block: BasicBlock
)[src]
&self,
state: &mut Self::FlowState,
block: BasicBlock
)
pub fn reconstruct_before_statement_effect(
&self,
state: &mut Self::FlowState,
statement: &Statement<'tcx>,
location: Location
)[src]
&self,
state: &mut Self::FlowState,
statement: &Statement<'tcx>,
location: Location
)
pub fn reconstruct_statement_effect(
&self,
state: &mut Self::FlowState,
statement: &Statement<'tcx>,
location: Location
)[src]
&self,
state: &mut Self::FlowState,
statement: &Statement<'tcx>,
location: Location
)
pub fn reconstruct_before_terminator_effect(
&self,
state: &mut Self::FlowState,
terminator: &Terminator<'tcx>,
location: Location
)[src]
&self,
state: &mut Self::FlowState,
terminator: &Terminator<'tcx>,
location: Location
)
pub fn reconstruct_terminator_effect(
&self,
state: &mut Self::FlowState,
terminator: &Terminator<'tcx>,
location: Location
)[src]
&self,
state: &mut Self::FlowState,
terminator: &Terminator<'tcx>,
location: Location
)
Implementors
impl<'tcx, A> ResultsVisitable<'tcx> for Results<'tcx, A> where
A: Analysis<'tcx>, [src]
A: Analysis<'tcx>,
type FlowState = A::Domain
type Direction = A::Direction
pub fn new_flow_state(&self, body: &Body<'tcx>) -> Self::FlowState[src]
pub fn reset_to_block_entry(
&self,
state: &mut Self::FlowState,
block: BasicBlock
)[src]
&self,
state: &mut Self::FlowState,
block: BasicBlock
)
pub fn reconstruct_before_statement_effect(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
pub fn reconstruct_statement_effect(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
pub fn reconstruct_before_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)
pub fn reconstruct_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)
impl<'tcx, B, U, E, D: Direction> ResultsVisitable<'tcx> for BorrowckAnalyses<Results<'tcx, B>, Results<'tcx, U>, Results<'tcx, E>> where
B: Analysis<'tcx, Direction = D>,
U: Analysis<'tcx, Direction = D>,
E: Analysis<'tcx, Direction = D>, [src]
B: Analysis<'tcx, Direction = D>,
U: Analysis<'tcx, Direction = D>,
E: Analysis<'tcx, Direction = D>,
type Direction = D
type FlowState = BorrowckAnalyses<B::Domain, U::Domain, E::Domain>
pub fn new_flow_state(&self, body: &Body<'tcx>) -> Self::FlowState[src]
pub fn reset_to_block_entry(
&self,
state: &mut Self::FlowState,
block: BasicBlock
)[src]
&self,
state: &mut Self::FlowState,
block: BasicBlock
)
pub fn reconstruct_before_statement_effect(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
pub fn reconstruct_statement_effect(
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
stmt: &Statement<'tcx>,
loc: Location
)
pub fn reconstruct_before_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)
pub fn reconstruct_terminator_effect(
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)[src]
&self,
state: &mut Self::FlowState,
term: &Terminator<'tcx>,
loc: Location
)