From 2c8ad6c772f96abe4f343c727706ee865dac2207 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Sat, 17 Oct 2026 07:53:31 +0000 Subject: [PATCH] =?UTF-8?q?style:=20=E8=87=AA=E5=8A=A8=E6=A0=BC=E5=BC=8F?= =?UTF-8?q?=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_builtins/src/proxy.rs | 5 +---- crates/oxide_vm/src/proxy.rs | 15 ++++----------- crates/oxide_vm/src/vm_dispatch_misc.rs | 7 +------ 3 files changed, 6 insertions(+), 21 deletions(-) diff --git a/crates/oxide_builtins/src/proxy.rs b/crates/oxide_builtins/src/proxy.rs index 070db8d4..566c5425 100644 --- a/crates/oxide_builtins/src/proxy.rs +++ b/crates/oxide_builtins/src/proxy.rs @@ -82,10 +82,7 @@ fn proxy_create_invariants( ) -> Result<(), JsValue> { // target 可调用且不可扩展:函数代理的不变量无法满足,抛 TypeError。 if crate::iterator::is_callable(target) && !target_obj.is_extensible() { - return Err(crate::error::create_type_error( - vm, - "Proxy target must be extensible if it is callable", - )); + return Err(crate::error::create_type_error(vm, "Proxy target must be extensible if it is callable")); } // isExtensible trap:handler 报 true 时 target 须可扩展,报 false 时须不可扩展。 let si_is_extensible = vm.perm_intern("isExtensible"); diff --git a/crates/oxide_vm/src/proxy.rs b/crates/oxide_vm/src/proxy.rs index 7ebaca96..85f53409 100644 --- a/crates/oxide_vm/src/proxy.rs +++ b/crates/oxide_vm/src/proxy.rs @@ -85,16 +85,10 @@ pub(crate) fn call_trap( // trap 值须可调用(规范 Call 语义):非可调用抛 TypeError 而非落入 // call_function_sync 的通用「accessor is not callable」文本(kind 丢失)。 if !trap_val.is_object() { - return Err(oxide_runtime_api::format_error_message( - "TypeError", - "Proxy trap is not callable", - )); + return Err(oxide_runtime_api::format_error_message("TypeError", "Proxy trap is not callable")); } if !unsafe { &*trap_val.as_js_object_ptr() }.is_function() { - return Err(oxide_runtime_api::format_error_message( - "TypeError", - "Proxy trap is not callable", - )); + return Err(oxide_runtime_api::format_error_message("TypeError", "Proxy trap is not callable")); } let result = vm.call_function_sync(trap_val, handler, args)?; Ok(Some(result)) @@ -407,9 +401,8 @@ mod tests { let target = native_fn_obj(&mut vm, target_return_7); let handler = vm.alloc_object(JsObject::new_empty(EMPTY_SHAPE_ID, JsValue::undefined())); let proxy = proxy_with_state(&mut vm, JsValue::from_js_object(target), JsValue::from_js_object(handler)); - let result = - proxy_apply_call(&mut vm, unsafe { &*proxy }, JsValue::undefined(), &[JsValue::int(1)]) - .expect("落穿 target 应成功"); + let result = proxy_apply_call(&mut vm, unsafe { &*proxy }, JsValue::undefined(), &[JsValue::int(1)]) + .expect("落穿 target 应成功"); assert_eq!(result, JsValue::int(7), "target 调用结果须原样返回"); } diff --git a/crates/oxide_vm/src/vm_dispatch_misc.rs b/crates/oxide_vm/src/vm_dispatch_misc.rs index c4247464..947ee287 100644 --- a/crates/oxide_vm/src/vm_dispatch_misc.rs +++ b/crates/oxide_vm/src/vm_dispatch_misc.rs @@ -110,12 +110,7 @@ impl Vm { /// - `ctor_obj` 为待分派的构造器(native / 字节码臂);`new_target` 为 /// newTarget(原型读源与 new.target 槽),非代理路径两者恒同一值。 pub(crate) fn dispatch_new_target( - &mut self, - ctor_obj: &JsObject, - constructor: JsValue, - new_target: JsValue, - rd: usize, - args: &[JsValue], + &mut self, ctor_obj: &JsObject, constructor: JsValue, new_target: JsValue, rd: usize, args: &[JsValue], call_window: u8, ) -> Result { // Proxy [[Construct]]:construct trap 权威(target, argumentsList,