diff --git a/rector.php b/rector.php index ba9a8b3..ab14aae 100644 --- a/rector.php +++ b/rector.php @@ -2,8 +2,9 @@ declare(strict_types=1); -use Rector\CodingStyle\Rector\ClassConst\VarConstantCommentRector; use Rector\Config\RectorConfig; +use Rector\Php55\Rector\String_\StringClassNameToClassConstantRector; +use Rector\PHPUnit\Set\PHPUnitSetList; use Rector\Set\ValueObject\LevelSetList; use Rector\Set\ValueObject\SetList; @@ -14,9 +15,10 @@ ]); $rectorConfig->importNames(); + $rectorConfig->removeUnusedImports(); $rectorConfig->sets([ - \Rector\PHPUnit\Set\PHPUnitSetList::PHPUNIT_100, + PHPUnitSetList::PHPUNIT_100, LevelSetList::UP_TO_PHP_81, SetList::TYPE_DECLARATION, SetList::PRIVATIZATION, @@ -26,7 +28,7 @@ SetList::CODING_STYLE, ]); - $rectorConfig->ruleWithConfiguration(\Rector\Php55\Rector\String_\StringClassNameToClassConstantRector::class, [ + $rectorConfig->ruleWithConfiguration(StringClassNameToClassConstantRector::class, [ 'Twig\Extension\ExtensionInterface', 'PHPUnit\Framework\TestCase', 'Symfony\Bundle\FrameworkBundle\Controller\Controller', @@ -36,9 +38,5 @@ $rectorConfig->skip([ '*/Fixture/*', '*/Source/*', - - VarConstantCommentRector::class => [ - __DIR__ . '/src/PublicClassMethodMatcher.php', - ], ]); }; diff --git a/src/Rules/UnusedPublicClassConstRule.php b/src/Rules/UnusedPublicClassConstRule.php index 2987bd5..8a91ba3 100644 --- a/src/Rules/UnusedPublicClassConstRule.php +++ b/src/Rules/UnusedPublicClassConstRule.php @@ -4,7 +4,6 @@ namespace TomasVotruba\UnusedPublic\Rules; -use Nette\Utils\Arrays; use PhpParser\Node; use PHPStan\Analyser\Scope; use PHPStan\Node\CollectedDataNode; @@ -17,6 +16,7 @@ use TomasVotruba\UnusedPublic\Enum\RuleTips; use TomasVotruba\UnusedPublic\Enum\Template\BladeRegex; use TomasVotruba\UnusedPublic\Templates\TemplateRegexFinder; +use TomasVotruba\UnusedPublic\Utils\Arrays; /** * @see \TomasVotruba\UnusedPublic\Tests\Rules\UnusedPublicClassConstRule\UnusedPublicClassConstRuleTest diff --git a/src/Rules/UnusedPublicClassMethodRule.php b/src/Rules/UnusedPublicClassMethodRule.php index 03d891c..c483cca 100644 --- a/src/Rules/UnusedPublicClassMethodRule.php +++ b/src/Rules/UnusedPublicClassMethodRule.php @@ -4,7 +4,6 @@ namespace TomasVotruba\UnusedPublic\Rules; -use Nette\Utils\Arrays; use PhpParser\Node; use PHPStan\Analyser\Scope; use PHPStan\Node\CollectedDataNode; @@ -24,6 +23,7 @@ use TomasVotruba\UnusedPublic\Enum\RuleTips; use TomasVotruba\UnusedPublic\Templates\TemplateMethodCallsProvider; use TomasVotruba\UnusedPublic\Templates\UsedMethodAnalyzer; +use TomasVotruba\UnusedPublic\Utils\Arrays; /** * @see \TomasVotruba\UnusedPublic\Tests\Rules\UnusedPublicClassMethodRule\UnusedPublicClassMethodRuleTest diff --git a/src/Rules/UnusedPublicPropertyRule.php b/src/Rules/UnusedPublicPropertyRule.php index 46d1851..7ded1b2 100644 --- a/src/Rules/UnusedPublicPropertyRule.php +++ b/src/Rules/UnusedPublicPropertyRule.php @@ -4,7 +4,6 @@ namespace TomasVotruba\UnusedPublic\Rules; -use Nette\Utils\Arrays; use PhpParser\Node; use PHPStan\Analyser\Scope; use PHPStan\Node\CollectedDataNode; @@ -16,6 +15,7 @@ use TomasVotruba\UnusedPublic\Collectors\PublicStaticPropertyFetchCollector; use TomasVotruba\UnusedPublic\Configuration; use TomasVotruba\UnusedPublic\Enum\RuleTips; +use TomasVotruba\UnusedPublic\Utils\Arrays; /** * @see \TomasVotruba\UnusedPublic\Tests\Rules\UnusedPublicPropertyRule\UnusedPublicPropertyRuleTest diff --git a/src/Templates/TemplateRegexFinder.php b/src/Templates/TemplateRegexFinder.php index 52a1f8a..e238f4a 100644 --- a/src/Templates/TemplateRegexFinder.php +++ b/src/Templates/TemplateRegexFinder.php @@ -5,6 +5,7 @@ namespace TomasVotruba\UnusedPublic\Templates; use TomasVotruba\UnusedPublic\Finder\TemplateFilesFinder; +use TomasVotruba\UnusedPublic\Utils\Strings; final class TemplateRegexFinder { @@ -37,13 +38,12 @@ public function find(array $directories, string $fileSuffix, array $innerRegexes $methodCallNames = []; foreach ($templateFilesContents as $templateFileContent) { foreach ($innerRegexes as $innerRegex) { - preg_match_all($innerRegex, $templateFileContent, $matches); + $matches = Strings::matchAll($templateFileContent, $innerRegex); foreach ($matches as $match) { $templateMarkupContents = $match['contents']; - preg_match_all($targetRegex, $templateMarkupContents, $methodNamesMatches); - + $methodNamesMatches = Strings::matchAll($templateMarkupContents, $targetRegex); foreach ($methodNamesMatches as $methodNameMatch) { $methodCallNames[] = $methodNameMatch['desired_name']; } diff --git a/src/Utils/Arrays.php b/src/Utils/Arrays.php new file mode 100644 index 0000000..11c5299 --- /dev/null +++ b/src/Utils/Arrays.php @@ -0,0 +1,26 @@ +