From 16c60344a678cd96ad13cc8424d4b910ca62d618 Mon Sep 17 00:00:00 2001 From: Tomas Votruba Date: Wed, 5 Jun 2019 14:10:39 +0300 Subject: [PATCH] [DeadCode] Add RemoveConcatAutocastRector --- config/level/dead-code/dead-code.yaml | 1 + .../Concat/RemoveConcatAutocastRector.php | 63 +++++++++++++++++++ .../Fixture/fixture.php.inc | 27 ++++++++ .../RemoveConcatAutocastRectorTest.php | 19 ++++++ 4 files changed, 110 insertions(+) create mode 100644 packages/DeadCode/src/Rector/Concat/RemoveConcatAutocastRector.php create mode 100644 packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/Fixture/fixture.php.inc create mode 100644 packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/RemoveConcatAutocastRectorTest.php diff --git a/config/level/dead-code/dead-code.yaml b/config/level/dead-code/dead-code.yaml index 4844b9c504d7..aa6a2ad7cdb3 100644 --- a/config/level/dead-code/dead-code.yaml +++ b/config/level/dead-code/dead-code.yaml @@ -17,3 +17,4 @@ services: Rector\DeadCode\Rector\For_\RemoveDeadIfForeachForRector: ~ Rector\DeadCode\Rector\BooleanAnd\RemoveAndTrueRector: ~ Rector\DeadCode\Rector\MethodCall\RemoveDefaultArgumentValueRector: ~ + Rector\DeadCode\Rector\Concat\RemoveConcatAutocastRector: ~ diff --git a/packages/DeadCode/src/Rector/Concat/RemoveConcatAutocastRector.php b/packages/DeadCode/src/Rector/Concat/RemoveConcatAutocastRector.php new file mode 100644 index 000000000000..b977b363badf --- /dev/null +++ b/packages/DeadCode/src/Rector/Concat/RemoveConcatAutocastRector.php @@ -0,0 +1,63 @@ +left = $this->removeStringCast($node->left); + $node->right = $this->removeStringCast($node->right); + + return $node; + } + + private function removeStringCast(Node\Expr $expr): Node + { + return $expr instanceof Node\Expr\Cast\String_ ? $expr->expr : $expr; + } +} diff --git a/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/Fixture/fixture.php.inc b/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/Fixture/fixture.php.inc new file mode 100644 index 000000000000..448dc07a74fe --- /dev/null +++ b/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/Fixture/fixture.php.inc @@ -0,0 +1,27 @@ + +----- + diff --git a/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/RemoveConcatAutocastRectorTest.php b/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/RemoveConcatAutocastRectorTest.php new file mode 100644 index 000000000000..2b61afcdcb17 --- /dev/null +++ b/packages/DeadCode/tests/Rector/Concat/RemoveConcatAutocastRector/RemoveConcatAutocastRectorTest.php @@ -0,0 +1,19 @@ +doTestFiles([__DIR__ . '/Fixture/fixture.php.inc']); + } + + protected function getRectorClass(): string + { + return RemoveConcatAutocastRector::class; + } +}