Updated Rector to commit 3e6a4923d463e2a2d104ac283dae04343ee2a2d0

3e6a4923d4 [DeadCode] Skip implements interface on RemoveUnusedConstructorParamRector (#5778)
This commit is contained in:
Tomas Votruba 2024-03-27 15:29:07 +00:00
parent e538a96c9b
commit c23b2384d3
2 changed files with 21 additions and 3 deletions

View File

@ -6,8 +6,10 @@ namespace Rector\DeadCode\Rector\ClassMethod;
use PhpParser\Node;
use PhpParser\Node\Stmt\Class_;
use PhpParser\Node\Stmt\ClassMethod;
use PHPStan\Reflection\ClassReflection;
use Rector\NodeAnalyzer\ParamAnalyzer;
use Rector\Rector\AbstractRector;
use Rector\Reflection\ReflectionResolver;
use Rector\Removing\NodeManipulator\ComplexNodeRemover;
use Rector\ValueObject\MethodName;
use Symplify\RuleDocGenerator\ValueObject\CodeSample\CodeSample;
@ -27,10 +29,16 @@ final class RemoveUnusedConstructorParamRector extends AbstractRector
* @var \Rector\Removing\NodeManipulator\ComplexNodeRemover
*/
private $complexNodeRemover;
public function __construct(ParamAnalyzer $paramAnalyzer, ComplexNodeRemover $complexNodeRemover)
/**
* @readonly
* @var \Rector\Reflection\ReflectionResolver
*/
private $reflectionResolver;
public function __construct(ParamAnalyzer $paramAnalyzer, ComplexNodeRemover $complexNodeRemover, ReflectionResolver $reflectionResolver)
{
$this->paramAnalyzer = $paramAnalyzer;
$this->complexNodeRemover = $complexNodeRemover;
$this->reflectionResolver = $reflectionResolver;
}
public function getRuleDefinition() : RuleDefinition
{
@ -83,6 +91,16 @@ CODE_SAMPLE
if ($constructorClassMethod->isAbstract()) {
return null;
}
$classReflection = $this->reflectionResolver->resolveClassReflection($node);
if (!$classReflection instanceof ClassReflection) {
return null;
}
$interfaces = $classReflection->getInterfaces();
foreach ($interfaces as $interface) {
if ($interface->hasNativeMethod(MethodName::CONSTRUCT)) {
return null;
}
}
$changedConstructorClassMethod = $this->processRemoveParams($constructorClassMethod);
if (!$changedConstructorClassMethod instanceof ClassMethod) {
return null;

View File

@ -19,12 +19,12 @@ final class VersionResolver
* @api
* @var string
*/
public const PACKAGE_VERSION = 'cd23b1fa90343d4f4b1c8f0d606c0eba8d194597';
public const PACKAGE_VERSION = '3e6a4923d463e2a2d104ac283dae04343ee2a2d0';
/**
* @api
* @var string
*/
public const RELEASE_DATE = '2024-03-26 20:16:11';
public const RELEASE_DATE = '2024-03-27 22:26:48';
/**
* @var int
*/