feat(joinir): Phase 84-5 if_phi.rs レガシーフォールバック完全削除
Phase 84-4-B で Case D を 0件に削減完了したことにより、 if_phi.rs のレガシーフォールバックが完全に不要になったため削除。 主な変更: - if_phi.rs 削除(339行) - test_utils.rs 新規作成(テスト専用ユーティリティ分離、127行) - lifecycle.rs: if_phi 呼び出し削除、Phase 84-5 安全ガード追加 - env.rs: phi_fallback_disabled() を常に true に変更 - テスト: A/B テスト → GenericTypeResolver 単独テストに変更 検証結果: - Case D: 0件(完全解消継続) - Tests: 498 passed(Phase 84-4: 497 から +1) Phase 84 プロジェクト完全達成: 15件 → 0件(100%削減) 純削減: 220行 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -162,7 +162,7 @@ fn phase40_joinir_detects_local_declarations() {
|
||||
];
|
||||
|
||||
// JoinIR経由(メイン経路)
|
||||
let vars = crate::mir::phi_core::if_phi::collect_assigned_vars_via_joinir(&then_body, None);
|
||||
let vars = crate::mir::phi_core::test_utils::collect_assigned_vars_via_joinir(&then_body, None);
|
||||
|
||||
// Verify JoinIR detects Local declarations
|
||||
assert!(vars.contains("x"), "JoinIR should detect x declaration");
|
||||
@ -210,7 +210,7 @@ fn phase40_joinir_nested_if_local() {
|
||||
];
|
||||
|
||||
// JoinIR経由
|
||||
let vars = crate::mir::phi_core::if_phi::collect_assigned_vars_via_joinir(&then_body, None);
|
||||
let vars = crate::mir::phi_core::test_utils::collect_assigned_vars_via_joinir(&then_body, None);
|
||||
|
||||
// Verify: inner (nested in if) and outer (top-level) detected
|
||||
assert!(
|
||||
|
||||
@ -138,17 +138,12 @@ fn phase67_ab_test_resolve_from_phi_equivalence() {
|
||||
types.insert(v2, MirType::Integer);
|
||||
types.insert(v3, MirType::Integer);
|
||||
|
||||
// A/B テスト: 両方の経路で同じ結果を返すことを確認
|
||||
let result_a = crate::mir::phi_core::if_phi::infer_type_from_phi(&f, v4, &types);
|
||||
let result_b = GenericTypeResolver::resolve_from_phi(&f, v4, &types);
|
||||
// Phase 84-5: if_phi.rs 削除後、GenericTypeResolver のみをテスト
|
||||
let result = GenericTypeResolver::resolve_from_phi(&f, v4, &types);
|
||||
|
||||
assert_eq!(
|
||||
result_a, result_b,
|
||||
"A/B test: both routes should return the same type"
|
||||
);
|
||||
assert_eq!(
|
||||
result_a,
|
||||
result,
|
||||
Some(MirType::Integer),
|
||||
"Type should be inferred as Integer"
|
||||
"GenericTypeResolver should infer Integer type from PHI"
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user