feat(tpv): VLogger 迁移 f-string + 模块限定构造 SHA1 解析 + 包重导出别名注册

- VLogger 全面改用栈 f-string 传参,移除 fmtbuffer 静态缓冲(Phase1Scan/Config/Converter/StubMergerStore/StubMergerTopo/ClassGenDef/StmtGenDeclMixin/CallGenCtor 等)

- CallGenMixin: Module.Class(...) 按模块名解析 SHA1 精确命中类(Scene3D 跨模块同名根因);import X as Y 别名三级还原(精确→后缀→LookupModNameByAlias)

- CallGenCtor: lookup_field_by_class 传 kw 节点与 from_imports;REnum 错误 f-string 化;新增 [DET] ctor 入口 can 核对

- StructGenMixin/GenApi/VpiReader: 包重导出类以包 sha1 注册别名 entry(ast.Attribute 归属错位)

- main: 版本号更新、VLogger API(get_logger→init_logger/logger)、新增 --show-args/--build-dir

- TypeGenCType: 移除 CDEF-MISS 调试日志;.gitignore 忽略 output_dbg/
This commit is contained in:
TermiNexus committed 2026-08-28 13:29:26 +08:00
1 parent 19171ee165
commit b3a4be21d3
16 files changed
+417 -288

No files matched your search

+2 -5
View File
@@ -341,8 +341,7 @@ def _PreRegisterAllGenericTemplates(mb: memhub.MemBuddy | t.CPtr,
handled_count += 1
stdlib.free(src_buf_pg)
if handled_count > 0:
viperlib.snprintf(VLogger.fmtbuffer, 1024, "mark1 前永久池预注册 %d 个 includes 泛型类模板", handled_count)
VLogger.info(VLogger.fmtbuffer, "Phase1")
VLogger.info(f"mark1 前永久池预注册 {handled_count} 个 includes 泛型类模板", "Phase1")
return handled_count
# ============================================================
# _FindClassDefSha1 - 在扁平数组中查找类名对应的定义文件 SHA1
@@ -384,9 +383,7 @@ def _ScanTreeForContainers(node: ast.AST | t.CPtr,
# 递归深度守卫:AST 损坏成自引用环(字段/children 回指祖先)时无限
# 递归直至栈耗尽(每个 includes 文件 parse 后必执行)。fail-fast 终止。
if depth > 128:
viperlib.snprintf(VLogger.fmtbuffer, 256, "容器扫描递归过深(AST 环或嵌套超过 128 层)")
VLogger.error(VLogger.fmtbuffer, "Phase1")
sys.exit(1)
VLogger.error("容器扫描递归过深(AST 环或嵌套超过 128 层)", "Phase1")
if node is None:
return
k_s: int = node.kind()