pub struct TestCfg {
pub entry: BlockId,
pub exits: HashSet<BlockId>,
pub error_blocks: HashSet<BlockId>,
pub successors: HashMap<BlockId, Vec<BlockId>>,
pub predecessors: HashMap<BlockId, Vec<BlockId>>,
}Fields§
§entry: BlockId§exits: HashSet<BlockId>§error_blocks: HashSet<BlockId>§successors: HashMap<BlockId, Vec<BlockId>>§predecessors: HashMap<BlockId, Vec<BlockId>>Implementations§
Source§impl TestCfg
impl TestCfg
pub fn new(entry: BlockId) -> Self
pub fn add_edge(&mut self, from: BlockId, to: BlockId) -> &mut Self
pub fn add_exit(&mut self, block: BlockId) -> &mut Self
pub fn add_error(&mut self, block: BlockId) -> &mut Self
pub fn chain(start: i64, count: usize) -> Self
pub fn if_else() -> Self
pub fn simple_loop() -> Self
pub fn enumerate_paths(&self) -> Vec<Path>
pub fn compute_dominators(&self) -> DominatorTree
pub fn detect_loops(&self) -> Vec<Loop>
Trait Implementations§
Auto Trait Implementations§
impl Freeze for TestCfg
impl RefUnwindSafe for TestCfg
impl Send for TestCfg
impl Sync for TestCfg
impl Unpin for TestCfg
impl UnsafeUnpin for TestCfg
impl UnwindSafe for TestCfg
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more