Fix recursive_dereferencer in binops

This commit is contained in:
Pragyansh Chaturvedi
2025-10-03 13:35:15 +05:30
parent a622c53e0f
commit c9ee6e4f17
2 changed files with 2 additions and 6 deletions

View File

@ -8,10 +8,7 @@ logger: Logger = logging.getLogger(__name__)
def recursive_dereferencer(var, builder):
"""dereference until primitive type comes out"""
if var.type == ir.PointerType(ir.PointerType(ir.IntType(64))):
a = builder.load(var)
return recursive_dereferencer(a, builder)
elif var.type == ir.PointerType(ir.IntType(64)):
if isinstance(var.type, ir.PointerType):
a = builder.load(var)
return recursive_dereferencer(a, builder)
elif var.type == ir.IntType(64):

View File

@ -41,8 +41,7 @@ def _handle_attribute_expr(
attr_name = expr.attr
if var_name in local_sym_tab:
var_ptr, var_type, var_metadata = local_sym_tab[var_name]
logger.info(f"Loading attribute {
attr_name} from variable {var_name}")
logger.info(f"Loading attribute {attr_name} from variable {var_name}")
logger.info(f"Variable type: {var_type}, Variable ptr: {var_ptr}")
metadata = structs_sym_tab[var_metadata]