pub enum MastNode {
Block(BasicBlockNode),
Join(JoinNode),
Split(SplitNode),
Loop(LoopNode),
Call(CallNode),
Dyn(DynNode),
External(ExternalNode),
}Variants§
Block(BasicBlockNode)
Join(JoinNode)
Split(SplitNode)
Loop(LoopNode)
Call(CallNode)
Dyn(DynNode)
External(ExternalNode)
Implementations§
Source§impl MastNode
Public accessors
impl MastNode
Public accessors
Sourcepub fn is_external(&self) -> bool
pub fn is_external(&self) -> bool
Returns true if this node is an external node.
Sourcepub fn is_basic_block(&self) -> bool
pub fn is_basic_block(&self) -> bool
Returns true if this node is a basic block.
Sourcepub fn get_basic_block(&self) -> Option<&BasicBlockNode>
pub fn get_basic_block(&self) -> Option<&BasicBlockNode>
Returns the inner basic block node if the MastNode wraps a BasicBlockNode; None
otherwise.
Sourcepub fn unwrap_basic_block(&self) -> &BasicBlockNode
pub fn unwrap_basic_block(&self) -> &BasicBlockNode
Unwraps the inner basic block node if the MastNode wraps a BasicBlockNode; panics
otherwise.
§Panics
Panics if the MastNode does not wrap a BasicBlockNode.
Sourcepub fn unwrap_join(&self) -> &JoinNode
pub fn unwrap_join(&self) -> &JoinNode
Sourcepub fn unwrap_split(&self) -> &SplitNode
pub fn unwrap_split(&self) -> &SplitNode
Sourcepub fn unwrap_loop(&self) -> &LoopNode
pub fn unwrap_loop(&self) -> &LoopNode
Sourcepub fn unwrap_call(&self) -> &CallNode
pub fn unwrap_call(&self) -> &CallNode
Sourcepub fn unwrap_dyn(&self) -> &DynNode
pub fn unwrap_dyn(&self) -> &DynNode
Sourcepub fn unwrap_external(&self) -> &ExternalNode
pub fn unwrap_external(&self) -> &ExternalNode
Unwraps the inner external node if the MastNode wraps a ExternalNode; panics
otherwise.
§Panics
- if the
MastNodedoes not wrap aExternalNode.
Trait Implementations§
Source§impl From<BasicBlockNode> for MastNode
impl From<BasicBlockNode> for MastNode
Source§fn from(value: BasicBlockNode) -> Self
fn from(value: BasicBlockNode) -> Self
Converts to this type from the input type.
Source§impl From<ExternalNode> for MastNode
impl From<ExternalNode> for MastNode
Source§fn from(value: ExternalNode) -> Self
fn from(value: ExternalNode) -> Self
Converts to this type from the input type.
Source§impl MastNodeExt for MastNode
impl MastNodeExt for MastNode
Source§type Builder = MastNodeBuilder
type Builder = MastNodeBuilder
Converts this node into its corresponding builder, reusing allocated data where possible.
Source§fn before_enter<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]
fn before_enter<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]
Returns the decorators to be executed before this node is executed.
Source§fn after_exit<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]
fn after_exit<'a>(&'a self, forest: &'a MastForest) -> &'a [DecoratorId]
Returns the decorators to be executed after this node is executed.
Source§fn to_display<'a>(
&'a self,
mast_forest: &'a MastForest,
) -> Box<dyn Display + 'a>
fn to_display<'a>( &'a self, mast_forest: &'a MastForest, ) -> Box<dyn Display + 'a>
Returns a display formatter for this node.
Source§fn to_pretty_print<'a>(
&'a self,
mast_forest: &'a MastForest,
) -> Box<dyn PrettyPrint + 'a>
fn to_pretty_print<'a>( &'a self, mast_forest: &'a MastForest, ) -> Box<dyn PrettyPrint + 'a>
Returns a pretty printer for this node.
Source§fn has_children(&self) -> bool
fn has_children(&self) -> bool
Returns true if the this node has children.
Source§fn append_children_to(&self, target: &mut Vec<MastNodeId>)
fn append_children_to(&self, target: &mut Vec<MastNodeId>)
Appends the NodeIds of the children of this node, if any, to the vector.
Source§fn for_each_child<F>(&self, f: F)where
F: FnMut(MastNodeId),
fn for_each_child<F>(&self, f: F)where
F: FnMut(MastNodeId),
Executes the given closure for each child of this node.
Source§fn verify_node_in_forest(&self, forest: &MastForest)
fn verify_node_in_forest(&self, forest: &MastForest)
Verifies that this node is stored at the ID in its decorators field in the forest.
fn to_builder(self, forest: &MastForest) -> Self::Builder
impl Eq for MastNode
impl StructuralPartialEq for MastNode
Auto Trait Implementations§
impl Freeze for MastNode
impl RefUnwindSafe for MastNode
impl Send for MastNode
impl Sync for MastNode
impl Unpin for MastNode
impl UnwindSafe for MastNode
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