Files
ViperC/App/lib/core/Gen
TermiNexus 601db9e265 fix(gen): from-import 模块名截断后再查 SHA1(非 NUL 结尾退化裸名)
undefined symbol: _op_head 根因:lookup_from_import 返回指向 from_imports
内部的指针(非 NUL 结尾,后随空格分隔的其他条目,如 "ast.tokens
TokenType:ast.tokens ...")。ExprGenName 的 from-import 全局查找直接用
该值 LookupSha1ByModName → 整串查不到 → _mangle_name_with_sha1(None)
退化裸名 → 引用 @_op_head 而非 @<tokens_sha1>._op_head → 链接 undefined
(tokens 定义端已带 SHA1 前缀)。ExprGenAttr 别名解析同病。

修复:ExprGenName 新增 _cut_from_import_mod(截断到空格/冒号/NUL),
两处 from-import 分支截断后再查 SHA1;ExprGenAttr 别名解析内联截断。
对齐 CallGenBase._lookup_sha1_from_modname_raw / ExprGenCdef 既有截断逻辑。
2026-08-20 05:01:21 +08:00
..
2026-08-17 04:27:29 +08:00