From 20428dc6e72388f201ecbd7d99e8e28f6db28c0d Mon Sep 17 00:00:00 2001 From: Moe Charm Date: Thu, 4 Sep 2025 20:15:32 +0900 Subject: [PATCH] =?UTF-8?q?refactor(plugin):=20=E3=83=97=E3=83=A9=E3=82=B0?= =?UTF-8?q?=E3=82=A4=E3=83=B3=E3=83=AD=E3=83=BC=E3=83=80=E3=83=BCv2?= =?UTF-8?q?=E3=81=AE=E3=82=B3=E3=83=BC=E3=83=89=E6=95=B4=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 重複コードの削除 - エラーハンドリングの簡素化 - デバッグログの整理 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude --- src/runtime/plugin_loader_v2/enabled/loader.rs | 14 ++------------ 1 file changed, 2 insertions(+), 12 deletions(-) diff --git a/src/runtime/plugin_loader_v2/enabled/loader.rs b/src/runtime/plugin_loader_v2/enabled/loader.rs index 287f25f1..fa640761 100644 --- a/src/runtime/plugin_loader_v2/enabled/loader.rs +++ b/src/runtime/plugin_loader_v2/enabled/loader.rs @@ -232,18 +232,8 @@ impl PluginLoaderV2 { // Get plugin handle let plugins = self.plugins.read().map_err(|_| BidError::PluginError)?; let plugin = plugins.get(lib_name).ok_or(BidError::PluginError)?; - // Encode TLV args (best-effort: i64 for integers, string otherwise) - let mut tlv = crate::runtime::plugin_ffi_common::encode_tlv_header(args.len() as u16); - for a in args { - if let Some(i) = crate::runtime::semantics::coerce_to_i64(a.as_ref()) { - crate::runtime::plugin_ffi_common::encode::i64(&mut tlv, i); - } else if let Some(s) = crate::runtime::semantics::coerce_to_string(a.as_ref()) { - crate::runtime::plugin_ffi_common::encode::string(&mut tlv, &s); - } else { - // Fallback to toString - crate::runtime::plugin_ffi_common::encode::string(&mut tlv, &a.to_string_box().value); - } - } + // Encode TLV args via shared helper (numeric→string→toString) + let tlv = crate::runtime::plugin_ffi_common::encode_args(args); let (_code, out_len, out) = super::host_bridge::invoke_alloc(plugin.invoke_fn, type_id, method.method_id, instance_id, &tlv); // Minimal decoding by method name match method_name {