fix(viperc): typedef 强转补充 stdint/win32base 解析兜底
This commit is contained in:
1 parent
08fe5a7b6b
commit
8461a3da47
1 file changed
+8
@@ -365,6 +365,14 @@ novirtual class CallGenDispatch(CallGenBase.CallGenBase):
|
||||
mod_imp_td = trans._imported_modules
|
||||
mod_fi_td = trans._from_imports
|
||||
mod_td_ty = self.Gen.TypeGenResolve.resolve_annotation_type(pool, mod_td_ast, mod_imp_td, mod_fi_td, trans, 0)
|
||||
if mod_td_ty is None:
|
||||
# Final fallback: the shared typedef resolver also scans stdint/win32base.
|
||||
mod_imp_fb: str = None
|
||||
mod_fi_fb: str = None
|
||||
if trans is not None:
|
||||
mod_imp_fb = trans._imported_modules
|
||||
mod_fi_fb = trans._from_imports
|
||||
mod_td_ty = self.Gen.TypeGenResolve.resolve_typedef_or_map(pool, func_name, mod_imp_fb, mod_fi_fb, trans)
|
||||
if mod_td_ty is not None and can == 1:
|
||||
mt_arg_val: mlirlite.Value* = self.Gen.ExprGen.translate_value(builder, pool, mod, cargs.get(0), funcs_ptr, func_count, trans, mod_td_ty)
|
||||
if mt_arg_val is not None: return self.Gen.CallGenCtor._translate_t_type_cast(pool, builder, mt_arg_val, mod_td_ty, cargs.get(0), trans)
|
||||
|
||||
Reference in new issue
Block a user