feat: 提取 oxide_builtins 独立 crate,泛型化 <H: VmHost>

This commit is contained in:
爱特每羊队
2026-06-25 22:38:23 +08:00
parent ffc0916a6b
commit 2f5d91bd48
72 changed files with 1983 additions and 1595 deletions
+38 -14
View File
@@ -17,23 +17,47 @@ pub fn bind_reflect(core: &Arc<KernelCore>, session: &KernelSession, global: &mu
&mut reflect,
core,
&[
("apply", crate::builtins::reflect::reflect_apply as *const (), 3),
("construct", crate::builtins::reflect::reflect_construct as *const (), 2),
("defineProperty", crate::builtins::reflect::reflect_define_property as *const (), 3),
("deleteProperty", crate::builtins::reflect::reflect_delete_property as *const (), 2),
("get", crate::builtins::reflect::reflect_get as *const (), 2),
("apply", oxide_builtins::reflect::reflect_apply::<crate::vm::Vm> as *const (), 3),
("construct", oxide_builtins::reflect::reflect_construct::<crate::vm::Vm> as *const (), 2),
(
"getOwnPropertyDescriptor",
crate::builtins::reflect::reflect_get_own_property_descriptor as *const (),
"defineProperty",
oxide_builtins::reflect::reflect_define_property::<crate::vm::Vm> as *const (),
3,
),
(
"deleteProperty",
oxide_builtins::reflect::reflect_delete_property::<crate::vm::Vm> as *const (),
2,
),
("get", oxide_builtins::reflect::reflect_get::<crate::vm::Vm> as *const (), 2),
(
"getOwnPropertyDescriptor",
oxide_builtins::reflect::reflect_get_own_property_descriptor::<crate::vm::Vm> as *const (),
2,
),
(
"getPrototypeOf",
oxide_builtins::reflect::reflect_get_prototype_of::<crate::vm::Vm> as *const (),
1,
),
("has", oxide_builtins::reflect::reflect_has::<crate::vm::Vm> as *const (), 2),
(
"isExtensible",
oxide_builtins::reflect::reflect_is_extensible::<crate::vm::Vm> as *const (),
1,
),
("ownKeys", oxide_builtins::reflect::reflect_own_keys::<crate::vm::Vm> as *const (), 1),
(
"preventExtensions",
oxide_builtins::reflect::reflect_prevent_extensions::<crate::vm::Vm> as *const (),
1,
),
("set", oxide_builtins::reflect::reflect_set::<crate::vm::Vm> as *const (), 3),
(
"setPrototypeOf",
oxide_builtins::reflect::reflect_set_prototype_of::<crate::vm::Vm> as *const (),
2,
),
("getPrototypeOf", crate::builtins::reflect::reflect_get_prototype_of as *const (), 1),
("has", crate::builtins::reflect::reflect_has as *const (), 2),
("isExtensible", crate::builtins::reflect::reflect_is_extensible as *const (), 1),
("ownKeys", crate::builtins::reflect::reflect_own_keys as *const (), 1),
("preventExtensions", crate::builtins::reflect::reflect_prevent_extensions as *const (), 1),
("set", crate::builtins::reflect::reflect_set as *const (), 3),
("setPrototypeOf", crate::builtins::reflect::reflect_set_prototype_of as *const (), 2),
],
);