Refactor ir_dereference data fields to subclasses
diff --git a/ir_function_inlining.cpp b/ir_function_inlining.cpp
index 38572a2..9109ce6 100644
--- a/ir_function_inlining.cpp
+++ b/ir_function_inlining.cpp
@@ -231,11 +231,11 @@
void
ir_function_cloning_visitor::visit(ir_dereference_array *ir)
{
- ir->var->accept(this);
+ ir->array->accept(this);
ir_rvalue *var = this->result->as_rvalue();
- ir->selector.array_index->accept(this);
+ ir->array_index->accept(this);
ir_rvalue *index = this->result->as_rvalue();
@@ -245,11 +245,11 @@
void
ir_function_cloning_visitor::visit(ir_dereference_record *ir)
{
- ir->var->accept(this);
+ ir->record->accept(this);
ir_rvalue *var = this->result->as_rvalue();
- this->result = new ir_dereference_record(var, strdup(ir->selector.field));
+ this->result = new ir_dereference_record(var, strdup(ir->field));
}
void
@@ -525,14 +525,14 @@
void
ir_function_inlining_visitor::visit(ir_dereference_array *ir)
{
- ir->selector.array_index->accept(this);
- ir->var->accept(this);
+ ir->array_index->accept(this);
+ ir->array->accept(this);
}
void
ir_function_inlining_visitor::visit(ir_dereference_record *ir)
{
- ir->var->accept(this);
+ ir->record->accept(this);
}
void