pub struct DominatorTree { /* private fields */ }Expand description
Dominator tree for a control flow graph.
Uses the iterative data-flow algorithm (Cooper, Harvey, Kennedy): simple, correct, and fast enough for the small CFGs produced by Lua functions.
Implementations§
Source§impl DominatorTree
impl DominatorTree
Sourcepub fn build(cfg: &ControlFlowGraph) -> Self
pub fn build(cfg: &ControlFlowGraph) -> Self
Build the dominator tree from a CFG. Entry block is assumed to be block 0.
Sourcepub fn num_blocks(&self) -> usize
pub fn num_blocks(&self) -> usize
Number of blocks.
Trait Implementations§
Source§impl Debug for DominatorTree
impl Debug for DominatorTree
Auto Trait Implementations§
impl Freeze for DominatorTree
impl RefUnwindSafe for DominatorTree
impl Send for DominatorTree
impl Sync for DominatorTree
impl Unpin for DominatorTree
impl UnsafeUnpin for DominatorTree
impl UnwindSafe for DominatorTree
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
Source§impl<I, T> ExtractContext<I, ()> for T
impl<I, T> ExtractContext<I, ()> for T
Source§fn extract_context(self, _original_input: I)
fn extract_context(self, _original_input: I)
Given the context attached to a nom error, and given the original
input to the nom parser, extract more the useful context information. Read more
Source§impl<T> Indentable for Twhere
T: Display,
impl<T> Indentable for Twhere
T: Display,
Source§fn indented_skip_initial(self, indent: &str) -> IndentedSkipIntial<'_, Self>
fn indented_skip_initial(self, indent: &str) -> IndentedSkipIntial<'_, Self>
Source§impl<I> RecreateContext<I> for I
impl<I> RecreateContext<I> for I
Source§fn recreate_context(_original_input: I, tail: I) -> I
fn recreate_context(_original_input: I, tail: I) -> I
Given the original input, as well as the context reported by nom,
recreate a context in the original string where the error occurred. Read more