feat(naming): Phase 25.4-A - NamingBox SSOT化完了

🎯 目的: static/global 呼び出しの名前決定を src/mir/naming.rs に一本化

 実装完了:
- NamingBox(src/mir/naming.rs)実装
  - encode_static_method(box, method, arity)
  - normalize_static_global_name(func_name)
  - static/global 名前の正規化ロジック統一

- MIR Builder統合(SSOT使用)
  - src/mir/builder/decls.rs: build_static_main_box
  - src/mir/builder/exprs.rs: 静的メソッド呼び出し
  - src/mir/builder/metadata/propagate.rs: メタデータ伝播
  - src/mir/builder/observe/mod.rs: Observe機能
  - src/mir/builder/observe/types.rs: 型観測(新規)

- VM実行器統合(SSOT使用)
  - src/backend/mir_interpreter/handlers/calls/global.rs
  - normalize_static_global_name使用
  - レガシーフォールバック削除済み確認

- テスト追加
  - src/tests/mir_static_box_naming.rs
  - encode/normalize の動作検証

📚 ドキュメント:
- docs/development/architecture/mir-naming-box.md
  - NamingBoxの設計思想
  - SSOT原則の説明
  - 使用例

🎯 効果:
- 名前決定ロジックが1箇所に集約
- Builder/VM で同じ正規化ルールを使用
- 将来の名前空間拡張が容易

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
nyash-codex
2025-11-21 09:01:43 +09:00
parent 380a724b9c
commit 28a312ea0d
11 changed files with 274 additions and 10 deletions

View File

@ -12,6 +12,7 @@ pub mod builder;
pub mod definitions; // Unified MIR definitions (MirCall, Callee, etc.)
pub mod effect;
pub mod function;
pub mod naming; // Static box / entry naming rulesNamingBox
pub mod instruction;
pub mod instruction_introspection; // Introspection helpers for tests (instruction names)
pub mod instruction_kinds; // small kind-specific metadata (Const/BinOp)