refactor(joinir): Phase 185 code cleanup - extract shared function, remove dead code

- Extract infer_type_from_mir_pattern() to common.rs (was duplicated in if_select.rs & if_merge.rs)
- Remove unused JOINIR_HEADER_BYPASS_TARGETS and is_joinir_header_bypass_target() from loopform_builder.rs
- Warnings reduced: 13 → 11

Lines removed: ~45 (duplicate function + dead code)

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

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-04 22:33:56 +09:00
parent 6561832545
commit c2f524bb26
4 changed files with 42 additions and 67 deletions

View File

@ -27,21 +27,8 @@ pub(crate) fn is_loopform_debug_enabled() -> bool {
// Phase 30 F-2.1: JoinIR バイパスフラグheader_phi_builder から移動)
// ============================================================================
/// Phase 27.4C Cleanup: JoinIR Header φ バイパス対象関数リスト
///
/// Phase 27.4-C のスコープは以下の 2 関数のみ:
/// - `Main.skip/1` (minimal_ssa_skip_ws.hako)
/// - `FuncScannerBox.trim/1` (funcscanner_trim_min.hako)
///
/// **重要**: 他の関数では Header φ を絶対にスキップしないこと。
const JOINIR_HEADER_BYPASS_TARGETS: &[&str] = &["Main.skip/1", "FuncScannerBox.trim/1"];
/// Phase 27.4-C: JoinIR Header φ バイパス対象関数かチェック
///
/// `JOINIR_HEADER_BYPASS_TARGETS` に含まれる関数のみ true を返す。
pub(crate) fn is_joinir_header_bypass_target(fn_name: &str) -> bool {
JOINIR_HEADER_BYPASS_TARGETS.contains(&fn_name)
}
// Phase 185: JOINIR_HEADER_BYPASS_TARGETS and is_joinir_header_bypass_target() removed
// (Unused legacy code from Phase 27.4-C, superseded by JOINIR_TARGETS in targets.rs)
/// Phase 27.4-C Refactor: JoinIR Loop φ バイパスフラグ統合
///