diff --git a/config/set/rector-preset.php b/config/set/rector-preset.php index f350c1689c7..461972b8be3 100644 --- a/config/set/rector-preset.php +++ b/config/set/rector-preset.php @@ -2,7 +2,6 @@ declare(strict_types=1); -use Rector\CodingStyle\Rector\PostInc\PostIncDecToPreIncDecRector; use Rector\Config\RectorConfig; use Rector\DeadCode\Rector\Class_\RemoveRefactorDuplicatedNodeInstanceCheckRector; use Rector\PHPUnit\CodeQuality\Rector\Class_\AddSeeTestAnnotationRector; @@ -11,7 +10,6 @@ return static function (RectorConfig $rectorConfig): void { $rectorConfig->rules([ - PostIncDecToPreIncDecRector::class, FinalizeTestCaseClassRector::class, AddParamTypeToRefactorMethodRector::class, RemoveRefactorDuplicatedNodeInstanceCheckRector::class, diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/as_for_loop.php.inc b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/as_for_loop.php.inc deleted file mode 100644 index 071739e01c4..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/as_for_loop.php.inc +++ /dev/null @@ -1,29 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/fixture.php.inc b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/fixture.php.inc deleted file mode 100644 index 37d44bbe508..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/fixture.php.inc +++ /dev/null @@ -1,29 +0,0 @@ - ------ - diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_as_array_key_inside_if.php.inc b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_as_array_key_inside_if.php.inc deleted file mode 100644 index 22a2b9a5f14..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_as_array_key_inside_if.php.inc +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_inside_if.php.inc b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_inside_if.php.inc deleted file mode 100644 index c1e56bab487..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/Fixture/skip_inside_if.php.inc +++ /dev/null @@ -1,19 +0,0 @@ - diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/PostIncDecToPreIncDecRectorTest.php b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/PostIncDecToPreIncDecRectorTest.php deleted file mode 100644 index 8e08ad27677..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/PostIncDecToPreIncDecRectorTest.php +++ /dev/null @@ -1,28 +0,0 @@ -doTestFile($filePath); - } - - public static function provideData(): Iterator - { - return self::yieldFilesFromDirectory(__DIR__ . '/Fixture'); - } - - public function provideConfigFilePath(): string - { - return __DIR__ . '/config/configured_rule.php'; - } -} diff --git a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/config/configured_rule.php b/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/config/configured_rule.php deleted file mode 100644 index feae54dc2cc..00000000000 --- a/rules-tests/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector/config/configured_rule.php +++ /dev/null @@ -1,9 +0,0 @@ -withRules([PostIncDecToPreIncDecRector::class]); diff --git a/rules/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector.php b/rules/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector.php index 2e5cda5502a..e66a364741e 100644 --- a/rules/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector.php +++ b/rules/CodingStyle/Rector/PostInc/PostIncDecToPreIncDecRector.php @@ -5,20 +5,18 @@ namespace Rector\CodingStyle\Rector\PostInc; use PhpParser\Node; -use PhpParser\Node\Expr\PostDec; -use PhpParser\Node\Expr\PostInc; -use PhpParser\Node\Expr\PreDec; -use PhpParser\Node\Expr\PreInc; use PhpParser\Node\Stmt\Expression; use PhpParser\Node\Stmt\For_; +use Rector\Configuration\Deprecation\Contract\DeprecatedInterface; +use Rector\Exception\ShouldNotHappenException; use Rector\Rector\AbstractRector; use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample; use Symplify\RuleDocGenerator\ValueObject\RuleDefinition; /** - * @see \Rector\Tests\CodingStyle\Rector\PostInc\PostIncDecToPreIncDecRector\PostIncDecToPreIncDecRectorTest + * @deprecated This rule is deprecated, as it is a cosmetic coding-style preference with little value. Use a coding standard tool instead. */ -final class PostIncDecToPreIncDecRector extends AbstractRector +final class PostIncDecToPreIncDecRector extends AbstractRector implements DeprecatedInterface { public function getRuleDefinition(): RuleDefinition { @@ -65,45 +63,9 @@ public function getNodeTypes(): array */ public function refactor(Node $node): ?Node { - if ($node instanceof Expression) { - return $this->refactorExpression($node); - } - - return $this->refactorFor($node); - } - - private function refactorFor(For_ $for): For_|null - { - if (count($for->loop) !== 1) { - return null; - } - - $singleLoopExpr = $for->loop[0]; - if (! $singleLoopExpr instanceof PostInc && ! $singleLoopExpr instanceof PostDec) { - return null; - } - - $for->loop = [$this->processPrePost($singleLoopExpr)]; - - return $for; - } - - private function processPrePost(PostInc|PostDec $node): PreInc|PreDec - { - if ($node instanceof PostInc) { - return new PreInc($node->var); - } - - return new PreDec($node->var); - } - - private function refactorExpression(Expression $expression): ?Expression - { - if ($expression->expr instanceof PostInc || $expression->expr instanceof PostDec) { - $expression->expr = $this->processPrePost($expression->expr); - return $expression; - } - - return null; + throw new ShouldNotHappenException(sprintf( + '"%s" rule is deprecated, as it is a cosmetic coding-style preference better handled by a coding standard tool', + self::class + )); } } diff --git a/rules/DeadCode/Rector/If_/RemoveAlwaysTrueIfConditionRector.php b/rules/DeadCode/Rector/If_/RemoveAlwaysTrueIfConditionRector.php index 84f14abd7f2..49395a34e18 100644 --- a/rules/DeadCode/Rector/If_/RemoveAlwaysTrueIfConditionRector.php +++ b/rules/DeadCode/Rector/If_/RemoveAlwaysTrueIfConditionRector.php @@ -122,12 +122,12 @@ public function refactor(Node $node): int|null|array|If_ return null; } - $conditionStaticType = $this->nodeTypeResolver->getNativeType($node->cond); - if (! $conditionStaticType->isTrue()->yes()) { + if ($this->shouldSkipExpr($node->cond)) { return null; } - if ($this->shouldSkipExpr($node->cond)) { + $conditionStaticType = $this->nodeTypeResolver->getNativeType($node->cond); + if (! $conditionStaticType->isTrue()->yes()) { return null; }