Enum miden_core::mast::MastNode
source · pub enum MastNode {
Block(BasicBlockNode),
Join(JoinNode),
Split(SplitNode),
Loop(LoopNode),
Call(CallNode),
Dyn,
External(ExternalNode),
}
Variants§
Block(BasicBlockNode)
Join(JoinNode)
Split(SplitNode)
Loop(LoopNode)
Call(CallNode)
Dyn
External(ExternalNode)
Implementations§
source§impl MastNode
impl MastNode
Constructors
pub fn new_basic_block(operations: Vec<Operation>) -> Self
pub fn new_basic_block_with_decorators( operations: Vec<Operation>, decorators: DecoratorList, ) -> Self
pub fn new_join( left_child: MastNodeId, right_child: MastNodeId, mast_forest: &MastForest, ) -> Result<Self, MastForestError>
pub fn new_split( if_branch: MastNodeId, else_branch: MastNodeId, mast_forest: &MastForest, ) -> Result<Self, MastForestError>
pub fn new_loop( body: MastNodeId, mast_forest: &MastForest, ) -> Result<Self, MastForestError>
pub fn new_call( callee: MastNodeId, mast_forest: &MastForest, ) -> Result<Self, MastForestError>
pub fn new_syscall( callee: MastNodeId, mast_forest: &MastForest, ) -> Result<Self, MastForestError>
pub fn new_dyn() -> Self
pub fn new_external(mast_root: RpoDigest) -> Self
Trait Implementations§
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
source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
source§default unsafe fn clone_to_uninit(&self, dst: *mut T)
default unsafe fn clone_to_uninit(&self, dst: *mut T)
🔬This is a nightly-only experimental API. (
clone_to_uninit
)