From 48499f593f2d60af15d4f3ca804e479975ad09fa Mon Sep 17 00:00:00 2001 From: Moe Charm Date: Mon, 25 Aug 2025 20:19:42 +0900 Subject: [PATCH] MIR(builder_modularized): implement LoopBuilderApi for modularized MirBuilder to use shared loop helpers in future. --- src/mir/builder_modularized/core.rs | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/src/mir/builder_modularized/core.rs b/src/mir/builder_modularized/core.rs index 04694098..f7ff02b1 100644 --- a/src/mir/builder_modularized/core.rs +++ b/src/mir/builder_modularized/core.rs @@ -202,4 +202,19 @@ impl MirBuilder { Ok(()) } -} \ No newline at end of file +} + +// Adapter: Implement LoopBuilderApi for modularized MirBuilder to enable shared helpers +impl crate::mir::loop_api::LoopBuilderApi for MirBuilder { + fn new_block(&mut self) -> super::BasicBlockId { self.block_gen.next() } + fn current_block(&self) -> Result { + self.current_block.ok_or_else(|| "No current block".to_string()) + } + fn start_new_block(&mut self, block: super::BasicBlockId) -> Result<(), String> { + self.start_new_block(block) + } + fn emit(&mut self, inst: super::MirInstruction) -> Result<(), String> { + self.emit_instruction(inst) + } + fn new_value(&mut self) -> super::ValueId { self.value_gen.next() } +}