style: 自动格式化

This commit is contained in:
爱特每羊队
2026-06-14 17:21:49 +08:00
parent 4c3a5830c9
commit 317a84a055
23 changed files with 181 additions and 46 deletions
+5 -1
View File
@@ -13,7 +13,11 @@ pub fn boolean_constructor(vm: &mut Vm, args: &[u8]) -> NativeResult {
} else if arg.is_bool() {
arg.as_bool()
} else if arg.is_string() {
let s = vm.kernel_core().string_forge().lookup(arg.as_string_index()).unwrap_or_default();
let s = vm
.kernel_core()
.string_forge()
.lookup(arg.as_string_index())
.unwrap_or_default();
!s.is_empty()
} else if arg.is_object() {
true
+15 -3
View File
@@ -10,7 +10,11 @@ use crate::vm::Vm;
fn get_timestamp(obj: &JsObject) -> f64 {
let v = obj.get_prop_at(0);
if v.is_double() { v.as_double() } else { f64::NAN }
if v.is_double() {
v.as_double()
} else {
f64::NAN
}
}
fn set_timestamp(obj: &mut JsObject, ms: f64) {
@@ -137,7 +141,11 @@ pub fn date_constructor(vm: &mut Vm, args: &[u8]) -> NativeResult {
} else {
let val = vm.reg(args[1]);
if val.is_string() {
let s = vm.kernel_core().string_forge().lookup(val.as_string_index()).unwrap_or_default();
let s = vm
.kernel_core()
.string_forge()
.lookup(val.as_string_index())
.unwrap_or_default();
let formats = ["%Y-%m-%dT%H:%M:%S%.fZ", "%Y-%m-%dT%H:%M:%S%.f"];
let mut ts = f64::NAN;
for fmt in &formats {
@@ -209,7 +217,11 @@ pub fn date_parse(vm: &mut Vm, args: &[u8]) -> NativeResult {
if !val.is_string() {
return NativeResult::Ok(JsValue::float(f64::NAN));
}
let s = vm.kernel_core().string_forge().lookup(val.as_string_index()).unwrap_or_default();
let s = vm
.kernel_core()
.string_forge()
.lookup(val.as_string_index())
.unwrap_or_default();
let formats = ["%Y-%m-%dT%H:%M:%S%.fZ", "%Y-%m-%dT%H:%M:%S%.f"];
let mut ts = f64::NAN;
for fmt in &formats {
+5 -1
View File
@@ -178,7 +178,11 @@ mod tests {
});
let stack = error_stack_getter(&mut vm, &[0]).unwrap();
let stack_str = vm.kernel_core().string_forge().lookup(stack.as_string_index()).unwrap_or_default();
let stack_str = vm
.kernel_core()
.string_forge()
.lookup(stack.as_string_index())
.unwrap_or_default();
assert!(stack_str.contains("foo"), "expected function name in stack: {stack_str}");
}
}
+4 -1
View File
@@ -23,7 +23,10 @@ fn get_regexp_ptr(vm: &Vm, args: &[u8]) -> Result<*mut JsObject, JsValue> {
}
if !unsafe { &*ptr }.is_regexp_obj() {
return Err(JsValue::string(
vm.kernel_core().string_forge().intern("TypeError: RegExp.prototype method called on non-RegExp object").0,
vm.kernel_core()
.string_forge()
.intern("TypeError: RegExp.prototype method called on non-RegExp object")
.0,
0,
));
}
+24 -8
View File
@@ -10,11 +10,27 @@ fn stub_error(vm: &mut Vm, name: &str) -> NativeResult {
}
// Architecturally deferred — see 13.5-CONTEXT.md for rationale
pub fn proxy_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "Proxy") }
pub fn bigint_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "BigInt") }
pub fn weakmap_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "WeakMap") }
pub fn weakset_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "WeakSet") }
pub fn weakref_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "WeakRef") }
pub fn finalization_registry_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "FinalizationRegistry") }
pub fn shared_array_buffer_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "SharedArrayBuffer") }
pub fn atomics_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult { stub_error(vm, "Atomics") }
pub fn proxy_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "Proxy")
}
pub fn bigint_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "BigInt")
}
pub fn weakmap_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "WeakMap")
}
pub fn weakset_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "WeakSet")
}
pub fn weakref_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "WeakRef")
}
pub fn finalization_registry_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "FinalizationRegistry")
}
pub fn shared_array_buffer_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "SharedArrayBuffer")
}
pub fn atomics_stub(vm: &mut Vm, _args: &[u8]) -> NativeResult {
stub_error(vm, "Atomics")
}
+4 -1
View File
@@ -18,7 +18,10 @@ pub fn symbol_constructor(vm: &mut Vm, args: &[u8]) -> NativeResult {
let sp = vm.session().builtin_world().symbol_proto.as_ptr() as *mut JsObject;
if std::ptr::eq(proto_ptr, sp) {
return NativeResult::Err(JsValue::string(
vm.kernel_core().string_forge().intern("TypeError: Symbol is not a constructor").0,
vm.kernel_core()
.string_forge()
.intern("TypeError: Symbol is not a constructor")
.0,
0,
));
}
+12 -3
View File
@@ -294,11 +294,20 @@ pub fn to_object(val: JsValue, vm: &mut Vm) -> Result<JsValue, &'static str> {
return Err("TypeError: Cannot convert null or undefined to object");
}
let (proto_ptr, type_tag) = if val.is_string() {
(vm.session().builtin_world().string_proto.as_ptr() as *mut JsObject, JsObject::OBJ_TYPE_STRING_OBJ)
(
vm.session().builtin_world().string_proto.as_ptr() as *mut JsObject,
JsObject::OBJ_TYPE_STRING_OBJ,
)
} else if val.is_int() || val.is_double() {
(vm.session().builtin_world().number_proto.as_ptr() as *mut JsObject, JsObject::OBJ_TYPE_NUMBER_OBJ)
(
vm.session().builtin_world().number_proto.as_ptr() as *mut JsObject,
JsObject::OBJ_TYPE_NUMBER_OBJ,
)
} else if val.is_bool() {
(vm.session().builtin_world().boolean_proto.as_ptr() as *mut JsObject, JsObject::OBJ_TYPE_BOOLEAN_OBJ)
(
vm.session().builtin_world().boolean_proto.as_ptr() as *mut JsObject,
JsObject::OBJ_TYPE_BOOLEAN_OBJ,
)
} else {
(&*vm.object_prototype as *const JsObject as *mut JsObject, JsObject::OBJ_TYPE_PLAIN)
};
+5 -3
View File
@@ -97,8 +97,6 @@ pub struct CallFrame {
pub continuation: FrameContinuation,
}
pub struct ForInIter<'bump> {
pub keys: bumpalo::collections::Vec<'bump, JsValue>,
pub index: usize,
@@ -305,7 +303,11 @@ impl Vm {
let mut proto = obj.proto();
while proto.is_object() {
let proto_obj = unsafe { &*proto.as_js_object_ptr() };
if let Some(pos) = self.kernel_core.shape_forge().lookup_position(proto_obj.shape_id(), prop_name_si) {
if let Some(pos) = self
.kernel_core
.shape_forge()
.lookup_position(proto_obj.shape_id(), prop_name_si)
{
let val = proto_obj.get_prop_at(pos);
if !val.is_undefined() || proto_obj.prop_vec_len() > pos as usize {
return Some(val);
+9 -2
View File
@@ -172,7 +172,10 @@ impl Vm {
let reg = (seg & 0x7F) as u8;
let val = self.regs[reg as usize];
let s = if val.is_string() {
self.kernel_core.string_forge().lookup(val.as_string_index()).unwrap_or_default()
self.kernel_core
.string_forge()
.lookup(val.as_string_index())
.unwrap_or_default()
} else {
format!("{}", val)
};
@@ -182,7 +185,11 @@ impl Vm {
if const_idx < self.constants.len() {
let val = self.constants[const_idx];
if val.is_string() {
let s = self.kernel_core.string_forge().lookup(val.as_string_index()).unwrap_or_default();
let s = self
.kernel_core
.string_forge()
.lookup(val.as_string_index())
.unwrap_or_default();
result.push_str(&s);
}
}