Commit Graph

404 Commits

Author SHA1 Message Date
pjh123 5768febadb fix: 自导入别名与源同时捕获时合并单元 2026-09-17 23:10:48 +00:00
pjh123 12ac57c877 fix: 知名符号改为原语值表示 2026-09-17 23:03:10 +00:00
pjh123 2bd6da4b00 fix: 模块自导入绑定改为源绑定活别名 2026-09-17 22:54:06 +00:00
pjh123 6aa87cd40e fix: 模块命名空间对象设为不可扩展并拦截写入 2026-09-17 22:32:29 +00:00
pjh123 e4b17d2ecf fix: 块级异步与生成器函数声明不再泄漏全局 2026-09-17 22:08:56 +00:00
pjh123 ed3e8cf372 fix: 顶层类声明绑定改为可变 2026-09-17 21:52:34 +00:00
pjh123 816fdc3dd6 fix: switch 无命中跳 default 且 case 比较改严格相等 2026-09-17 21:43:12 +00:00
pjh123 d0ab7fc2a0 fix: arguments 自动绑定判定限定直接子级声明 2026-09-17 21:31:01 +00:00
pjh123 1e8861e14f fix: C 风格 for 词法头建立独立每迭代环境 2026-09-17 21:21:36 +00:00
pjh123 9b65feb2ab fix: 模块命名空间暴露符号标签自身键 2026-09-17 20:26:44 +00:00
pjh123 f11506a949 fix: 字符串迭代器函数直构并统一字节数组转换 2026-09-17 20:14:36 +00:00
pjh123 e86ec8d7d2 fix: 修正捕获可见性过滤的前向捕获与隐式全局误判 2026-09-17 20:07:23 +00:00
pjh123 12aa250542 fix: 字符串默认迭代器缺失时按不可迭代抛错 2026-09-17 19:57:39 +00:00
pjh123 738cf620c1 fix: 捕获名解析增加块作用域可见性检查 2026-09-17 19:29:33 +00:00
pjh123 79518ba827 fix: strict 删除非可配置属性抛错并修正数组长度 2026-09-17 19:17:16 +00:00
pjh123 3de3b639d9 fix: switch 语句补 case 块作用域与函数预声明 2026-09-17 19:09:22 +00:00
pjh123 f73f5b8005 fix: for-in/of 解构声明头支持与默认值 TDZ 2026-09-17 18:48:55 +00:00
pjh123 7e46ecfb76 fix: sloppy eval 顶层块函数参与全局声明实例化 2026-09-17 18:36:35 +00:00
pjh123 e90edba4ec fix: if 支臂函数绑定收集下钻容器语句 2026-09-17 18:29:44 +00:00
pjh123 a176a3c305 fix: 修正 if 支臂函数绑定门控的嵌套与内置名判据 2026-09-17 18:06:56 +00:00
pjh123 eb2fb00249 fix: 字符串关系比较统一按 UTF-16 码元序 2026-09-17 17:54:29 +00:00
pjh123 133542d439 fix: if 支臂函数声明不再遮蔽同块同名 var 2026-09-17 17:50:34 +00:00
pjh123 37b1c4a62b fix: 嵌套函数删除隐式全局名后外层读取不再取残留 2026-09-17 17:29:25 +00:00
pjh123 8953e18ff1 fix: 函数体内标签包裹的函数声明参与入口提升 2026-09-17 17:19:22 +00:00
pjh123 2c77cb5e9f fix: 未初始化 var 在赋值前读取不再取寄存器残留 2026-09-17 17:10:02 +00:00
pjh123 83d536242f docs: 改写虚拟机测试内部编号为语义描述 2026-09-17 14:33:19 +00:00
pjh123 7a5b1b2d06 refactor: vm.rs 内联测试按属主模块归位 2026-09-16 17:07:29 +00:00
pjh123 54c1da6433 fix: eval 顶层 let/const 的 delete 探针臂收窄至 var/函数名集 2026-09-15 17:05:59 +00:00
pjh123 6cde7738b1 fix: 块级函数声明支臂不再块入口物化,声明点按入口物化状态区分写回 2026-09-15 16:41:37 +00:00
pjh123 0418820115 fix: 块级函数 builtin 名守卫收窄至只读三常量面,可配置 builtin 恢复实例化写回 2026-09-15 06:42:12 +00:00
pjh123 1b26bc7ed8 fix: 块级函数声明闭包物化提前至块入口,声明点退化为外层 var 写回 2026-09-15 05:42:08 +00:00
pjh123 4452f1da69 fix: delete 标识符按 DeleteBinding 三分类发运行期探针,补真删与读侧效应 2026-09-15 05:03:28 +00:00
pjh123 aafd07728c fix: delete 非对象基按 ToObject 装箱判删,仅 null/undefined 基抛错 2026-09-15 03:56:18 +00:00
pjh123 320c660620 fix: 块级函数声明补 web-compat 外层 var 绑定实例化与声明点写回 2026-09-15 03:48:19 +00:00
pjh123 0f5bd1577e fix: 字符串面 GetIterator 尊重用户 @@iterator 覆盖
String 臂此前对原始串与装箱串一律走码元步进、忽略用户覆盖的
@@iterator。改为按 GetMethod 语义以值自身为 receiver 读 @@iterator
(原始串落 String.prototype、装箱串读自身→原型链),默认迭代器
自别名即 @@iterator 槽本身、以绑定层捕获的函数指针比较走快速
路径避免递归回本臂;覆盖则调用、receiver 为值。peek 对非字符串
原始值先装箱再读 @@iterator;Iterator.from 增 GetIteratorFlattenable
前置校验,非字符串原始值非对象 → TypeError(不装箱)。
2026-09-15 02:18:12 +00:00
pjh123 4b0b52ade3 fix: 语义重名诊断引擎侧复核,放行跨语句列的函数名合并
供应商语义检查器把"同语句列"近似为"声明域非 Top/Function
且前一项是函数声明",for-in/for-of 域用空 ScopeFlags 因而漏掉
Top|Function 守卫,误拒跨语句列的函数名与 var 头合法合并。
引擎侧在归一化前按 AST 复核:仅当函数非任一 block/case 列表
直接成员、或其外层链不含该列表时剔除该重名诊断,复核后无
剩余错误则落回解析成功。
2026-09-15 02:18:07 +00:00
pjh123 da5e6d13ba fix: for-in/of 词法头建独立 TDZ 环境,捕获与右值直读归正 2026-09-14 23:58:10 +00:00
pjh123 c50eb9e566 fix: 复合语句域收敛真实完成值,空体物化 undefined 不沿用前值 2026-09-14 22:51:29 +00:00
pjh123 92df76565b fix: 迭代可选入口对非空不可调用 @@iterator 抛错并实现 IsHTMLDDA 宿主值 2026-09-14 22:16:43 +00:00
pjh123 5cfd3162ba fix: 顶层模块求值完成值归空记录,依赖命名空间返回口径不变 2026-09-14 21:20:17 +00:00
pjh123 647fb31af7 fix: 模块顶层路径归一绝对口径,自导入不再误判为外部依赖 2026-09-14 20:39:58 +00:00
pjh123 fa67988ab4 fix: 变量声明完成值归空记录,脚本保留末非空完成值 2026-09-14 20:15:08 +00:00
pjh123 53da6ef817 fix: @@iterator 解析不到可调用时迭代可选入口回退 array-like 2026-09-14 19:45:52 +00:00
pjh123 71e3e6c829 test: 钉五位与花括号 unicode 转义解码边界及三非法形 2026-09-14 18:36:52 +00:00
pjh123 c7ebcea305 fix: with reject 分支负分量先校验范围再截断 2026-09-14 17:41:05 +00:00
pjh123 d67e1469c1 fix: 迭代器快速路径尊重用户覆盖的 @@iterator 2026-09-14 17:35:40 +00:00
pjh123 954ceb2109 fix: PlainTime 构造器负时间分量改抛 RangeError 不再饱和归零 2026-09-14 16:31:51 +00:00
pjh123 99c1254fab fix: for-in 与 for-of 头 var 名补编译期预声明臂 2026-09-14 16:14:31 +00:00
pjh123 b00147eff1 test: 顶层函数声明撞不可定义全局补两阶段回归钉 2026-09-14 16:05:53 +00:00
pjh123 a9118200ce fix: 测试宿主 evalScript 改走普通脚本作用域 2026-09-14 15:05:41 +00:00