[][src]Enum p8n_types::Statement

pub enum Statement {
    Expression {
        result: Variable,
        op: Operation,
    },
    Flow {
        op: FlowOperation,
    },
    Memory {
        op: MemoryOperation,
        result: Segment,
    },
}

A single IL statement.

Variants

Expression

A single RREIL statement.

Fields of Expression

result: Variable

Value that the operation result is assigned to

op: Operation

Operation and its arguments

Flow

Interprocedural control flow operation

Fields of Flow

op: FlowOperation

Operation

Memory

A memory operation

Fields of Memory

op: MemoryOperation

Operation

result: Segment

Memory segment resulting from the memory operation.

Methods

impl Statement[src]

pub fn sanity_check(&self) -> Result<()>[src]

Does a simple sanity check. The functions returns Err if

  • The argument size are not equal
  • The result has not the same size as assignee
  • The select operation arguments are out of range

Trait Implementations

impl Eq for Statement[src]

impl Clone for Statement[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl PartialEq<Statement> for Statement[src]

impl Debug for Statement[src]

impl Arbitrary for Statement[src]

fn shrink(&self) -> Box<dyn Iterator<Item = Self> + 'static>[src]

Auto Trait Implementations

impl Send for Statement

impl Sync for Statement

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = !

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

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

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

The type returned in the event of a conversion error.

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<Q, K> Equivalent for Q where
    K: Borrow<Q> + ?Sized,
    Q: Eq + ?Sized
[src]