From 724087521c4034a198fe4b5f1679a0ca45594931 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Tue, 19 Feb 2019 18:26:22 +0100 Subject: [PATCH] [CodeQuality] Add CommonNotEqualRector --- config/level/code-quality/code-quality.yaml | 2 + .../Rector/NotEqual/CommonNotEqualRector.php | 62 +++++++++++++++++++ .../CommonNotEqualRectorTest.php | 19 ++++++ .../Fixture/fixture.php.inc | 27 ++++++++ 4 files changed, 110 insertions(+) create mode 100644 packages/CodeQuality/src/Rector/NotEqual/CommonNotEqualRector.php create mode 100644 packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/CommonNotEqualRectorTest.php create mode 100644 packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/Fixture/fixture.php.inc diff --git a/config/level/code-quality/code-quality.yaml b/config/level/code-quality/code-quality.yaml index 7c8406db44e..0b29f59fc91 100644 --- a/config/level/code-quality/code-quality.yaml +++ b/config/level/code-quality/code-quality.yaml @@ -26,3 +26,5 @@ services: Rector\CodeQuality\Rector\If_\ConsecutiveNullCompareReturnsToNullCoalesceQueueRector: ~ Rector\CodeQuality\Rector\If_\SimplifyIfIssetToNullCoalescingRector: ~ Rector\CodeQuality\Rector\If_\ExplicitBoolCompareRector: ~ + Rector\CodeQuality\Rector\FuncCall\CommonNotEqualRector: ~ + Rector\CodeQuality\Rector\NotEqual\CommonNotEqualRector: ~ diff --git a/packages/CodeQuality/src/Rector/NotEqual/CommonNotEqualRector.php b/packages/CodeQuality/src/Rector/NotEqual/CommonNotEqualRector.php new file mode 100644 index 00000000000..db9b6b0e55a --- /dev/null +++ b/packages/CodeQuality/src/Rector/NotEqual/CommonNotEqualRector.php @@ -0,0 +1,62 @@ + with same meaning', [ + new CodeSample( + <<<'CODE_SAMPLE' +final class SomeClass +{ + public function run($one, $two) + { + return $one <> $two; + } +} +CODE_SAMPLE + , + <<<'CODE_SAMPLE' +final class SomeClass +{ + public function run($one, $two) + { + return $one != $two; + } +} +CODE_SAMPLE + ), + ]); + } + + /** + * @return string[] + */ + public function getNodeTypes(): array + { + return [NotEqual::class]; + } + + /** + * @param NotEqual $node + */ + public function refactor(Node $node): ?Node + { + // invoke override to default "!=" + $node->setAttribute(Attribute::ORIGINAL_NODE, null); + + return $node; + } +} diff --git a/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/CommonNotEqualRectorTest.php b/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/CommonNotEqualRectorTest.php new file mode 100644 index 00000000000..b55ecb398d7 --- /dev/null +++ b/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/CommonNotEqualRectorTest.php @@ -0,0 +1,19 @@ +doTestFiles([__DIR__ . '/Fixture/fixture.php.inc']); + } + + protected function getRectorClass(): string + { + return CommonNotEqualRector::class; + } +} diff --git a/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/Fixture/fixture.php.inc b/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/Fixture/fixture.php.inc new file mode 100644 index 00000000000..b7f63091339 --- /dev/null +++ b/packages/CodeQuality/tests/Rector/NotEqual/CommonNotEqualRector/Fixture/fixture.php.inc @@ -0,0 +1,27 @@ + $two; + } +} + +?> +----- +