Struct cairo_lang_sierra::program::Program
source · pub struct Program {
pub type_declarations: Vec<TypeDeclaration>,
pub libfunc_declarations: Vec<LibfuncDeclaration>,
pub statements: Vec<Statement>,
pub funcs: Vec<Function>,
}
Expand description
A full Sierra program.
Fields§
§type_declarations: Vec<TypeDeclaration>
Declarations for all the used types.
libfunc_declarations: Vec<LibfuncDeclaration>
Declarations for all the used library functions.
statements: Vec<Statement>
The code of the program.
funcs: Vec<Function>
Descriptions of the functions - signatures and entry points.
Implementations§
source§impl Program
impl Program
pub fn get_statement(&self, id: &StatementIdx) -> Option<&Statement>
Trait Implementations§
source§impl PartialEq for Program
impl PartialEq for Program
impl Eq for Program
impl StructuralEq for Program
impl StructuralPartialEq for Program
Auto Trait Implementations§
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnwindSafe for Program
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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§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 Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key
and return true
if they are equal.