nyash-codex
e46034c6ea
feat(llvm): Phase 134-A - mir_call.py unified 設計完成
681行の giant ファイルを機能別に分割し、箱化モジュール化を達成。
Changes:
- NEW: src/llvm_py/mir_call_compat.py (120 lines)
- JSON v0/v1 互換層を一元管理
- normalize_callee(), detect_format_version()
- NEW: src/llvm_py/instructions/mir_call/ (7 files)
- __init__.py: Canonical Dispatcher (lower_mir_call)
- global_call.py: Global関数呼び出し (90 lines)
- method_call.py: Boxメソッド呼び出し (175 lines)
- constructor_call.py: Boxコンストラクタ (122 lines)
- closure_call.py: Closure生成 (87 lines)
- value_call.py: 動的関数値呼び出し (112 lines)
- extern_call.py: 外部C ABI呼び出し (135 lines)
- ARCHIVE: mir_call.py → mir_call_legacy.py
Technical Achievements:
✅ mir_call.py: 681行 → 分割(各 80-175行、責務 明確)
✅ Phase 133 ConsoleLlvmBridge パターンを継承
✅ NYASH_MIR_UNIFIED_CALL フラグ完全廃止
✅ legacy dispatcher 削除(NotImplementedError 根治)
✅ JSON v0/v1 互換層を mir_call_compat.py に一元化
✅ Fail-Fast 原則確立
✅ テスト: 全 mir_call 関連テスト PASS
Design Principles Inherited:
- Phase 133 ConsoleLlvmBridge 箱化パターン継承
- Each module has clear responsibility
- mir_call_compat.py で Phase 124+ v0削除が容易
- テスト分割で保守性大幅向上
Next Phase:
Phase 134-B - StringBox bridge 分離(boxcall.py:130-282)
Phase 134-C - CollectionBox bridge 分離(boxcall.py:325-375)
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 12:06:34 +09:00
..
2025-09-17 10:58:12 +09:00
2025-12-04 12:06:34 +09:00
2025-11-06 15:41:52 +09:00
2025-11-06 15:41:52 +09:00
2025-08-26 01:42:18 +09:00
2025-09-05 13:29:17 +09:00
2025-08-21 00:41:26 +09:00
2025-09-24 01:05:44 +09:00
2025-08-28 09:26:58 +09:00
2025-11-06 15:41:52 +09:00
2025-08-21 00:41:26 +09:00
2025-09-24 14:13:15 +09:00
2025-08-26 19:13:57 +09:00
2025-08-26 00:48:09 +09:00