pjh123
|
7900bb92e6
|
feat: defer 依赖不发 __moduleEval,构造 deferred 对象并逐名预注册
|
2026-10-09 13:10:22 +00:00 |
|
pjh123
|
94823783cd
|
style: 修 rustfmt 格式化差异
|
2026-10-08 06:36:29 +00:00 |
|
pjh123
|
66735f802f
|
refactor: string_forge 与命名空间绑定常量迁入 oxide_types 中立层
|
2026-10-08 05:03:05 +00:00 |
|
pjh123
|
5239ff74b8
|
feat: 捕获 cell 换键地基——绑定增 cell_idx 并解析点按绑定身份取索引
|
2026-10-05 12:01:49 +00:00 |
|
pjh123
|
a0fe780a6e
|
feat: 补全 star 与再导出路径的自导入别名回写
|
2026-10-04 12:57:25 +00:00 |
|
pjh123
|
2b565a4996
|
refactor: 移除 lexical 预声明函数的死参数 global_lexical
|
2026-09-28 19:12:13 +00:00 |
|
pjh123
|
c4ce29c6f2
|
fix: 词法声明遮蔽内置名不再占镜像槽并拒写臂全局解析
|
2026-09-20 11:16:13 +00:00 |
|
pjh123
|
1433d47329
|
fix: 被捕获词法绑定入口建 TDZ 占位 cell 并跳过陈旧静态守卫
|
2026-09-20 09:08:44 +00:00 |
|
pjh123
|
3de0f8a6cb
|
feat: 跨模块可重赋导出活读
|
2026-09-18 00:46:06 +00:00 |
|
pjh123
|
1855775956
|
fix: 模块 var 与函数导出实例化期预初始化
|
2026-09-18 00:32:29 +00:00 |
|
pjh123
|
39183f449c
|
fix: 模块写穿按绑定槽过滤并覆盖更新赋值路径
|
2026-09-18 00:32:12 +00:00 |
|
pjh123
|
f53918f287
|
feat: 星号导出歧义名从命名空间省略
|
2026-09-18 00:19:29 +00:00 |
|
pjh123
|
ed65b5282f
|
feat: 模块命名空间枚举读活值并支持写穿
|
2026-09-18 00:02:21 +00:00 |
|
pjh123
|
cafac572fa
|
feat: 模块命名空间导出条目表与预注册
|
2026-09-17 23:47:04 +00:00 |
|
pjh123
|
5768febadb
|
fix: 自导入别名与源同时捕获时合并单元
|
2026-09-17 23:10:48 +00:00 |
|
pjh123
|
2bd6da4b00
|
fix: 模块自导入绑定改为源绑定活别名
|
2026-09-17 22:54:06 +00:00 |
|
pjh123
|
c1dcc7a8f3
|
fix: 默认导出匿名函数与类设置隐式名
|
2026-09-17 22:16:17 +00:00 |
|
pjh123
|
f751b7b7bb
|
docs: 统一预扫描与模块链接注释措辞
|
2026-09-17 15:55:20 +00:00 |
|
pjh123
|
fa4c9edb81
|
refactor: 闭包捕获分析拆目录并自由函数化去除接收者
|
2026-09-15 23:02:03 +00:00 |
|
pjh123
|
5cfd3162ba
|
fix: 顶层模块求值完成值归空记录,依赖命名空间返回口径不变
|
2026-09-14 21:20:17 +00:00 |
|
pjh123
|
ca5c27574e
|
fix: directive 序言字符串按源序先发射且完成值参与收敛
|
2026-09-14 21:07:10 +00:00 |
|
pjh123
|
647fb31af7
|
fix: 模块顶层路径归一绝对口径,自导入不再误判为外部依赖
|
2026-09-14 20:39:58 +00:00 |
|
pjh123
|
6aff1101f3
|
fix: 顶层受限全局名 lexical 声明编译期拒绝——let/const undefined|NaN|Infinity 撞 GDI 三常量 SyntaxError
|
2026-09-12 22:45:24 +00:00 |
|
pjh123
|
089179daab
|
refactor: 函数 strict 标志入 IR/编译/缓存链(零行为地基)
|
2026-08-16 16:46:33 +08:00 |
|
pjh123
|
744899aae9
|
fix: for-of/for-in 提前退出时按规范顺序完成 IteratorClose
return/break/continue 逃出 for-of 时此前完全不执行 IteratorClose:
BREAK/CONTINUE/RETURN 指令现在经 ext 字携带词法逃出的迭代器层数
(for-of + for-in 各 16 位),运行时在全部 finally 穿越之后、真正
跳转/返回之前按 LIFO 关闭——与规范 §13.7.5.4(循环体完成值已含
内部 try-finally 处理,IteratorClose 在后)顺序一致。
- emit 词法:LabelCtx 增加 for-of/for-in 深度计数,loop/switch/label
打开时快照,break/continue/return 按当前深度减目标深度计算逃出层数
(switch 内 break 以 switch 打开点为基准,目标循环自身不计入)
- 指令编码:brk/cont/ret 三参构造,lower 跳转路径补发 ext 字
- 运行时:dispatch_break/continue/return 读取逃出计数,无 finally 时
直接关闭后跳转/返回,有 finally 时随 Completion 悬挂由 TRY_FINALLY_END
在穿越完成后消费;生成器 .return()/.throw() 注入经 complete_generator_return
全关快照栈迭代器;return() 抛错经 unwind 替代完成值并关闭剩余迭代器
- 顺带:for-in 逃出残留(无 return() 语义,仅弹栈);for-await-of 的
异步迭代器不做同步关闭(return() promise 须 await,走异步机制)
- 新增 15 项回归测试:return/labeled break/continue/switch/while/finally
顺序/抛错优先/生成器注入/for-in/for-await-of 嵌套
|
2026-08-16 09:31:39 +08:00 |
|
pjh123
|
ee7fa88ad7
|
chore: 清理 oxide_emit clippy 告警
|
2026-08-14 05:26:25 +08:00 |
|
pjh123
|
b32d525141
|
feat: emit 模块编译(快照式链接:依赖子模块闭包 + import/export 域)
- emit_program_module:模块顶层编译(is_global_scope=false,顶层 this undefined 由 VM 按标志绑定)
- emit_module_into_ctx:预声明/闭包分析识别 export 包裹声明与 import 绑定
- 依赖收集:import/re-export/star 的 source 去重、循环检测、json/text 数据模块
- 导入绑定初始化:__moduleLinkGet 链接期检查;self-import 别名语义(export 处回写)
- export 域:声明/重导出/export */export default 就地注册命名空间
- re-export 链接检查移至 prelude(先于 body 求值)
- emit_module_call 参数打包连续寄存器(CALL_NATIVE 契约)
- CompileCtx 增 module_ns_reg/module_dep_ns_regs/self-import 映射
- 拆分 declaration helper(export 声明复用);function/class 表达式 emitter 提升可见性
|
2026-08-12 17:37:33 +08:00 |
|