feat(joinir): Phase 213-2 Step 2-2 & 2-3 Data structure extensions

Extended PatternPipelineContext and CarrierUpdateInfo for Pattern 3 AST-based generalization.

Changes:
1. PatternPipelineContext:
   - Added loop_condition: Option<ASTNode>
   - Added loop_body: Option<Vec<ASTNode>>
   - Added loop_update_summary: Option<LoopUpdateSummary>
   - Updated build_pattern_context() for Pattern 3

2. CarrierUpdateInfo:
   - Added then_expr: Option<ASTNode>
   - Added else_expr: Option<ASTNode>
   - Updated analyze_loop_updates() with None defaults

Status: Phase 213-2 Steps 2-2 & 2-3 complete
Next: Create Pattern3IfAnalyzer to extract if statement and populate update summary
This commit is contained in:
nyash-codex
2025-12-10 00:01:53 +09:00
parent 577b5b01d5
commit d7805e5974
138 changed files with 3529 additions and 378 deletions

View File

@ -97,6 +97,8 @@ NYASH_ENABLE_USING=1 # using 文有効化
## 現在の JoinIR 統合状況
> Note (2025-12): 現在は LoopBuilder を物理削除し、JoinIR は常時 ONNYASH_JOINIR_CORE は deprecated/no-op。以下のコードスケッチは Phase 121 当時の歴史メモとして残しているよ。
### Loop PHI 生成(部分統合済み)
**Phase 49 Mainline Integration**:
@ -380,4 +382,3 @@ Detects unreachable basic blocks using MIR CFG information. Complements HC019 by
- **CFG Extractor:** `src/mir/cfg_extractor.rs`
- **Tests:** `apps/tests/hako_check/test_dead_blocks_*.hako`