Updated Rector to commit 1eee3a5f8727d3385d210222ab8e1f512a4fea19

1eee3a5f87 Remove RemoveParentRector as never used and only for demo purposes, handle custom way where needed (#4679)
This commit is contained in:
Tomas Votruba 2023-08-06 16:40:47 +00:00
parent 38829f40f1
commit e1ddea3c17
7 changed files with 39 additions and 157 deletions

View File

@ -1,4 +1,4 @@
# 361 Rules Overview
# 360 Rules Overview
<br>
@ -6,7 +6,7 @@
- [Arguments](#arguments) (6)
- [CodeQuality](#codequality) (71)
- [CodeQuality](#codequality) (70)
- [CodingStyle](#codingstyle) (30)
@ -46,7 +46,7 @@
- [Privatization](#privatization) (4)
- [Removing](#removing) (6)
- [Removing](#removing) (5)
- [Renaming](#renaming) (10)
@ -54,7 +54,7 @@
- [Transform](#transform) (22)
- [TypeDeclaration](#typedeclaration) (43)
- [TypeDeclaration](#typedeclaration) (44)
- [Visibility](#visibility) (3)
@ -1072,29 +1072,6 @@ Replace the Double not operator (!!) by type-casting to boolean
<br>
### ReturnTypeFromStrictScalarReturnExprRector
Change return type based on strict scalar returns - string, int, float or bool
- class: [`Rector\CodeQuality\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector`](../rules/CodeQuality/Rector/ClassMethod/ReturnTypeFromStrictScalarReturnExprRector.php)
```diff
final class SomeClass
{
- public function run($value)
+ public function run($value): string
{
if ($value) {
return 'yes';
}
return 'no';
}
}
```
<br>
### SetTypeToCastRector
Changes `settype()` to (type) where possible
@ -5841,40 +5818,6 @@ return static function (RectorConfig $rectorConfig): void {
<br>
### RemoveParentRector
Removes extends class by name
:wrench: **configure it!**
- class: [`Rector\Removing\Rector\Class_\RemoveParentRector`](../rules/Removing/Rector/Class_/RemoveParentRector.php)
```php
<?php
declare(strict_types=1);
use Rector\Config\RectorConfig;
use Rector\Removing\Rector\Class_\RemoveParentRector;
return static function (RectorConfig $rectorConfig): void {
$rectorConfig->ruleWithConfiguration(RemoveParentRector::class, [
'SomeParentClass',
]);
};
```
```diff
-final class SomeClass extends SomeParentClass
+final class SomeClass
{
}
```
<br>
### RemoveTraitUseRector
Remove specific traits from code
@ -8064,6 +8007,29 @@ Add return type based on strict parameter type
<br>
### ReturnTypeFromStrictScalarReturnExprRector
Change return type based on strict scalar returns - string, int, float or bool
- class: [`Rector\TypeDeclaration\Rector\ClassMethod\ReturnTypeFromStrictScalarReturnExprRector`](../rules/TypeDeclaration/Rector/ClassMethod/ReturnTypeFromStrictScalarReturnExprRector.php)
```diff
final class SomeClass
{
- public function run($value)
+ public function run($value): string
{
if ($value) {
return 'yes';
}
return 'no';
}
}
```
<br>
### ReturnTypeFromStrictTernaryRector
Add method return type based on strict ternary values

View File

@ -1,82 +0,0 @@
<?php
declare (strict_types=1);
namespace Rector\Removing\Rector\Class_;
use PhpParser\Node;
use PhpParser\Node\Stmt\Class_;
use PHPStan\Analyser\Scope;
use PHPStan\Reflection\ClassReflection;
use Rector\Core\Contract\Rector\ConfigurableRectorInterface;
use Rector\Core\Rector\AbstractScopeAwareRector;
use Rector\NodeCollector\ScopeResolver\ParentClassScopeResolver;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\ConfiguredCodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
use RectorPrefix202308\Webmozart\Assert\Assert;
/**
* @see \Rector\Tests\Removing\Rector\Class_\RemoveParentRector\RemoveParentRectorTest
*/
final class RemoveParentRector extends AbstractScopeAwareRector implements ConfigurableRectorInterface
{
/**
* @readonly
* @var \Rector\NodeCollector\ScopeResolver\ParentClassScopeResolver
*/
private $parentClassScopeResolver;
/**
* @var string[]
*/
private $parentClassesToRemove = [];
public function __construct(ParentClassScopeResolver $parentClassScopeResolver)
{
$this->parentClassScopeResolver = $parentClassScopeResolver;
}
public function getRuleDefinition() : RuleDefinition
{
return new RuleDefinition('Removes extends class by name', [new ConfiguredCodeSample(<<<'CODE_SAMPLE'
final class SomeClass extends SomeParentClass
{
}
CODE_SAMPLE
, <<<'CODE_SAMPLE'
final class SomeClass
{
}
CODE_SAMPLE
, ['SomeParentClass'])]);
}
/**
* @return array<class-string<Node>>
*/
public function getNodeTypes() : array
{
return [Class_::class];
}
/**
* @param Class_ $node
*/
public function refactorWithScope(Node $node, Scope $scope) : ?Node
{
$parentClassReflection = $this->parentClassScopeResolver->resolveParentClassReflection($scope);
if (!$parentClassReflection instanceof ClassReflection) {
return null;
}
foreach ($this->parentClassesToRemove as $parentClassToRemove) {
if ($parentClassReflection->getName() !== $parentClassToRemove) {
continue;
}
// remove parent class
$node->extends = null;
return $node;
}
return null;
}
/**
* @param mixed[] $configuration
*/
public function configure(array $configuration) : void
{
Assert::allString($configuration);
$this->parentClassesToRemove = $configuration;
}
}

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'a82c86347a6ceba31cdf3180284dc96820e50271';
public const PACKAGE_VERSION = '1eee3a5f8727d3385d210222ab8e1f512a4fea19';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2023-08-06 17:36:42';
public const RELEASE_DATE = '2023-08-06 16:37:21';
/**
* @var int
*/

2
vendor/autoload.php vendored
View File

@ -22,4 +22,4 @@ if (PHP_VERSION_ID < 50600) {
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInit44aea186af25479658e98a5f55cf935c::getLoader();
return ComposerAutoloaderInitd9a50416b8211c623ad4c549795de442::getLoader();

View File

@ -2331,7 +2331,6 @@ return array(
'Rector\\Removing\\NodeManipulator\\ComplexNodeRemover' => $baseDir . '/rules/Removing/NodeManipulator/ComplexNodeRemover.php',
'Rector\\Removing\\Rector\\ClassMethod\\ArgumentRemoverRector' => $baseDir . '/rules/Removing/Rector/ClassMethod/ArgumentRemoverRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveInterfacesRector' => $baseDir . '/rules/Removing/Rector/Class_/RemoveInterfacesRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveParentRector' => $baseDir . '/rules/Removing/Rector/Class_/RemoveParentRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveTraitUseRector' => $baseDir . '/rules/Removing/Rector/Class_/RemoveTraitUseRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallArgRector' => $baseDir . '/rules/Removing/Rector/FuncCall/RemoveFuncCallArgRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallRector' => $baseDir . '/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php',

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInit44aea186af25479658e98a5f55cf935c
class ComposerAutoloaderInitd9a50416b8211c623ad4c549795de442
{
private static $loader;
@ -22,17 +22,17 @@ class ComposerAutoloaderInit44aea186af25479658e98a5f55cf935c
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInit44aea186af25479658e98a5f55cf935c', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitd9a50416b8211c623ad4c549795de442', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__));
spl_autoload_unregister(array('ComposerAutoloaderInit44aea186af25479658e98a5f55cf935c', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitd9a50416b8211c623ad4c549795de442', 'loadClassLoader'));
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInit44aea186af25479658e98a5f55cf935c::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitd9a50416b8211c623ad4c549795de442::getInitializer($loader));
$loader->setClassMapAuthoritative(true);
$loader->register(true);
$filesToLoad = \Composer\Autoload\ComposerStaticInit44aea186af25479658e98a5f55cf935c::$files;
$filesToLoad = \Composer\Autoload\ComposerStaticInitd9a50416b8211c623ad4c549795de442::$files;
$requireFile = \Closure::bind(static function ($fileIdentifier, $file) {
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
$GLOBALS['__composer_autoload_files'][$fileIdentifier] = true;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInit44aea186af25479658e98a5f55cf935c
class ComposerStaticInitd9a50416b8211c623ad4c549795de442
{
public static $files = array (
'ad155f8f1cf0d418fe49e248db8c661b' => __DIR__ . '/..' . '/react/promise/src/functions_include.php',
@ -2585,7 +2585,6 @@ class ComposerStaticInit44aea186af25479658e98a5f55cf935c
'Rector\\Removing\\NodeManipulator\\ComplexNodeRemover' => __DIR__ . '/../..' . '/rules/Removing/NodeManipulator/ComplexNodeRemover.php',
'Rector\\Removing\\Rector\\ClassMethod\\ArgumentRemoverRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/ClassMethod/ArgumentRemoverRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveInterfacesRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/Class_/RemoveInterfacesRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveParentRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/Class_/RemoveParentRector.php',
'Rector\\Removing\\Rector\\Class_\\RemoveTraitUseRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/Class_/RemoveTraitUseRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallArgRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/FuncCall/RemoveFuncCallArgRector.php',
'Rector\\Removing\\Rector\\FuncCall\\RemoveFuncCallRector' => __DIR__ . '/../..' . '/rules/Removing/Rector/FuncCall/RemoveFuncCallRector.php',
@ -3011,9 +3010,9 @@ class ComposerStaticInit44aea186af25479658e98a5f55cf935c
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInit44aea186af25479658e98a5f55cf935c::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInit44aea186af25479658e98a5f55cf935c::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInit44aea186af25479658e98a5f55cf935c::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitd9a50416b8211c623ad4c549795de442::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitd9a50416b8211c623ad4c549795de442::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitd9a50416b8211c623ad4c549795de442::$classMap;
}, null, ClassLoader::class);
}