fix(gen): 兄弟 Mixin this 调整改用模块级 HandlesClassDef._get_type_size
765702b 用 self._get_type_size(定义在 ClassGenEnumMixin)跨 Mixin 调用按 self 类型解析失败 → 链接 undefined symbol: CallGenCall._get_type_size。改为 HandlesClassDef._get_type_size(模块级函数,_field_byte_offset 同源用法)。
This commit is contained in:
1 parent
765702bb5f
commit
9e6e76fcab
1 file changed
+1
-1
@@ -1023,7 +1023,7 @@ class CallGenCall(CallGenBase.CallGenBase):
|
||||
# BaseB 字段区起点,BaseA 区在它前面,this 前移 sizeof(定义类)。
|
||||
# 若无此分支,sub_field_th 查找失败 → 下方 fail-fast,兄弟 Mixin
|
||||
# 调用永远编译不过(NoVTableCrossMixinTest BaseB.caller 根因)。
|
||||
anc_size_th: int = self._get_type_size(anc_entry_th.Ty)
|
||||
anc_size_th: int = HandlesClassDef._get_type_size(anc_entry_th.Ty)
|
||||
if anc_size_th > 0:
|
||||
i8_ty_th2: llvmlite.LLVMType | t.CPtr = llvmlite.Int8(pool)
|
||||
i8_ptr_th2: llvmlite.LLVMType | t.CPtr = llvmlite.Ptr(pool, i8_ty_th2)
|
||||
|
||||
Reference in new issue
Block a user