refactor(joinir): Phase 244 - ConditionLoweringBox trait unification

Unify condition lowering logic across Pattern 2/4 with trait-based API.

New infrastructure:
- condition_lowering_box.rs: ConditionLoweringBox trait + ConditionContext (293 lines)
- ExprLowerer implements ConditionLoweringBox trait (+51 lines)

Pattern migrations:
- Pattern 2 (loop_with_break_minimal.rs): Use trait API
- Pattern 4 (loop_with_continue_minimal.rs): Use trait API

Benefits:
- Unified condition lowering interface
- Extensible for future lowering strategies
- Clean API boundary between patterns and lowering logic
- Zero code duplication

Test results: 911/911 PASS (+2 new tests)

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-11 02:35:31 +09:00
parent 2dfe363365
commit d4f90976da
131 changed files with 3123 additions and 42 deletions

View File

@ -188,3 +188,5 @@ Phase 232 の整理を前提にした「次の軸」の候補だけメモして
- 3 件: **ArrayExtBox.filter の PoC パターン3 lowerer に対する挙動確認テスト**(意図的 Fail-Fast に近い) ← 現在残っている FAIL。
- JoinIR corePHI/ValueId/ExitLine/SSAとしての致命的な崩れは含まれていないので、
Phase 232 の結論としては「**今の FAIL は “どこをまだやっていないか” を教えてくれるラベル**」とみなしてよさそうだよ。
Status: Active
Scope: 失敗テスト在庫JoinIR/ExprLowerer ライン)