glsl2: Move constant_expression_value method to ir_rvalue.
authorKenneth Graunke <kenneth@whitecape.org>
Mon, 12 Jul 2010 20:55:10 +0000 (13:55 -0700)
committerIan Romanick <ian.d.romanick@intel.com>
Wed, 21 Jul 2010 00:10:05 +0000 (17:10 -0700)
This prevents top-level callers from asking for the value of something
that is guaranteed not to have one.

src/glsl/ir.h
src/glsl/ir_constant_expression.cpp

index 1d667be..b6cd1ba 100644 (file)
@@ -71,8 +71,6 @@ public:
    enum ir_node_type ir_type;
    const struct glsl_type *type;
 
-   class ir_constant *constant_expression_value();
-
    /** ir_print_visitor helper for debugging. */
    void print(void) const;
 
@@ -114,6 +112,8 @@ protected:
 
 class ir_rvalue : public ir_instruction {
 public:
+   class ir_constant *constant_expression_value();
+
    virtual ir_rvalue *clone(struct hash_table *) const = 0;
 
    virtual ir_rvalue * as_rvalue()
index ca83497..44f4a64 100644 (file)
@@ -96,7 +96,7 @@ public:
 
 
 ir_constant *
-ir_instruction::constant_expression_value()
+ir_rvalue::constant_expression_value()
 {
    ir_constant_visitor visitor;