4.9 KiB
4.9 KiB
Legacy 候補一覧
Phase 256+ で特定された、将来削除可能な legacy コード候補を記録する。
Phase 256 P1.7 で特定された legacy
join_func_name() (src/mir/join_ir_vm_bridge/mod.rs)
状態: 未使用になった可能性あり(要精査)
理由:
- Phase 256 P1.7 で
continuation_func_idsがStringベースに変更 join_func_name()によるJoinFuncId → String変換が不要になった可能性- JoinFunction の
nameフィールドが直接利用可能
残利用箇所: 11箇所 + 定義1箇所 = 計12箇所
実利用箇所(10箇所)
-
src/mir/join_ir_vm_bridge/runner.rs:55
let entry_name = join_func_name(entry_func);- 用途: VM実行時のエントリーポイント関数名取得
- 状態: 実利用(Phase 27-shortterm S-4.3)
-
src/mir/join_ir_vm_bridge/joinir_block_converter.rs:162
let func_name = join_func_name(*func);- 用途: JoinIR ブロック変換時の関数名取得
- 状態: 実利用(Phase 190)
-
src/mir/join_ir_vm_bridge/normalized_bridge/direct.rs:94
name: join_func_name(JoinFuncId(func.id.0)),- 用途: Normalized → MIR 変換時の関数署名生成
- 状態: 実利用(Phase 141+)
- 条件:
#[cfg(feature = "normalized_dev")]
-
src/mir/join_ir_vm_bridge/normalized_bridge/direct.rs:182
let func_name = join_func_name(JoinFuncId(target.0));- 用途: Normalized 関数ターゲット名取得
- 状態: 実利用(Phase 141+)
- 条件:
#[cfg(feature = "normalized_dev")]
-
src/mir/join_ir_vm_bridge/joinir_function_converter.rs:39
.insert(join_func_name(*func_id), mir_func);- 用途: MIR モジュールへの関数登録
- 状態: 実利用(Phase 190)
-
src/mir/builder/control_flow/joinir/merge/tail_call_lowering_policy.rs:100
let k_exit_name = join_func_name(JoinFuncId::new(2));- 用途: テストコード内での k_exit 関数名生成
- 状態: テスト専用(
#[cfg(test)])
-
src/mir/control_tree/normalized_shadow/loop_true_break_once.rs:63
use crate::mir::join_ir_vm_bridge::join_func_name;- 用途: テストコード内での関数名取得
- 状態: テスト専用(
#[cfg(test)])
コメント参照箇所(3箇所)
-
src/mir/builder/control_flow/joinir/merge/instruction_rewriter.rs
// No need to convert with join_func_name() - use directly- 用途: コメント(変換不要の説明)
- 状態: ドキュメント
-
src/mir/join_ir_vm_bridge/meta.rs
// Phase 256 P1.7: Use actual function name instead of join_func_name() // join_func_name() produces "join_func_{id}" but JoinFunction.name contains- 用途: コメント(Phase 256 P1.7 の設計変更説明)
- 状態: ドキュメント
-
src/mir/builder/control_flow/joinir/patterns/pattern7_split_scan.rs
// The bridge uses JoinFunction.name as the MirModule function key, not join_func_name(id)- 用途: コメント(Pattern 7 の設計説明)
- 状態: ドキュメント
定義箇所(1箇所)
- src/mir/join_ir_vm_bridge/mod.rs
pub(crate) fn join_func_name(id: JoinFuncId) -> String {- 用途: 関数定義
- 状態: pub(crate) で公開
推奨アクション
短期(Phase 256 P1.7 スコープ外)
- ✅ このドキュメントに記録完了
- 実装変更は行わない(記録のみ)
中期(Phase 257+ で検討)
-
段階的移行案:
- Step 1: 新規コードでは
JoinFunction.nameを直接使用 - Step 2: 既存の10実利用箇所を段階的に置換
- Step 3: テストコード(2箇所)を置換
- Step 4: コメント更新(3箇所)
- Step 5:
join_func_name()削除
- Step 1: 新規コードでは
-
影響範囲:
- Bridge 層: 7箇所(実利用6 + テスト1)
- Normalized 層: 2箇所(feature gated)
- Control flow builder: 1箇所(テストのみ)
- Control tree: 1箇所(テストのみ)
-
リスク評価:
- 低: テストコードのみ(2箇所)
- 中: Bridge 層の実利用(7箇所)
- 高: Normalized 層(feature gated, 現在開発中)
-
優先度: 低(現在問題なし、技術的負債削減として)
メンテナンス
- 作成日: 2025-12-20
- 最終更新: 2025-12-20
- 関連 Phase: 256 P1.7
- 関連コミット: (Phase 256 P1.7 完了後に記入)
参考リンク
- Phase 256 P1.7 設計: phase-256/README.md
- JoinIR 設計マップ: design/joinir-design-map.md
- JoinIR アーキテクチャ: joinir-architecture-overview.md