pub trait CompilationPass: Send + Sync {
// Required methods
fn run(
&mut self,
ir: &mut IntermediateRepresentation,
) -> Result<(), IRError>;
fn dependencies(&self) -> Vec<String>;
fn name(&self) -> &str;
}
Expand description
Compilation pass trait
Required Methods§
Sourcefn run(&mut self, ir: &mut IntermediateRepresentation) -> Result<(), IRError>
fn run(&mut self, ir: &mut IntermediateRepresentation) -> Result<(), IRError>
Run compilation pass
Sourcefn dependencies(&self) -> Vec<String>
fn dependencies(&self) -> Vec<String>
Get pass dependencies