From cc0f6975caaeec2d9d96c1d0f72f1419b2f69b1b Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Mon, 21 Sep 2026 15:28:19 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=E7=A7=81=E6=9C=89=E8=AE=BF=E9=97=AE?= =?UTF-8?q?=E5=99=A8=20brand=20=E6=A7=BD=E6=94=BE=E8=A1=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_vm/src/dispatch/property.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/crates/oxide_vm/src/dispatch/property.rs b/crates/oxide_vm/src/dispatch/property.rs index 6dc838a2..58a9ef03 100644 --- a/crates/oxide_vm/src/dispatch/property.rs +++ b/crates/oxide_vm/src/dispatch/property.rs @@ -92,9 +92,9 @@ impl Vm { depth += 1; let proto_obj = unsafe { &*proto.as_js_object_ptr() }; if let Some(pos) = self.private_slot(proto_obj, private_key) { - // 方法槽有 hole 标记(set_private_method_meta);字段槽(存实例)沿链出现 - // 说明接收者并非本类实例 → 拒绝穿透。 - if proto_obj.prop_meta_at(pos).is_some_and(|m| m.is_hole()) { + // 方法/访问器槽有 hole 标记(私有方法)或 is_accessor 标记(私有 getter/setter); + // 字段槽(存实例)沿链出现说明接收者并非本类实例 → 拒绝穿透。 + if proto_obj.prop_meta_at(pos).is_some_and(|m| m.is_hole() || m.is_accessor) { return Some(proto_obj as *const JsObject as *mut JsObject); } return None;