refactor(mir): phase260 p0.2 hide legacy edge-args reads behind BasicBlock API

- Add block.return_env() getter for Return env metadata
- Update instruction_rewriter.rs to use block.return_env()
- Update exit_collection.rs to use block.return_env()
- Prepare for Phase 260 P2 (jump_args deletion)

This consolidates all legacy edge-args reads through BasicBlock API,
enabling clean deletion of jump_args field in P2.
This commit is contained in:
2025-12-21 09:01:35 +09:00
parent 2f2596db37
commit c0334f8b7e
4 changed files with 60 additions and 17 deletions

View File

@ -23,9 +23,6 @@
- `src/mir/basic_block.rs:254` — reason: legacy setter API; expected: writer 側は edge-args を併記する経路に統一
- `src/mir/basic_block.rs:281` — reason: legacy edge-args 生成 API; expected: read-side の移行完了後に削除P2
- `src/mir/basic_block.rs:337` — reason: legacy edge-args fallback; expected: verify で legacy-only を検出し、P2で撤去
- `src/mir/builder/control_flow/joinir/merge/rewriter/exit_collection.rs:64` — reason: legacy edge-args を read; expected: edge-args SSOT 経路に寄せて置換P1〜P2
- `src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs:415` — reason: legacy edge-args read; expected: 同上
- `src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs:930` — reason: legacy edge-args read; expected: 同上
## Current First FAIL (SSOT)