TermiNexus
0bc7a7c4d4
feat(vipeye-internal): 支持 export/extern 变量声明(extern 禁止初始值)
- export NAME: T [= v] -> T | t.CExport(裸名定义,不加模块 SHA1 头),允许初始值;
extern NAME: T -> T | t.State(= CExtern | CExport 仅声明),不允许初始值:
extern a: int = 1 报「extern 变量声明不能带初始值(符号定义在外部)」
- 与函数形态由第三个 token 区分(`:` 变量 / `(` `[` 函数),与 TPC
_is_export_extern_var 同判据;export def / export f() 形态逐字不变
- 存储类标记按修饰符处理:Struct|CPtr 折叠与联合下标 skip 列表改用
isCModifierType(避免 extern p: t.CPtr 折成 CPtr[State]、str|State 下标误报);
CArray 元素访问快路径放宽到"联合里的 CArray 成员"(gdt[i].access 仍解析)
- typePrinter 增加 CExport->export / State->extern 前缀渲染(hover 显示 export int)
- 新增 viperExportExternVar.test.ts 4 用例,jest 809 -> 813
2026-09-27 18:13:37 +08:00
..
2026-09-27 12:49:25 +08:00
2026-09-27 12:50:02 +08:00
2026-09-27 18:13:37 +08:00
2026-08-07 03:33:29 +08:00
2026-09-27 18:13:37 +08:00