Trait rustc_mir::dataflow::at_location::FlowsAtLocation[][src]

pub trait FlowsAtLocation {
    fn reset_to_entry_of(&mut self, bb: BasicBlock);
fn reconstruct_statement_effect(&mut self, loc: Location);
fn reconstruct_terminator_effect(&mut self, loc: Location);
fn apply_local_effect(&mut self, loc: Location); }
🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

A trait for "cartesian products" of multiple FlowAtLocation.

There's probably a way to auto-impl this, but I think it is cleaner to have manual visitor impls.

Required Methods

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Reset the state bitvector to represent the entry to block bb.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Build gen + kill sets for statement at loc.

Note that invoking this method alone does not change the curr_state -- you must invoke apply_local_effect afterwards.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Build gen + kill sets for terminator for loc.

Note that invoking this method alone does not change the curr_state -- you must invoke apply_local_effect afterwards.

🔬 This is a nightly-only experimental API. (rustc_private)

this crate is being loaded from the sysroot, an unstable location; did you mean to load this crate from crates.io via Cargo.toml instead?

Apply current gen + kill sets to flow_state.

(loc parameters can be ignored if desired by client. For the terminator, the stmt_idx will be the number of statements in the block.)

Implementors