diff options
author | Kenneth Graunke <kenneth@whitecape.org> | 2010-04-07 16:56:57 -0700 |
---|---|---|
committer | Ian Romanick <ian.d.romanick@intel.com> | 2010-04-28 15:34:52 -0700 |
commit | 7dd6adbe2e791b22de97175a8715ef1217619c99 (patch) | |
tree | fa320649748897b8e43de57412b4bde019fd29cd | |
parent | 1a3a096bf51e86ddc63402def7dff39b41b7cd63 (diff) |
Refactor ir_expression::get_num_operands.
A new static version takes an ir_expression_operation enum, and the
original non-static version now uses it. This will make it easier to
read operations (where the ir_expression doesn't yet exist).
-rw-r--r-- | ir.cpp | 4 | ||||
-rw-r--r-- | ir.h | 6 |
2 files changed, 7 insertions, 3 deletions
@@ -46,7 +46,7 @@ ir_expression::ir_expression(int op, const struct glsl_type *type, } unsigned int -ir_expression::get_num_operands(void) +ir_expression::get_num_operands(ir_expression_operation op) { /* Update ir_print_visitor.cpp when updating this list. */ const int num_operands[] = { @@ -105,7 +105,7 @@ ir_expression::get_num_operands(void) assert(sizeof(num_operands) / sizeof(num_operands[0]) == ir_binop_pow + 1); - return num_operands[this->operation]; + return num_operands[op]; } @@ -471,7 +471,11 @@ public: ir_expression(int op, const struct glsl_type *type, ir_rvalue *, ir_rvalue *); - unsigned int get_num_operands(void); + static unsigned int get_num_operands(ir_expression_operation); + unsigned int get_num_operands() + { + return get_num_operands(operation); + } virtual void accept(ir_visitor *v) { |