diff --git a/packages/DeadCode/src/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php b/packages/DeadCode/src/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php index 6421683e53db..ffe7c059f09d 100644 --- a/packages/DeadCode/src/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php +++ b/packages/DeadCode/src/Rector/Plus/RemoveDeadZeroAndOneOperationRector.php @@ -12,6 +12,7 @@ use PhpParser\Node\Expr\BinaryOp\Minus; use PhpParser\Node\Expr\BinaryOp\Mul; use PhpParser\Node\Expr\BinaryOp\Plus; +use PhpParser\Node\Expr\UnaryMinus; use Rector\Rector\AbstractRector; use Rector\RectorDefinition\CodeSample; use Rector\RectorDefinition\RectorDefinition; @@ -149,6 +150,9 @@ private function processBinaryPlusAndMinus(BinaryOp $binaryOp): ?Expr { if ($this->isValue($binaryOp->left, 0)) { if ($this->isNumberType($binaryOp->right)) { + if ($binaryOp instanceof Minus) { + return new UnaryMinus($binaryOp->right); + } return $binaryOp->right; } } diff --git a/packages/DeadCode/tests/Rector/Plus/RemoveDeadZeroAndOneOperationRector/Fixture/zero_minus.php.inc b/packages/DeadCode/tests/Rector/Plus/RemoveDeadZeroAndOneOperationRector/Fixture/zero_minus.php.inc new file mode 100644 index 000000000000..54614ef35c01 --- /dev/null +++ b/packages/DeadCode/tests/Rector/Plus/RemoveDeadZeroAndOneOperationRector/Fixture/zero_minus.php.inc @@ -0,0 +1,25 @@ + +----- +