diff --git a/rules/dead-code/src/Rector/For_/RemoveDeadLoopRector.php b/rules/dead-code/src/Rector/For_/RemoveDeadLoopRector.php new file mode 100644 index 00000000000..0a872f4363a --- /dev/null +++ b/rules/dead-code/src/Rector/For_/RemoveDeadLoopRector.php @@ -0,0 +1,71 @@ +stmts !== []) { + return null; + } + + $this->removeNode($node); + return $node; + } +} diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/do_.php.inc b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/do_.php.inc new file mode 100644 index 00000000000..a04d4965af3 --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/do_.php.inc @@ -0,0 +1,28 @@ + +----- + diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/fixture.php.inc b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/fixture.php.inc new file mode 100644 index 00000000000..64eb5ab52cb --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/fixture.php.inc @@ -0,0 +1,27 @@ + +----- + diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/foreach_.php.inc b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/foreach_.php.inc new file mode 100644 index 00000000000..6da72baf711 --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/foreach_.php.inc @@ -0,0 +1,27 @@ + +----- + diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/skip_has_stmt.php.inc b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/skip_has_stmt.php.inc new file mode 100644 index 00000000000..7373c918085 --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/skip_has_stmt.php.inc @@ -0,0 +1,15 @@ + \ No newline at end of file diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/while_.php.inc b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/while_.php.inc new file mode 100644 index 00000000000..21b5b97c542 --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/Fixture/while_.php.inc @@ -0,0 +1,27 @@ + +----- + diff --git a/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/RemoveDeadLoopRectorTest.php b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/RemoveDeadLoopRectorTest.php new file mode 100644 index 00000000000..51227263958 --- /dev/null +++ b/rules/dead-code/tests/Rector/For_/RemoveDeadLoopRector/RemoveDeadLoopRectorTest.php @@ -0,0 +1,31 @@ +doTestFileInfo($fileInfo); + } + + public function provideData(): Iterator + { + return $this->yieldFilesFromDirectory(__DIR__ . '/Fixture'); + } + + protected function getRectorClass(): string + { + return RemoveDeadLoopRector::class; + } +}