Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -339,7 +339,7 @@ parameters:
identifier: symplify.forbiddenFuncCall
message: '#Function "(class_exists|interface_exists)\(\)" cannot be used/left in the code\: use ReflectionProvider\->has\*\(\) instead#'
paths:
- src/Skipper/SkipCriteriaResolver/SkippedClassResolver.php
- src/Skipper/Skipper/Skipper.php

-
identifier: symplify.noConstructorOverride
Expand Down
10 changes: 8 additions & 2 deletions src/Application/RectorRegistry.php
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,10 @@

namespace Rector\Application;

use Rector\Contract\Rector\HTMLAverseRectorInterface;
use Rector\Contract\Rector\RectorInterface;
use Rector\Skipper\Skipper\Skipper;
use Rector\ValueObject\Application\File;

/**
* @see \Rector\Tests\Application\RectorRegistryTest
Expand Down Expand Up @@ -35,11 +37,15 @@ public function refreshRectors(array $rectors): void
/**
* @return array<RectorInterface>
*/
public function forPath(string $filePath): array
public function forFile(File $file): array
{
$rectorsForPath = [];
foreach ($this->rectors as $rector) {
if ($this->skipper->shouldSkipRectorAndFile($rector, $filePath)) {
if ($this->skipper->shouldSkipRectorAndFile($rector, $file->getFilePath())) {
continue;
}

if ($rector instanceof HTMLAverseRectorInterface && $file->containsHTML()) {
continue;
}

Expand Down
6 changes: 3 additions & 3 deletions src/Config/RectorConfig.php
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
use Rector\Enum\Config\Defaults;
use Rector\Exception\ShouldNotHappenException;
use Rector\Php\PhpVersionResolver\ComposerJsonPhpVersionResolver;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\Skipper;
use Rector\Validation\RectorConfigValidator;
use Rector\ValueObject\Configuration\LevelOverflow;
use Rector\ValueObject\PhpVersion;
Expand Down Expand Up @@ -510,8 +510,8 @@ public function resetRuleConfigurations(): void
*/
public function boot(): void
{
$skippedClassResolver = new SkippedClassResolver();
$skippedElements = $skippedClassResolver->resolve();
$skippedElements = $this->make(Skipper::class)
->resolveSkippedClasses();

foreach ($skippedElements as $skippedClass => $path) {
if ($path !== null) {
Expand Down
6 changes: 3 additions & 3 deletions src/Console/Command/ListRulesCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
use Rector\Configuration\Option;
use Rector\Contract\Rector\RectorInterface;
use Rector\PostRector\Contract\Rector\PostRectorInterface;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\Skipper;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
Expand All @@ -23,7 +23,7 @@ final class ListRulesCommand extends Command
*/
public function __construct(
private readonly SymfonyStyle $symfonyStyle,
private readonly SkippedClassResolver $skippedClassResolver,
private readonly Skipper $skipper,
private readonly array $rectors
) {
parent::__construct();
Expand Down Expand Up @@ -101,7 +101,7 @@ private function getSkippedRectorClasses(): array
{
$skippedRectorClasses = [];

foreach ($this->skippedClassResolver->resolve() as $rectorClass => $fileList) {
foreach ($this->skipper->resolveSkippedClasses() as $rectorClass => $fileList) {
// ignore specific skips
if ($fileList !== null) {
continue;
Expand Down
8 changes: 4 additions & 4 deletions src/Console/Command/ProcessCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@
use Rector\Exception\ShouldNotHappenException;
use Rector\Reporting\DeprecatedRulesReporter;
use Rector\Reporting\MissConfigurationReporter;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\Skipper;
use Rector\StaticReflection\DynamicSourceLocatorDecorator;
use Rector\Util\MemoryLimiter;
use Rector\ValueObject\Configuration;
Expand All @@ -45,7 +45,7 @@ public function __construct(
private readonly DeprecatedRulesReporter $deprecatedRulesReporter,
private readonly MissConfigurationReporter $missConfigurationReporter,
private readonly ConfigurationRuleFilter $configurationRuleFilter,
private readonly SkippedClassResolver $skippedClassResolver,
private readonly Skipper $skipper,
) {
parent::__construct();
}
Expand Down Expand Up @@ -116,11 +116,11 @@ protected function execute(InputInterface $input, OutputInterface $output): int
}

// 0. warn about skipped rules that are deprecated
if ($this->skippedClassResolver->resolveDeprecatedSkippedClasses() !== []) {
if ($this->skipper->resolveDeprecatedSkippedClasses() !== []) {
$this->symfonyStyle->warning(sprintf(
'These rules are skipped, but are deprecated. Most likely you do not need to skip them anymore as not part of any set and remove them: %s%s',
"\n\n",
'* ' . implode("\n* ", $this->skippedClassResolver->resolveDeprecatedSkippedClasses()) . "\n"
'* ' . implode("\n* ", $this->skipper->resolveDeprecatedSkippedClasses()) . "\n"
));
}

Expand Down
6 changes: 3 additions & 3 deletions src/Console/Command/ValidateConfigCommand.php
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
use Rector\Console\ExitCode;
use Rector\Reporting\DeprecatedRulesReporter;
use Rector\Reporting\MissConfigurationReporter;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\Skipper;
use Rector\ValueObject\Configuration;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
Expand All @@ -28,7 +28,7 @@ public function __construct(
private readonly SymfonyStyle $symfonyStyle,
private readonly DeprecatedRulesReporter $deprecatedRulesReporter,
private readonly MissConfigurationReporter $missConfigurationReporter,
private readonly SkippedClassResolver $skippedClassResolver,
private readonly Skipper $skipper,
) {
parent::__construct();
}
Expand Down Expand Up @@ -94,7 +94,7 @@ protected function execute(InputInterface $input, OutputInterface $output): int

private function reportDeprecatedSkippedClasses(): int
{
$deprecatedSkippedClasses = $this->skippedClassResolver->resolveDeprecatedSkippedClasses();
$deprecatedSkippedClasses = $this->skipper->resolveDeprecatedSkippedClasses();
if ($deprecatedSkippedClasses === []) {
return 0;
}
Expand Down
8 changes: 4 additions & 4 deletions src/Reporting/UnusedSkipResolver.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Rector\Configuration\Option;
use Rector\Configuration\Parameter\SimpleParameterProvider;
use Rector\FileSystem\FilePathHelper;
use Rector\Skipper\SkipCriteriaResolver\SkippedClassResolver;
use Rector\Skipper\Skipper\Skipper;
use Rector\Skipper\SkipCriteriaResolver\SkippedPathsResolver;
use Rector\ValueObject\ProcessResult;

Expand All @@ -17,7 +17,7 @@
final readonly class UnusedSkipResolver
{
public function __construct(
private SkippedClassResolver $skippedClassResolver,
private Skipper $skipper,
private SkippedPathsResolver $skippedPathsResolver,
private FilePathHelper $filePathHelper,
) {
Expand Down Expand Up @@ -73,7 +73,7 @@ private function shouldSkipReporting(): bool
private function resolveRelativePathsByClass(): array
{
$relativePathsByClass = [];
foreach ($this->skippedClassResolver->resolve() as $rectorClass => $paths) {
foreach ($this->skipper->resolveSkippedClasses() as $rectorClass => $paths) {
if ($paths === null) {
continue;
}
Expand Down Expand Up @@ -118,7 +118,7 @@ private function resolveUnusedRuleScopedSkips(array $usedSkips): array
$unusedRelativePaths = [];
foreach ($relativePaths as $path => $relativePath) {
// used skips are tracked scoped to their rule (class => [path]), so the same path
// skipped under another rule does not mark this one used (see SkipSkipper)
// skipped under another rule does not mark this one used (see Skipper::matchSkip())
if (! in_array($path, $usedSkips[$rectorClass] ?? [], true)) {
$unusedRelativePaths[] = $relativePath;
}
Expand Down
74 changes: 0 additions & 74 deletions src/Skipper/SkipCriteriaResolver/SkippedClassResolver.php

This file was deleted.

42 changes: 0 additions & 42 deletions src/Skipper/Skipper/SkipSkipper.php

This file was deleted.

Loading
Loading