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).
This commit is contained in:
parent
1a3a096bf5
commit
7dd6adbe2e
4
ir.cpp
4
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];
|
||||
}
|
||||
|
||||
|
||||
|
|
6
ir.h
6
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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue