feat: 注册 Symbol.toPrimitive well-known symbol

This commit is contained in:
爱特每羊队
2026-06-27 10:30:25 +08:00
parent a34d54784c
commit 6f1337c223
3 changed files with 47 additions and 25 deletions
+5 -2
View File
@@ -201,7 +201,7 @@ pub struct KernelSession {
/// Maintenance: every new `BuiltinWorld` object field must be added here and to
/// `KernelSession::dirty_since_snapshot()` so selective reset can rebuild the
/// correct builtin family.
pub const NUM_BUILTINS: usize = 64;
pub const NUM_BUILTINS: usize = 65;
#[derive(Clone, Copy, Debug, PartialEq, Eq)]
#[repr(u8)]
@@ -270,6 +270,7 @@ pub enum BuiltinId {
SymSearch = 61,
SymSplit = 62,
SymIterator = 63,
SymToPrimitive = 64,
}
impl BuiltinId {
@@ -338,6 +339,7 @@ impl BuiltinId {
BuiltinId::SymSearch,
BuiltinId::SymSplit,
BuiltinId::SymIterator,
BuiltinId::SymToPrimitive,
];
}
@@ -506,7 +508,8 @@ impl KernelSession {
|| gen(BuiltinId::SymReplace) != snap(BuiltinId::SymReplace)
|| gen(BuiltinId::SymSearch) != snap(BuiltinId::SymSearch)
|| gen(BuiltinId::SymSplit) != snap(BuiltinId::SymSplit)
|| gen(BuiltinId::SymIterator) != snap(BuiltinId::SymIterator),
|| gen(BuiltinId::SymIterator) != snap(BuiltinId::SymIterator)
|| gen(BuiltinId::SymToPrimitive) != snap(BuiltinId::SymToPrimitive),
math: gen(BuiltinId::MathObject) != snap(BuiltinId::MathObject),
json: gen(BuiltinId::JsonObject) != snap(BuiltinId::JsonObject),
date: gen(BuiltinId::DateConstructor) != snap(BuiltinId::DateConstructor)