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:
@ -26,6 +26,7 @@ pub(crate) mod common; // Internal lowering utilities
|
||||
pub mod complex_addend_normalizer; // Phase 192: Complex addend normalization (AST preprocessing)
|
||||
pub mod digitpos_condition_normalizer; // Phase 224-E: DigitPos condition normalizer (digit_pos < 0 → !is_digit_pos)
|
||||
pub mod condition_env; // Phase 171-fix: Condition expression environment
|
||||
pub mod condition_lowering_box; // Phase 244: Unified condition lowering interface (trait-based)
|
||||
pub mod condition_pattern; // Phase 219-fix: If condition pattern detection (simple vs complex)
|
||||
pub mod loop_body_local_env; // Phase 184: Body-local variable environment
|
||||
pub mod loop_body_local_init; // Phase 186: Body-local init expression lowering
|
||||
|
||||
Reference in New Issue
Block a user