From c7c42c09f15c255df80a26de48ea48b94a3285d8 Mon Sep 17 00:00:00 2001 From: pjh456 <147148383@qq.com> Date: Thu, 17 Sep 2026 15:48:00 +0000 Subject: [PATCH] =?UTF-8?q?docs:=20=E4=BF=AE=E6=AD=A3=E5=86=85=E7=BD=AE?= =?UTF-8?q?=E5=90=8D=E5=86=99=E7=82=B9=E6=B3=A8=E9=87=8A=E7=9A=84=E9=9B=B6?= =?UTF-8?q?=E5=8A=A8=E4=BD=9C=E8=A1=A8=E8=BF=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/oxide_emit/src/shared/binding.rs | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/crates/oxide_emit/src/shared/binding.rs b/crates/oxide_emit/src/shared/binding.rs index 98ba476d..4040a1da 100644 --- a/crates/oxide_emit/src/shared/binding.rs +++ b/crates/oxide_emit/src/shared/binding.rs @@ -109,9 +109,10 @@ impl Emitter { // 脚本顶层 var:同步写全局对象,使 globalThis.x 反射声明值。 if ctx.is_global_scope && matches!(kind, VariableDeclarationKind::Var) { if CompileCtx::is_known_builtin(name) { - // 内置名保持 GlobalDeclarationInstantiation(脚本顶层声明实例化) - // 序言的零动作写点——属性已存在时不改动值、仅缺失时新建;槽内保留 - // 求值开始前预载的全局属性值(镜像值),本路径不扩大 strict 抛错面。 + // 内置名经同一声明写点落值:普通脚本经顶层 This 的 + // `DEFINE_GLOBAL_PROP`、eval 经 `DEFINE_GLOBAL_PROP_C`;既有可写 + // 属性仅更新值、保留原 e/c 描述符。只读三常量已在上方拦截, + // 本路径不扩大 strict 抛错面。 self.emit_global_prop_write(name, src_reg, ctx); } else { // 用户名的既有属性面:声明带初始化是 PutValue 语义,经