glsl: Fold implementation of ir_dereference_array::constant_referenced into wrapper
[mesa.git] / src / glsl / ir_hierarchical_visitor.cpp
index d475df62fce3dddaf35bd8d2809fae5b558a602b..2e606dda4bef26500c08cdf7f0b8a73fb2bb5108 100644 (file)
 
 ir_hierarchical_visitor::ir_hierarchical_visitor()
 {
+   this->base_ir = NULL;
    this->callback = NULL;
    this->data = NULL;
+   this->in_assignee = false;
+}
+
+ir_visitor_status
+ir_hierarchical_visitor::visit(ir_rvalue *ir)
+{
+   if (this->callback != NULL)
+      this->callback(ir, this->data);
+
+   return visit_continue;
 }
 
 ir_visitor_status
@@ -57,6 +68,24 @@ ir_hierarchical_visitor::visit(ir_loop_jump *ir)
    return visit_continue;
 }
 
+ir_visitor_status
+ir_hierarchical_visitor::visit(ir_emit_vertex *ir)
+{
+   if (this->callback != NULL)
+      this->callback(ir, this->data);
+
+   return visit_continue;
+}
+
+ir_visitor_status
+ir_hierarchical_visitor::visit(ir_end_primitive *ir)
+{
+   if (this->callback != NULL)
+      this->callback(ir, this->data);
+
+   return visit_continue;
+}
+
 ir_visitor_status
 ir_hierarchical_visitor::visit(ir_dereference_variable *ir)
 {