refactor(vm): Phase 5 - Call Resolution extraction (49行削減)
【目的】 execute_legacy_call関数の肥大化解消、保守性向上 【実装内容】 1. call_resolution.rsの新規作成(87行) - resolve_function_name() ヘルパー関数 - unique-tail matching algorithm実装 - same-box preference機能 2. calls.rs から重複ロジック削除(65行→14行) - 関数名解決処理を call_resolution::resolve_function_name() に置き換え - 51行削減(65-14) - 実質的には49行削減(モジュール宣言2行追加を考慮) 3. handlers/mod.rs にモジュール宣言追加 - mod call_resolution; 宣言 【技術的改善】 - Single Source of Truth確立 - 関数名解決アルゴリズムが1箇所に集約 - 将来の修正・拡張が容易に - 解決戦略の明確化 1. Fast path: exact match 2. Normalize with arity: "base/N" 3. Unique-tail matching: ".method/N" 4. Same-box preference: 現在の関数のbox優先 5. Deterministic fallback: ソート後の最初の候補 【テスト】 ✅ ビルド成功(0 errors) ✅ userbox_static_call_vm: PASS ✅ userbox_method_arity_vm: PASS ✅ userbox_using_package_vm: PASS ✅ 全6テストPASS(quick/userbox_*) 【累計削減】 3,775行(Phase 1-4+8)+ 49行(Phase 5)= 3,824行削減 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@ -20,6 +20,7 @@ mod boxes_object_fields;
|
||||
mod boxes_instance;
|
||||
mod boxes_plugin;
|
||||
mod boxes_void_guards;
|
||||
mod call_resolution;
|
||||
mod calls;
|
||||
mod externals;
|
||||
mod memory;
|
||||
|
||||
Reference in New Issue
Block a user