refactor(joinir): Pattern 4 modularization with CarrierInfo/ExitMeta
Removes hardcoded "sum" and ValueId(15) from Pattern 4 lowerer by introducing CarrierInfo and ExitMeta structures. Changes: - New carrier_info.rs: CarrierInfo, CarrierVar, ExitMeta structs - loop_with_continue_minimal.rs: Returns (JoinModule, ExitMeta) - pattern4_with_continue.rs: Dynamic binding generation from metadata Design approach: "Thin meta on existing boxes" (ChatGPT proposal) - CarrierInfo: Built from variable_map, not AST re-analysis - ExitMeta: Carrier name + JoinIR ValueId pairs from lowerer - LoopExitBinding: Auto-generated from CarrierInfo + ExitMeta Test: loop_continue_pattern4.hako outputs 25 (unchanged) 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -15,6 +15,7 @@
|
||||
//! - `if_select.rs`: Phase 33 If/Else → Select lowering
|
||||
//! - `if_dry_runner.rs`: Phase 33-10 If lowering dry-run スキャナー(箱化版)
|
||||
|
||||
pub mod carrier_info; // Phase 196: Carrier metadata for loop lowering
|
||||
pub mod common;
|
||||
pub mod exit_args_resolver;
|
||||
pub mod funcscanner_append_defs;
|
||||
|
||||
Reference in New Issue
Block a user