refactor(joinir): Phase 89 リファクタリング - 5) fixture名SSOT化

変更内容:
- 新規ファイル: src/mir/join_ir/normalized/dev_fixtures.rs (SSOT)
  - NormalizedDevFixture enum で fixture 名・パス・ルーティング統一管理
  - ALL_DEV_FIXTURES 配列で一覧化
  - fixture_content() / load_and_lower() ヘルパー実装
- FunctionRoute を route.rs に分離
  - ast_lowerer/route.rs 新規作成
  - resolve_function_route() を route.rs に移動
  - dev fixtures を SSOT から自動登録
- fixtures.rs を簡潔化
  - 4つの builder 関数を SSOT 呼び出しに変更
  - 散在していた include_str! パスを削除

メリット:
- typo・不一致によるルーティングミスを防止
- 新しい fixture 追加時は1箇所のみ変更
- 責務の明確化(route.rs / dev_fixtures.rs)

テスト結果:
- lib tests: 993 passed (回帰なし)
- normalized_dev tests: 61 passed / 1 failed (ベースライン維持)

Generated with Claude Code

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-12-14 03:07:53 +09:00
parent 5b5f3b55d4
commit 6bcc70e07e
5 changed files with 264 additions and 164 deletions

View File

@ -20,6 +20,8 @@ pub mod fixtures;
#[cfg(feature = "normalized_dev")]
pub mod dev_env;
#[cfg(feature = "normalized_dev")]
pub mod dev_fixtures;
#[cfg(feature = "normalized_dev")]
pub mod shape_guard;
#[cfg(feature = "normalized_dev")]
use crate::mir::join_ir::normalized::shape_guard::NormalizedDevShape;