Updated Rector to commit bc84defd14b3e96d43a02e7fd6ba43d8a6d26ddd

bc84defd14 [Naming] @param doc should follow variable renamed on RenamePropertyToMatchTypeRector (#170)
This commit is contained in:
Tomas Votruba 2021-06-08 13:00:58 +00:00
parent 5279626eba
commit a36655a228
6 changed files with 54 additions and 23 deletions

View File

@ -10,14 +10,19 @@ use PhpParser\Node\Stmt\ClassLike;
use PhpParser\Node\Stmt\ClassMethod;
use PhpParser\Node\Stmt\Interface_;
use PhpParser\Node\Stmt\Property;
use PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode;
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
use Rector\Core\Rector\AbstractRector;
use Rector\Core\ValueObject\MethodName;
use Rector\Core\ValueObject\PhpVersionFeature;
use Rector\Naming\ExpectedNameResolver\MatchParamTypeExpectedNameResolver;
use Rector\Naming\ExpectedNameResolver\MatchPropertyTypeExpectedNameResolver;
use Rector\Naming\ParamRenamer\ParamRenamer;
use Rector\Naming\PropertyRenamer\MatchTypePropertyRenamer;
use Rector\Naming\PropertyRenamer\PropertyFetchRenamer;
use Rector\Naming\ValueObject\ParamRename;
use Rector\Naming\ValueObject\PropertyRename;
use Rector\Naming\ValueObjectFactory\ParamRenameFactory;
use Rector\Naming\ValueObjectFactory\PropertyRenameFactory;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
@ -50,13 +55,23 @@ final class RenamePropertyToMatchTypeRector extends \Rector\Core\Rector\Abstract
* @var \Rector\Naming\PropertyRenamer\PropertyFetchRenamer
*/
private $propertyFetchRenamer;
public function __construct(\Rector\Naming\PropertyRenamer\MatchTypePropertyRenamer $matchTypePropertyRenamer, \Rector\Naming\ValueObjectFactory\PropertyRenameFactory $propertyRenameFactory, \Rector\Naming\ExpectedNameResolver\MatchPropertyTypeExpectedNameResolver $matchPropertyTypeExpectedNameResolver, \Rector\Naming\ExpectedNameResolver\MatchParamTypeExpectedNameResolver $matchParamTypeExpectedNameResolver, \Rector\Naming\PropertyRenamer\PropertyFetchRenamer $propertyFetchRenamer)
/**
* @var \Rector\Naming\ValueObjectFactory\ParamRenameFactory
*/
private $paramRenameFactory;
/**
* @var \Rector\Naming\ParamRenamer\ParamRenamer
*/
private $paramRenamer;
public function __construct(\Rector\Naming\PropertyRenamer\MatchTypePropertyRenamer $matchTypePropertyRenamer, \Rector\Naming\ValueObjectFactory\PropertyRenameFactory $propertyRenameFactory, \Rector\Naming\ExpectedNameResolver\MatchPropertyTypeExpectedNameResolver $matchPropertyTypeExpectedNameResolver, \Rector\Naming\ExpectedNameResolver\MatchParamTypeExpectedNameResolver $matchParamTypeExpectedNameResolver, \Rector\Naming\PropertyRenamer\PropertyFetchRenamer $propertyFetchRenamer, \Rector\Naming\ValueObjectFactory\ParamRenameFactory $paramRenameFactory, \Rector\Naming\ParamRenamer\ParamRenamer $paramRenamer)
{
$this->matchTypePropertyRenamer = $matchTypePropertyRenamer;
$this->propertyRenameFactory = $propertyRenameFactory;
$this->matchPropertyTypeExpectedNameResolver = $matchPropertyTypeExpectedNameResolver;
$this->matchParamTypeExpectedNameResolver = $matchParamTypeExpectedNameResolver;
$this->propertyFetchRenamer = $propertyFetchRenamer;
$this->paramRenameFactory = $paramRenameFactory;
$this->paramRenamer = $paramRenamer;
}
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
{
@ -151,22 +166,38 @@ CODE_SAMPLE
}
$desiredPropertyNames[$key] = $desiredPropertyName;
}
$this->renameParamVarName($classLike, $constructClassMethod->params, $desiredPropertyNames);
$this->renameParamVarName($classLike, $constructClassMethod, $desiredPropertyNames);
}
/**
* @param Param[] $params
* @param string[] $desiredPropertyNames
*/
private function renameParamVarName(\PhpParser\Node\Stmt\ClassLike $classLike, array $params, array $desiredPropertyNames) : void
private function renameParamVarName(\PhpParser\Node\Stmt\ClassLike $classLike, \PhpParser\Node\Stmt\ClassMethod $constructClassMethod, array $desiredPropertyNames) : void
{
$keys = \array_keys($desiredPropertyNames);
$params = $constructClassMethod->params;
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($constructClassMethod);
foreach ($params as $key => $param) {
if (\in_array($key, $keys, \true)) {
$currentName = $this->getName($param);
$desiredPropertyName = $desiredPropertyNames[$key];
$this->propertyFetchRenamer->renamePropertyFetchesInClass($classLike, $currentName, $desiredPropertyName);
/** @var string $paramVarName */
$paramVarName = $param->var->name;
$this->renameParamDoc($phpDocInfo, $param, $paramVarName, $desiredPropertyName);
$param->var->name = $desiredPropertyName;
}
}
}
private function renameParamDoc(\Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo $phpDocInfo, \PhpParser\Node\Param $param, string $paramVarName, string $desiredPropertyName) : void
{
$paramTagValueNode = $phpDocInfo->getParamTagValueNodeByName($paramVarName);
if (!$paramTagValueNode instanceof \PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode) {
return;
}
$paramRename = $this->paramRenameFactory->createFromResolvedExpectedName($param, $desiredPropertyName);
if (!$paramRename instanceof \Rector\Naming\ValueObject\ParamRename) {
return;
}
$this->paramRenamer->rename($paramRename);
}
}

View File

@ -16,11 +16,11 @@ final class VersionResolver
/**
* @var string
*/
public const PACKAGE_VERSION = 'ca8f75fae1838fe74ed74c6c96bfa4b4126c8029';
public const PACKAGE_VERSION = 'bc84defd14b3e96d43a02e7fd6ba43d8a6d26ddd';
/**
* @var string
*/
public const RELEASE_DATE = '2021-06-08 14:48:30';
public const RELEASE_DATE = '2021-06-08 14:49:57';
public static function resolvePackageVersion() : string
{
$process = new \RectorPrefix20210608\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);

2
vendor/autoload.php vendored
View File

@ -4,4 +4,4 @@
require_once __DIR__ . '/composer/autoload_real.php';
return ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::getLoader();
return ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d::getLoader();

View File

@ -2,7 +2,7 @@
// autoload_real.php @generated by Composer
class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
class ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d
{
private static $loader;
@ -22,15 +22,15 @@ class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
return self::$loader;
}
spl_autoload_register(array('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', 'loadClassLoader'), true, true);
spl_autoload_register(array('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', 'loadClassLoader'), true, true);
self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(\dirname(__FILE__)));
spl_autoload_unregister(array('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', 'loadClassLoader'));
spl_autoload_unregister(array('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', 'loadClassLoader'));
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
if ($useStaticLoader) {
require __DIR__ . '/autoload_static.php';
call_user_func(\Composer\Autoload\ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::getInitializer($loader));
call_user_func(\Composer\Autoload\ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::getInitializer($loader));
} else {
$classMap = require __DIR__ . '/autoload_classmap.php';
if ($classMap) {
@ -42,19 +42,19 @@ class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
$loader->register(true);
if ($useStaticLoader) {
$includeFiles = Composer\Autoload\ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$files;
$includeFiles = Composer\Autoload\ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$files;
} else {
$includeFiles = require __DIR__ . '/autoload_files.php';
}
foreach ($includeFiles as $fileIdentifier => $file) {
composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc($fileIdentifier, $file);
composerRequired2654afe2b70b61dc042080b18a5f10d($fileIdentifier, $file);
}
return $loader;
}
}
function composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc($fileIdentifier, $file)
function composerRequired2654afe2b70b61dc042080b18a5f10d($fileIdentifier, $file)
{
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
require $file;

View File

@ -4,7 +4,7 @@
namespace Composer\Autoload;
class ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
class ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d
{
public static $files = array (
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
@ -3877,9 +3877,9 @@ class ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
public static function getInitializer(ClassLoader $loader)
{
return \Closure::bind(function () use ($loader) {
$loader->prefixLengthsPsr4 = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$classMap;
$loader->prefixLengthsPsr4 = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$prefixLengthsPsr4;
$loader->prefixDirsPsr4 = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$prefixDirsPsr4;
$loader->classMap = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$classMap;
}, null, ClassLoader::class);
}

View File

@ -21,8 +21,8 @@ if (!class_exists('SomeTestCase', false) && !interface_exists('SomeTestCase', fa
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
spl_autoload_call('RectorPrefix20210608\CheckoutEntityFactory');
}
if (!class_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false) && !interface_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false) && !trait_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false)) {
spl_autoload_call('RectorPrefix20210608\ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc');
if (!class_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false) && !interface_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false) && !trait_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false)) {
spl_autoload_call('RectorPrefix20210608\ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d');
}
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
spl_autoload_call('RectorPrefix20210608\Doctrine\Inflector\Inflector');
@ -3323,9 +3323,9 @@ if (!function_exists('print_node')) {
return \RectorPrefix20210608\print_node(...func_get_args());
}
}
if (!function_exists('composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc')) {
function composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc() {
return \RectorPrefix20210608\composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc(...func_get_args());
if (!function_exists('composerRequired2654afe2b70b61dc042080b18a5f10d')) {
function composerRequired2654afe2b70b61dc042080b18a5f10d() {
return \RectorPrefix20210608\composerRequired2654afe2b70b61dc042080b18a5f10d(...func_get_args());
}
}
if (!function_exists('parseArgs')) {