pub struct Program {
pub functions: HashMap<FunctionId, Function>,
pub classes: HashMap<ClassId, Class>,
pub modules: HashMap<ModuleId, Module>,
pub global_statements: Vec<Statement>,
}Expand description
Program in the IR
Fields§
§functions: HashMap<FunctionId, Function>Functions
classes: HashMap<ClassId, Class>Classes
modules: HashMap<ModuleId, Module>Modules
global_statements: Vec<Statement>Global statements
Implementations§
Source§impl Program
impl Program
Sourcepub fn add_function(&mut self, function: Function)
pub fn add_function(&mut self, function: Function)
Add a function to the program
Sourcepub fn add_module(&mut self, module: Module)
pub fn add_module(&mut self, module: Module)
Add a module to the program
Sourcepub fn add_global_statement(&mut self, statement: Statement)
pub fn add_global_statement(&mut self, statement: Statement)
Add a global statement
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Program
impl<'de> Deserialize<'de> for Program
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for Program
Auto Trait Implementations§
impl Freeze for Program
impl RefUnwindSafe for Program
impl Send for Program
impl Sync for Program
impl Unpin for Program
impl UnsafeUnpin 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