fix: 修复 harness 函数原型和 Object.assign ToObject

This commit is contained in:
爱特每羊队
2026-06-09 19:46:50 +08:00
parent e588fa4c8c
commit 16568c83fe
10 changed files with 131 additions and 16 deletions
+3 -4
View File
@@ -99,12 +99,11 @@ pub fn object_create(vm: &mut Vm, args: &[u8]) -> NativeResult {
pub fn object_assign(vm: &mut Vm, args: &[u8]) -> NativeResult {
if args.len() < 2 {
return Err(JsValue::undefined());
return Err(crate::builtins::error::create_type_error(vm, "Object.assign requires a target"));
}
let target_val = vm.reg(args[1]);
if !target_val.is_object() {
return Ok(target_val);
}
let target_val =
coercion::to_object(target_val, vm).map_err(|msg| crate::builtins::error::create_type_error(vm, msg))?;
let target_ptr = target_val.as_js_object_ptr();
if target_ptr.is_null() {
return Ok(target_val);