From 7dd6adbe2e791b22de97175a8715ef1217619c99 Mon Sep 17 00:00:00 2001 From: Kenneth Graunke Date: Wed, 7 Apr 2010 16:56:57 -0700 Subject: [PATCH] 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). --- ir.cpp | 4 ++-- ir.h | 6 +++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ir.cpp b/ir.cpp index 1ae7dd6f0e5..b4b2ca4d916 100644 --- a/ir.cpp +++ b/ir.cpp @@ -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]; } diff --git a/ir.h b/ir.h index c93c043f5e5..892455e1dee 100644 --- a/ir.h +++ b/ir.h @@ -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) { -- 2.11.0