mirror of
https://github.com/rectorphp/rector.git
synced 2025-03-14 20:39:43 +01:00
Updated Rector to commit bc84defd14b3e96d43a02e7fd6ba43d8a6d26ddd
bc84defd14
[Naming] @param doc should follow variable renamed on RenamePropertyToMatchTypeRector (#170)
This commit is contained in:
parent
5279626eba
commit
a36655a228
@ -10,14 +10,19 @@ use PhpParser\Node\Stmt\ClassLike;
|
|||||||
use PhpParser\Node\Stmt\ClassMethod;
|
use PhpParser\Node\Stmt\ClassMethod;
|
||||||
use PhpParser\Node\Stmt\Interface_;
|
use PhpParser\Node\Stmt\Interface_;
|
||||||
use PhpParser\Node\Stmt\Property;
|
use PhpParser\Node\Stmt\Property;
|
||||||
|
use PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode;
|
||||||
|
use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfo;
|
||||||
use Rector\Core\Rector\AbstractRector;
|
use Rector\Core\Rector\AbstractRector;
|
||||||
use Rector\Core\ValueObject\MethodName;
|
use Rector\Core\ValueObject\MethodName;
|
||||||
use Rector\Core\ValueObject\PhpVersionFeature;
|
use Rector\Core\ValueObject\PhpVersionFeature;
|
||||||
use Rector\Naming\ExpectedNameResolver\MatchParamTypeExpectedNameResolver;
|
use Rector\Naming\ExpectedNameResolver\MatchParamTypeExpectedNameResolver;
|
||||||
use Rector\Naming\ExpectedNameResolver\MatchPropertyTypeExpectedNameResolver;
|
use Rector\Naming\ExpectedNameResolver\MatchPropertyTypeExpectedNameResolver;
|
||||||
|
use Rector\Naming\ParamRenamer\ParamRenamer;
|
||||||
use Rector\Naming\PropertyRenamer\MatchTypePropertyRenamer;
|
use Rector\Naming\PropertyRenamer\MatchTypePropertyRenamer;
|
||||||
use Rector\Naming\PropertyRenamer\PropertyFetchRenamer;
|
use Rector\Naming\PropertyRenamer\PropertyFetchRenamer;
|
||||||
|
use Rector\Naming\ValueObject\ParamRename;
|
||||||
use Rector\Naming\ValueObject\PropertyRename;
|
use Rector\Naming\ValueObject\PropertyRename;
|
||||||
|
use Rector\Naming\ValueObjectFactory\ParamRenameFactory;
|
||||||
use Rector\Naming\ValueObjectFactory\PropertyRenameFactory;
|
use Rector\Naming\ValueObjectFactory\PropertyRenameFactory;
|
||||||
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
|
||||||
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
use Symplify\RuleDocGenerator\ValueObject\RuleDefinition;
|
||||||
@ -50,13 +55,23 @@ final class RenamePropertyToMatchTypeRector extends \Rector\Core\Rector\Abstract
|
|||||||
* @var \Rector\Naming\PropertyRenamer\PropertyFetchRenamer
|
* @var \Rector\Naming\PropertyRenamer\PropertyFetchRenamer
|
||||||
*/
|
*/
|
||||||
private $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->matchTypePropertyRenamer = $matchTypePropertyRenamer;
|
||||||
$this->propertyRenameFactory = $propertyRenameFactory;
|
$this->propertyRenameFactory = $propertyRenameFactory;
|
||||||
$this->matchPropertyTypeExpectedNameResolver = $matchPropertyTypeExpectedNameResolver;
|
$this->matchPropertyTypeExpectedNameResolver = $matchPropertyTypeExpectedNameResolver;
|
||||||
$this->matchParamTypeExpectedNameResolver = $matchParamTypeExpectedNameResolver;
|
$this->matchParamTypeExpectedNameResolver = $matchParamTypeExpectedNameResolver;
|
||||||
$this->propertyFetchRenamer = $propertyFetchRenamer;
|
$this->propertyFetchRenamer = $propertyFetchRenamer;
|
||||||
|
$this->paramRenameFactory = $paramRenameFactory;
|
||||||
|
$this->paramRenamer = $paramRenamer;
|
||||||
}
|
}
|
||||||
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
public function getRuleDefinition() : \Symplify\RuleDocGenerator\ValueObject\RuleDefinition
|
||||||
{
|
{
|
||||||
@ -151,22 +166,38 @@ CODE_SAMPLE
|
|||||||
}
|
}
|
||||||
$desiredPropertyNames[$key] = $desiredPropertyName;
|
$desiredPropertyNames[$key] = $desiredPropertyName;
|
||||||
}
|
}
|
||||||
$this->renameParamVarName($classLike, $constructClassMethod->params, $desiredPropertyNames);
|
$this->renameParamVarName($classLike, $constructClassMethod, $desiredPropertyNames);
|
||||||
}
|
}
|
||||||
/**
|
/**
|
||||||
* @param Param[] $params
|
|
||||||
* @param string[] $desiredPropertyNames
|
* @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);
|
$keys = \array_keys($desiredPropertyNames);
|
||||||
|
$params = $constructClassMethod->params;
|
||||||
|
$phpDocInfo = $this->phpDocInfoFactory->createFromNodeOrEmpty($constructClassMethod);
|
||||||
foreach ($params as $key => $param) {
|
foreach ($params as $key => $param) {
|
||||||
if (\in_array($key, $keys, \true)) {
|
if (\in_array($key, $keys, \true)) {
|
||||||
$currentName = $this->getName($param);
|
$currentName = $this->getName($param);
|
||||||
$desiredPropertyName = $desiredPropertyNames[$key];
|
$desiredPropertyName = $desiredPropertyNames[$key];
|
||||||
$this->propertyFetchRenamer->renamePropertyFetchesInClass($classLike, $currentName, $desiredPropertyName);
|
$this->propertyFetchRenamer->renamePropertyFetchesInClass($classLike, $currentName, $desiredPropertyName);
|
||||||
|
/** @var string $paramVarName */
|
||||||
|
$paramVarName = $param->var->name;
|
||||||
|
$this->renameParamDoc($phpDocInfo, $param, $paramVarName, $desiredPropertyName);
|
||||||
$param->var->name = $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);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
@ -16,11 +16,11 @@ final class VersionResolver
|
|||||||
/**
|
/**
|
||||||
* @var string
|
* @var string
|
||||||
*/
|
*/
|
||||||
public const PACKAGE_VERSION = 'ca8f75fae1838fe74ed74c6c96bfa4b4126c8029';
|
public const PACKAGE_VERSION = 'bc84defd14b3e96d43a02e7fd6ba43d8a6d26ddd';
|
||||||
/**
|
/**
|
||||||
* @var string
|
* @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
|
public static function resolvePackageVersion() : string
|
||||||
{
|
{
|
||||||
$process = new \RectorPrefix20210608\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);
|
$process = new \RectorPrefix20210608\Symfony\Component\Process\Process(['git', 'log', '--pretty="%H"', '-n1', 'HEAD'], __DIR__);
|
||||||
|
2
vendor/autoload.php
vendored
2
vendor/autoload.php
vendored
@ -4,4 +4,4 @@
|
|||||||
|
|
||||||
require_once __DIR__ . '/composer/autoload_real.php';
|
require_once __DIR__ . '/composer/autoload_real.php';
|
||||||
|
|
||||||
return ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::getLoader();
|
return ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d::getLoader();
|
||||||
|
14
vendor/composer/autoload_real.php
vendored
14
vendor/composer/autoload_real.php
vendored
@ -2,7 +2,7 @@
|
|||||||
|
|
||||||
// autoload_real.php @generated by Composer
|
// autoload_real.php @generated by Composer
|
||||||
|
|
||||||
class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
|
class ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d
|
||||||
{
|
{
|
||||||
private static $loader;
|
private static $loader;
|
||||||
|
|
||||||
@ -22,15 +22,15 @@ class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
|
|||||||
return self::$loader;
|
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__)));
|
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());
|
$useStaticLoader = PHP_VERSION_ID >= 50600 && !defined('HHVM_VERSION') && (!function_exists('zend_loader_file_encoded') || !zend_loader_file_encoded());
|
||||||
if ($useStaticLoader) {
|
if ($useStaticLoader) {
|
||||||
require __DIR__ . '/autoload_static.php';
|
require __DIR__ . '/autoload_static.php';
|
||||||
|
|
||||||
call_user_func(\Composer\Autoload\ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::getInitializer($loader));
|
call_user_func(\Composer\Autoload\ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::getInitializer($loader));
|
||||||
} else {
|
} else {
|
||||||
$classMap = require __DIR__ . '/autoload_classmap.php';
|
$classMap = require __DIR__ . '/autoload_classmap.php';
|
||||||
if ($classMap) {
|
if ($classMap) {
|
||||||
@ -42,19 +42,19 @@ class ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
|
|||||||
$loader->register(true);
|
$loader->register(true);
|
||||||
|
|
||||||
if ($useStaticLoader) {
|
if ($useStaticLoader) {
|
||||||
$includeFiles = Composer\Autoload\ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$files;
|
$includeFiles = Composer\Autoload\ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$files;
|
||||||
} else {
|
} else {
|
||||||
$includeFiles = require __DIR__ . '/autoload_files.php';
|
$includeFiles = require __DIR__ . '/autoload_files.php';
|
||||||
}
|
}
|
||||||
foreach ($includeFiles as $fileIdentifier => $file) {
|
foreach ($includeFiles as $fileIdentifier => $file) {
|
||||||
composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc($fileIdentifier, $file);
|
composerRequired2654afe2b70b61dc042080b18a5f10d($fileIdentifier, $file);
|
||||||
}
|
}
|
||||||
|
|
||||||
return $loader;
|
return $loader;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc($fileIdentifier, $file)
|
function composerRequired2654afe2b70b61dc042080b18a5f10d($fileIdentifier, $file)
|
||||||
{
|
{
|
||||||
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
if (empty($GLOBALS['__composer_autoload_files'][$fileIdentifier])) {
|
||||||
require $file;
|
require $file;
|
||||||
|
8
vendor/composer/autoload_static.php
vendored
8
vendor/composer/autoload_static.php
vendored
@ -4,7 +4,7 @@
|
|||||||
|
|
||||||
namespace Composer\Autoload;
|
namespace Composer\Autoload;
|
||||||
|
|
||||||
class ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
|
class ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d
|
||||||
{
|
{
|
||||||
public static $files = array (
|
public static $files = array (
|
||||||
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
'a4a119a56e50fbb293281d9a48007e0e' => __DIR__ . '/..' . '/symfony/polyfill-php80/bootstrap.php',
|
||||||
@ -3877,9 +3877,9 @@ class ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc
|
|||||||
public static function getInitializer(ClassLoader $loader)
|
public static function getInitializer(ClassLoader $loader)
|
||||||
{
|
{
|
||||||
return \Closure::bind(function () use ($loader) {
|
return \Closure::bind(function () use ($loader) {
|
||||||
$loader->prefixLengthsPsr4 = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$prefixLengthsPsr4;
|
$loader->prefixLengthsPsr4 = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$prefixLengthsPsr4;
|
||||||
$loader->prefixDirsPsr4 = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$prefixDirsPsr4;
|
$loader->prefixDirsPsr4 = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$prefixDirsPsr4;
|
||||||
$loader->classMap = ComposerStaticInitedcd6e9f2f8e5c0cfb23a73f2cd51adc::$classMap;
|
$loader->classMap = ComposerStaticInitd2654afe2b70b61dc042080b18a5f10d::$classMap;
|
||||||
|
|
||||||
}, null, ClassLoader::class);
|
}, null, ClassLoader::class);
|
||||||
}
|
}
|
||||||
|
10
vendor/scoper-autoload.php
vendored
10
vendor/scoper-autoload.php
vendored
@ -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)) {
|
if (!class_exists('CheckoutEntityFactory', false) && !interface_exists('CheckoutEntityFactory', false) && !trait_exists('CheckoutEntityFactory', false)) {
|
||||||
spl_autoload_call('RectorPrefix20210608\CheckoutEntityFactory');
|
spl_autoload_call('RectorPrefix20210608\CheckoutEntityFactory');
|
||||||
}
|
}
|
||||||
if (!class_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false) && !interface_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false) && !trait_exists('ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc', false)) {
|
if (!class_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false) && !interface_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false) && !trait_exists('ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d', false)) {
|
||||||
spl_autoload_call('RectorPrefix20210608\ComposerAutoloaderInitedcd6e9f2f8e5c0cfb23a73f2cd51adc');
|
spl_autoload_call('RectorPrefix20210608\ComposerAutoloaderInitd2654afe2b70b61dc042080b18a5f10d');
|
||||||
}
|
}
|
||||||
if (!class_exists('Doctrine\Inflector\Inflector', false) && !interface_exists('Doctrine\Inflector\Inflector', false) && !trait_exists('Doctrine\Inflector\Inflector', false)) {
|
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');
|
spl_autoload_call('RectorPrefix20210608\Doctrine\Inflector\Inflector');
|
||||||
@ -3323,9 +3323,9 @@ if (!function_exists('print_node')) {
|
|||||||
return \RectorPrefix20210608\print_node(...func_get_args());
|
return \RectorPrefix20210608\print_node(...func_get_args());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!function_exists('composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc')) {
|
if (!function_exists('composerRequired2654afe2b70b61dc042080b18a5f10d')) {
|
||||||
function composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc() {
|
function composerRequired2654afe2b70b61dc042080b18a5f10d() {
|
||||||
return \RectorPrefix20210608\composerRequireedcd6e9f2f8e5c0cfb23a73f2cd51adc(...func_get_args());
|
return \RectorPrefix20210608\composerRequired2654afe2b70b61dc042080b18a5f10d(...func_get_args());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!function_exists('parseArgs')) {
|
if (!function_exists('parseArgs')) {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user