[poincare] Cleanup the OppositeTransform

This commit is contained in:
Romain Goyet
2017-09-30 18:11:10 +02:00
parent 6c312b8915
commit 375fcfe949

View File

@@ -5,18 +5,15 @@
#include <poincare/opposite.h>
bool Poincare::Simplification::OppositeTransform(Expression * captures[]) {
assert(captures[0]->type() == Expression::Type::Opposite);
Opposite * o = static_cast<Opposite *>(captures[0]);
assert(o->type() == Expression::Type::Opposite);
const Integer * minusOne = new Integer(-1);
const Expression * multiplicationOperands[2] = {o->operand(0), minusOne};
Multiplication * m = new Multiplication(multiplicationOperands, 2, false);
static_cast<Hierarchy *>(o->parent())->replaceOperand(o, m, false);
o->detachOperands();
delete o;
o->replaceWith(m);
return true;
}