refactor(joinir): make jump_args layout explicit (Phase 256)

This commit is contained in:
2025-12-20 13:04:24 +09:00
parent 1028bd419c
commit 4439d64da3
21 changed files with 715 additions and 195 deletions

View File

@ -381,6 +381,7 @@ mod tests {
condition_inputs: vec![], // Phase 171: Add missing field
condition_bindings: vec![], // Phase 171-fix: Add missing field
expr_result: None, // Phase 33-14: Add missing field
jump_args_layout: crate::mir::join_ir::lowering::inline_boundary::JumpArgsLayout::CarriersOnly,
loop_var_name: None, // Phase 33-16: Add missing field
carrier_info: None, // Phase 228: Add missing field
loop_invariants: vec![], // Phase 255 P2: Add missing field

View File

@ -135,6 +135,7 @@ mod tests {
condition_inputs: vec![], // Phase 171: Add missing field
condition_bindings: vec![], // Phase 171-fix: Add missing field
expr_result: None, // Phase 33-14: Add missing field
jump_args_layout: crate::mir::join_ir::lowering::inline_boundary::JumpArgsLayout::CarriersOnly,
loop_var_name: None, // Phase 33-16: Add missing field
carrier_info: None, // Phase 228: Add missing field
loop_invariants: vec![], // Phase 255 P2: Add missing field

View File

@ -365,7 +365,7 @@ impl MirBuilder {
/// - 2 carriers: i (loop index), start (segment start)
/// - 3 invariants: s (haystack), sep (separator), result (accumulator)
/// - Conditional step via Select (P0 pragmatic approach)
/// - Post-loop segment push in k_exit
/// - Post-loop segment push stays in host AST (k_exit is pure return)
pub(crate) fn cf_loop_pattern7_split_scan_impl(
&mut self,
condition: &ASTNode,