Files
ViperC/App
TermiNexus 9f7333b0f2 fix(stmt): translate_with 属性访问改用中间变量,规避 TPC 编译损坏致 asname 未绑定
TransPyC 编译 translate_with 时,联合类型转换后直接取属性(如
((ast.Name|CPtr)(ov)).id / ((ast.Call|CPtr)(ce)).func)的属性访问
(GEP+load)被编译器丢弃——编译产物 75904e6cbc83036b.text.ll 显示
store %asname 0 次、load 3 次,asname 恒 null → pool 从未绑定到
SymTab → body 内 pool.alloc 方法调用检测 lookup_var 失败 → 误报
"跨模块调用 'pool.alloc' 找不到模块 SHA1"。同理 cfn 恒 null 导致
cls_name(AnnotClassName)也设置不上。改为先转换到中间变量再取属性
(代码库已验证编译正常的 cmn 模式),修复 3 处(L264/L279/L298)。
2026-08-13 07:37:20 +08:00
..