fix(stub): .vpi 保留 typedef 声明

typedef 变量输出为 typedef NAME = 类型,避免生成 NAME: 类型 = 类型 导致加载端不再把 NAME 当类型别名。
This commit is contained in:
TermiNexus committed 2026-10-18 13:57:24 +08:00
1 parent 3c20d49c4a
commit c91edd5629
1 file changed
+4 -3
+4 -3
View File
@@ -581,9 +581,10 @@ class PythonToStubConverter:
# 非宏变量:不加 State
# 含有 typedef 的变量不加 extern,普通变量需要加 extern
has_typedef: bool = 'CTypedef' in TypeStr or 'typedef' in Markers
if has_typedef and node.value is not None:
ValueTypeStr: str = PythonToStubConverter._GetTypeString(node.value)
lines.append(f'{VarName}: {TypeStr} = {ValueTypeStr}')
if has_typedef:
ValueNode: ast.AST | None = node.value if node.value is not None else node.annotation
ValueTypeStr: str = PythonToStubConverter._GetTypeString(ValueNode)
lines.append(f'typedef {VarName} = {ValueTypeStr}')
elif 'extern' in Markers:
lines.append(f'extern {VarName}: {TypeStr}')
elif 'static' in Markers: