mirror of https://github.com/Icinga/icinga2.git
Remove unnecessary MakeLiteral calls in SetExpression::DoEvaluate
fixes #10199
This commit is contained in:
parent
ca960a0c1a
commit
af5c3b03f8
|
@ -482,41 +482,30 @@ ExpressionResult SetExpression::DoEvaluate(ScriptFrame& frame, DebugHint *dhint)
|
|||
if (m_Op != OpSetLiteral) {
|
||||
Value object = VMOps::GetField(parent, index, m_DebugInfo);
|
||||
|
||||
Expression *lhs = MakeLiteral(object);
|
||||
Expression *rhs = MakeLiteral(operand2);
|
||||
|
||||
switch (m_Op) {
|
||||
case OpSetAdd:
|
||||
operand2 = AddExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object + operand2;
|
||||
break;
|
||||
case OpSetSubtract:
|
||||
operand2 = SubtractExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object - operand2;
|
||||
break;
|
||||
case OpSetMultiply:
|
||||
operand2 = MultiplyExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object * operand2;
|
||||
break;
|
||||
case OpSetDivide:
|
||||
operand2 = DivideExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object / operand2;
|
||||
break;
|
||||
case OpSetModulo:
|
||||
operand2 = ModuloExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object % operand2;
|
||||
break;
|
||||
case OpSetXor:
|
||||
operand2 = XorExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object ^ operand2;
|
||||
break;
|
||||
case OpSetBinaryAnd:
|
||||
operand2 = BinaryAndExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object & operand2;
|
||||
break;
|
||||
case OpSetBinaryOr:
|
||||
operand2 = BinaryOrExpression(lhs, rhs, m_DebugInfo).Evaluate(frame, dhint);
|
||||
CHECK_RESULT(operand2);
|
||||
operand2 = object | operand2;
|
||||
break;
|
||||
default:
|
||||
VERIFY(!"Invalid opcode.");
|
||||
|
|
Loading…
Reference in New Issue