public function MapUnaryOperationExpression($UnaryOperator, CoreExpression $OperandExpression)
{
switch ($UnaryOperator) {
case O\Unary::Increment:
return new E\BinaryOperationExpression($OperandExpression, O\Binary::Addition, new EE\ConstantExpression(1));
case O\Unary::Decrement:
return new E\BinaryOperationExpression($OperandExpression, O\Binary::Subtraction, new EE\ConstantExpression(1));
case O\Unary::PreIncrement:
return new E\BinaryOperationExpression(new EE\ConstantExpression(1), O\Binary::Addition, $OperandExpression);
case O\Unary::PreDecrement:
return new E\BinaryOperationExpression(new EE\ConstantExpression(1), O\Binary::Subtraction, $OperandExpression);
default:
return Expression::UnaryOperation($UnaryOperator, $OperandExpression);
}
}