From 1736750f73cc855047e1307ee40d2638e6b8b6a4 Mon Sep 17 00:00:00 2001 From: Maurizio Monticelli Date: Thu, 23 May 2024 16:18:52 +0200 Subject: [PATCH] feature: make dump fixer php cs fixer compatible #28 --- src/Fixer/DumpFixer.php | 2 ++ src/Fixer/FixerTrait.php | 26 ++++++++++++++++++++++++++ src/Fixers.php | 35 +++++++++++++++++++++++++++++++++++ 3 files changed, 63 insertions(+) create mode 100644 src/Fixer/FixerTrait.php create mode 100644 src/Fixers.php diff --git a/src/Fixer/DumpFixer.php b/src/Fixer/DumpFixer.php index 21eaf1c..63b05df 100644 --- a/src/Fixer/DumpFixer.php +++ b/src/Fixer/DumpFixer.php @@ -41,6 +41,8 @@ */ final class DumpFixer extends AbstractFunctionReferenceFixer { + use FixerTrait; + private array $functions = ['dump', 'var_dump', 'dd']; public function isCandidate(Tokens $tokens): bool diff --git a/src/Fixer/FixerTrait.php b/src/Fixer/FixerTrait.php new file mode 100644 index 0000000..bf820c4 --- /dev/null +++ b/src/Fixer/FixerTrait.php @@ -0,0 +1,26 @@ + + */ +final class Fixers implements \IteratorAggregate +{ + /** + * @return \Generator + */ + public function getIterator(): \Generator + { + $classNames = []; + foreach (new \DirectoryIterator(__DIR__ . '/Fixer') as $fileInfo) { + $fileName = $fileInfo->getBasename('.php'); + if (\in_array($fileName, ['.', '..', 'FixerTrait'], true)) { + continue; + } + $classNames[] = __NAMESPACE__ . '\\Fixer\\' . $fileName; + } + + \sort($classNames); + + foreach ($classNames as $className) { + $fixer = new $className(); + \assert($fixer instanceof FixerInterface); + + yield $fixer; + } + } +}