- return qualifier.invariant || qualifier.constant || qualifier.attribute
- || qualifier.varying || qualifier.in
- || qualifier.out || qualifier.centroid
- || qualifier.uniform || qualifier.smooth
- || qualifier.flat || qualifier.noperspective;
+ return this->qualifier.flags.i != 0;
+}
+
+bool ast_type_qualifier::has_interpolation() const
+{
+ return this->flags.q.smooth
+ || this->flags.q.flat
+ || this->flags.q.noperspective;
+}
+
+const char*
+ast_type_qualifier::interpolation_string() const
+{
+ if (this->flags.q.smooth)
+ return "smooth";
+ else if (this->flags.q.flat)
+ return "flat";
+ else if (this->flags.q.noperspective)
+ return "noperspective";
+ else
+ return NULL;