Skip to content

Commit

Permalink
[DX] Remove deprecated RectorConfigProvider, use SimpleParameterProvi…
Browse files Browse the repository at this point in the history
…der instead (#4658)
  • Loading branch information
TomasVotruba committed Aug 6, 2023
1 parent 395b215 commit f10821b
Show file tree
Hide file tree
Showing 32 changed files with 105 additions and 165 deletions.
4 changes: 0 additions & 4 deletions config/config.php
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,6 @@
use Rector\Core\Application\ApplicationFileProcessor;
use Rector\Core\Bootstrap\ExtensionConfigResolver;
use Rector\Core\Configuration\ConfigInitializer;
use Rector\Core\Configuration\Parameter\ParameterProvider;
use Rector\Core\Console\Command\ListRulesCommand;
use Rector\Core\Console\ConsoleApplication;
use Rector\Core\Console\Output\OutputFormatterCollector;
Expand Down Expand Up @@ -196,9 +195,6 @@
$services->set(Lexer::class)
->factory([service(PHPStanServicesFactory::class), 'createEmulativeLexer']);

$services->set(ParameterProvider::class)
->arg('$container', service('service_container'));

$services->set(InflectorFactory::class);
$services->set(Inflector::class)
->factory([service(InflectorFactory::class), 'build']);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@

use PHPStan\Reflection\ReflectionProvider;
use Rector\Core\Configuration\Option;
use Rector\Core\Configuration\Parameter\ParameterProvider;
use Rector\Core\Configuration\Parameter\SimpleParameterProvider;

final class SkippedClassResolver
{
Expand All @@ -16,7 +16,6 @@ final class SkippedClassResolver
private array $skippedClasses = [];

public function __construct(
private readonly ParameterProvider $parameterProvider,
private readonly ReflectionProvider $reflectionProvider
) {
}
Expand All @@ -30,7 +29,7 @@ public function resolve(): array
return $this->skippedClasses;
}

$skip = $this->parameterProvider->provideArrayParameter(Option::SKIP);
$skip = SimpleParameterProvider::provideArrayParameter(Option::SKIP);

foreach ($skip as $key => $value) {
// e.g. [SomeClass::class] → shift values to [SomeClass::class => null]
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
namespace Rector\Skipper\SkipCriteriaResolver;

use Rector\Core\Configuration\Option;
use Rector\Core\Configuration\Parameter\ParameterProvider;
use Rector\Core\Configuration\Parameter\SimpleParameterProvider;
use Rector\Core\FileSystem\FilePathHelper;

/**
Expand All @@ -19,7 +19,6 @@ final class SkippedPathsResolver
private array $skippedPaths = [];

public function __construct(
private readonly ParameterProvider $parameterProvider,
private readonly FilePathHelper $filePathHelper
) {
}
Expand All @@ -33,7 +32,7 @@ public function resolve(): array
return $this->skippedPaths;
}

$skip = $this->parameterProvider->provideArrayParameter(Option::SKIP);
$skip = SimpleParameterProvider::provideArrayParameter(Option::SKIP);

foreach ($skip as $key => $value) {
if (! is_int($key)) {
Expand Down
7 changes: 0 additions & 7 deletions packages/Testing/PHPUnit/AbstractRectorTestCase.php
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@
use Rector\Core\Autoloading\BootstrapFilesIncluder;
use Rector\Core\Configuration\ConfigurationFactory;
use Rector\Core\Configuration\Option;
use Rector\Core\Configuration\Parameter\ParameterProvider;
use Rector\Core\Configuration\Parameter\SimpleParameterProvider;
use Rector\Core\Exception\ShouldNotHappenException;
use Rector\Core\ValueObject\Application\File;
Expand All @@ -29,8 +28,6 @@ abstract class AbstractRectorTestCase extends AbstractTestCase implements Rector
{
protected static ?ContainerInterface $allRectorContainer = null;

private ParameterProvider $parameterProvider;

private DynamicSourceLocatorProvider $dynamicSourceLocatorProvider;

private ApplicationFileProcessor $applicationFileProcessor;
Expand All @@ -39,7 +36,6 @@ abstract class AbstractRectorTestCase extends AbstractTestCase implements Rector

protected function setUp(): void
{
// speed up
@ini_set('memory_limit', '-1');

$this->includePreloadFilesAndScoperAutoload();
Expand All @@ -48,7 +44,6 @@ protected function setUp(): void
$this->bootFromConfigFiles([$configFile]);

$this->applicationFileProcessor = $this->getService(ApplicationFileProcessor::class);
$this->parameterProvider = $this->getService(ParameterProvider::class);
$this->dynamicSourceLocatorProvider = $this->getService(DynamicSourceLocatorProvider::class);

/** @var AdditionalAutoloader $additionalAutoloader */
Expand All @@ -71,7 +66,6 @@ protected function tearDown(): void
// free memory to reduce memory peak consumption on windows
unset(
$this->applicationFileProcessor,
$this->parameterProvider,
$this->dynamicSourceLocatorProvider,
);
}
Expand Down Expand Up @@ -146,7 +140,6 @@ private function doTestFileMatchesExpectedContent(
string $expectedFileContents,
string $fixtureFilePath
): void {
$this->parameterProvider->changeParameter(Option::SOURCE, [$originalFilePath]);
SimpleParameterProvider::setParameter(Option::SOURCE, [$originalFilePath]);

$changedContent = $this->processFilePath($originalFilePath, $inputFileContents);
Expand Down
5 changes: 2 additions & 3 deletions packages/Testing/TestingParser/TestingParser.php
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
use Nette\Utils\FileSystem;
use PhpParser\Node;
use Rector\Core\Configuration\Option;
use Rector\Core\Configuration\Parameter\ParameterProvider;
use Rector\Core\Configuration\Parameter\SimpleParameterProvider;
use Rector\Core\PhpParser\Parser\RectorParser;
use Rector\Core\Provider\CurrentFileProvider;
use Rector\Core\ValueObject\Application\File;
Expand All @@ -19,7 +19,6 @@
final class TestingParser
{
public function __construct(
private readonly ParameterProvider $parameterProvider,
private readonly RectorParser $rectorParser,
private readonly NodeScopeAndMetadataDecorator $nodeScopeAndMetadataDecorator,
private readonly CurrentFileProvider $currentFileProvider
Expand All @@ -44,7 +43,7 @@ public function parseFilePathToFile(string $filePath): File
*/
public function parseFileToDecoratedNodes(string $filePath): array
{
$this->parameterProvider->changeParameter(Option::SOURCE, [$filePath]);
SimpleParameterProvider::setParameter(Option::SOURCE, [$filePath]);

$stmts = $this->rectorParser->parseFile($filePath);

Expand Down
7 changes: 0 additions & 7 deletions phpstan.neon
Original file line number Diff line number Diff line change
Expand Up @@ -61,8 +61,6 @@ parameters:
ignoreErrors:
- '#Cognitive complexity for "Rector\\Php80\\NodeResolver\\SwitchExprsResolver\:\:resolve\(\)" is (.*?), keep it under 11#'

- '#Fetching class constant class of deprecated class Rector\\Core\\Configuration\\Parameter\\ParameterProvider#'

-
message: '#Class cognitive complexity is \d+, keep it under \d+#'
paths:
Expand Down Expand Up @@ -641,9 +639,6 @@ parameters:

- '#The "Rector\\Core\\ValueObject\\Application\\File" class always calls "hydrateStmtsAndTokens\(\)" setters, better move it to constructor#'

# refactor in next PR
- '#(.*?) has typehint with deprecated class Rector\\Core\\Configuration\\Parameter\\ParameterProvider#'

-
message: '#Do not use static property#'
path: src/Configuration/Parameter/SimpleParameterProvider.php
Expand Down Expand Up @@ -674,5 +669,3 @@ parameters:
-
message: '#Public method "Rector\\Core\\DependencyInjection\\RectorContainerFactory\:\:createFromBootstrapConfigs\(\)" is never used#'
path: src/DependencyInjection/RectorContainerFactory.php

- '#Cognitive complexity for "Rector\\TypeDeclaration\\Rector\\ClassMethod\\StrictStringParamConcatRector\:\:isParamConcatted\(\)" is 12, keep it under 11#'
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\CodeQuality\Rector\NullsafeMethodCall\CleanupUnneededNullsafeOperatorRector;

use Rector\Config\RectorConfig;
use Rector\Core\ValueObject\PhpVersionFeature;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::NULLSAFE_OPERATOR);

$rectorConfig->rule(CleanupUnneededNullsafeOperatorRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\CodingStyle\Rector\ClassConst\RemoveFinalFromConstRector;

use Rector\Config\RectorConfig;
use Rector\Core\ValueObject\PhpVersionFeature;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::FINAL_CLASS_CONSTANTS);

$rectorConfig->rule(RemoveFinalFromConstRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\CodingStyle\Rector\FuncCall\CallUserFuncArrayToVariadicRector;

use Rector\Config\RectorConfig;
use Rector\Core\ValueObject\PhpVersion;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersion::PHP_74);

$rectorConfig->rule(CallUserFuncArrayToVariadicRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersion;
use Rector\Naming\Rector\Class_\RenamePropertyToMatchTypeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(RenamePropertyToMatchTypeRector::class);

$rectorConfig->phpVersion(PhpVersion::PHP_81);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php74\Rector\ArrayDimFetch\CurlyToSquareBracketArrayStringRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::DEPRECATE_CURLY_BRACKET_ARRAY_STRING);

$rectorConfig->rule(CurlyToSquareBracketArrayStringRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersion;
use Rector\Php81\Rector\Array_\FirstClassCallableRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(FirstClassCallableRector::class);

$rectorConfig->phpVersion(PhpVersion::PHP_81);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php81\Rector\ClassConst\FinalizePublicClassConstantRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(FinalizePublicClassConstantRector::class);

$rectorConfig->phpVersion(PhpVersionFeature::FINAL_CLASS_CONSTANTS);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersion;
use Rector\Php81\Rector\ClassMethod\NewInInitializerRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(NewInInitializerRector::class);

$rectorConfig->phpVersion(PhpVersion::PHP_81);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php82\Rector\Class_\ReadOnlyClassRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->rule(ReadOnlyClassRector::class);

$rectorConfig->phpVersion(PhpVersionFeature::READONLY_CLASS);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php82\Rector\FuncCall\Utf8DecodeEncodeToMbConvertEncodingRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::DEPRECATE_UTF8_DECODE_ENCODE_FUNCTION);

$rectorConfig->rule(Utf8DecodeEncodeToMbConvertEncodingRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,13 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Php82\Rector\Param\AddSensitiveParameterAttributeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::SENSITIVE_PARAMETER_ATTRIBUTE);

$rectorConfig->ruleWithConfiguration(AddSensitiveParameterAttributeRector::class, [
AddSensitiveParameterAttributeRector::SENSITIVE_PARAMETERS => ['password'],
]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Transform\Rector\ClassMethod\ReturnTypeWillChangeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::RETURN_TYPE_WILL_CHANGE_ATTRIBUTE);

$rectorConfig->rule(ReturnTypeWillChangeRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Tests\Transform\Rector\ClassMethod\ReturnTypeWillChangeRector\Source\ClassThatWillChangeReturnType;
use Rector\Transform\Rector\ClassMethod\ReturnTypeWillChangeRector;
use Rector\Transform\ValueObject\ClassMethodReference;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::RETURN_TYPE_WILL_CHANGE_ATTRIBUTE);

$rectorConfig->ruleWithConfiguration(ReturnTypeWillChangeRector::class, [
new ClassMethodReference(ClassThatWillChangeReturnType::class, 'changeMyReturn'),
]);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,9 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Transform\Rector\Class_\AddAllowDynamicPropertiesAttributeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig
->ruleWithConfiguration(AddAllowDynamicPropertiesAttributeRector::class, ['*\Fixture\Process\*']);
$rectorConfig->phpVersion(PhpVersionFeature::DEPRECATE_DYNAMIC_PROPERTIES);

$rectorConfig->ruleWithConfiguration(AddAllowDynamicPropertiesAttributeRector::class, ['*\Fixture\Process\*']);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Transform\Rector\Class_\AddAllowDynamicPropertiesAttributeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::DEPRECATE_DYNAMIC_PROPERTIES);

$rectorConfig->rule(AddAllowDynamicPropertiesAttributeRector::class);
};
Original file line number Diff line number Diff line change
Expand Up @@ -3,11 +3,15 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Tests\Transform\Rector\StaticCall\StaticCallToMethodCallRector\Source\TargetFileSystem;
use Rector\Transform\Rector\StaticCall\StaticCallToMethodCallRector;
use Rector\Transform\ValueObject\StaticCallToMethodCall;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::PROPERTY_PROMOTION);

$rectorConfig
->ruleWithConfiguration(StaticCallToMethodCallRector::class, [
new StaticCallToMethodCall('Nette\Utils\FileSystem', 'write', TargetFileSystem::class, 'dumpFile'),
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,12 @@
declare(strict_types=1);

use Rector\Config\RectorConfig;

use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\TypeDeclaration\Rector\ClassMethod\ReturnNeverTypeRector;

return static function (RectorConfig $rectorConfig): void {
$rectorConfig->phpVersion(PhpVersionFeature::NEVER_TYPE);

$rectorConfig->rule(ReturnNeverTypeRector::class);
};

0 comments on commit f10821b

Please sign in to comment.