diff --git a/sway-core/src/asm_generation/asm_builder.rs b/sway-core/src/asm_generation/asm_builder.rs index e1e9324de87..bae2de432ea 100644 --- a/sway-core/src/asm_generation/asm_builder.rs +++ b/sway-core/src/asm_generation/asm_builder.rs @@ -1,25 +1,20 @@ +use super::FinalizedAsm; +use crate::{asm_lang::Label, BuildConfig}; use sway_error::handler::{ErrorEmitted, Handler}; -use sway_ir::Function; - -use crate::asm_lang::Label; - -use super::{ - evm::EvmAsmBuilderResult, fuel::fuel_asm_builder::FuelAsmBuilderResult, - miden_vm::MidenVMAsmBuilderResult, -}; - -pub enum AsmBuilderResult { - Fuel(FuelAsmBuilderResult), - Evm(EvmAsmBuilderResult), - MidenVM(MidenVMAsmBuilderResult), -} +use sway_ir::{ConfigurableContent, Function}; pub trait AsmBuilder { fn func_to_labels(&mut self, func: &Function) -> (Label, Label); + fn compile_configurable(&mut self, config: &ConfigurableContent); fn compile_function( &mut self, handler: &Handler, function: Function, ) -> Result<(), ErrorEmitted>; - fn finalize(&self) -> AsmBuilderResult; + fn finalize( + self, + handler: &Handler, + build_config: Option<&BuildConfig>, + fallback_fn: Option