pub enum Statement {
Sierra(GenStatement<LabelId>),
Label(Label),
PushValues(Vec<PushValue>),
}
Expand description
Represents a pre-sierra statement - a statement before label-resolution.
Variants§
Sierra(GenStatement<LabelId>)
A compiled Sierra statement (before label resolution).
Label(Label)
A label.
PushValues(Vec<PushValue>)
An instruction to push variables onto the stack. For example, used before calling functions and returning.
Note that push values does not guarantee that new copies of the values will be pushed. If a prefix of the values is already on the stack, they will not be re-pushed.
Implementations§
source§impl Statement
impl Statement
pub fn into_statement_without_location(self) -> StatementWithLocation
pub fn to_string(&self, db: &dyn SierraGenGroup) -> String
Trait Implementations§
source§impl PartialEq for Statement
impl PartialEq for Statement
impl Eq for Statement
impl StructuralPartialEq for Statement
Auto Trait Implementations§
impl RefUnwindSafe for Statement
impl Send for Statement
impl Sync for Statement
impl Unpin for Statement
impl UnwindSafe for Statement
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.