rector/rules/Naming/PropertyRenamer/MatchTypePropertyRenamer.php
Tomas Votruba c726969380 Updated Rector to commit fc10fce13d
fc10fce13d [Rectify] [Php81] Enable Rectify on Readonly Property only (#1384)
2021-12-04 12:47:17 +00:00

34 lines
1.3 KiB
PHP

<?php
declare (strict_types=1);
namespace Rector\Naming\PropertyRenamer;
use PhpParser\Node\Stmt\Property;
use Rector\Naming\Guard\PropertyConflictingNameGuard\MatchPropertyTypeConflictingNameGuard;
use Rector\Naming\ValueObject\PropertyRename;
final class MatchTypePropertyRenamer
{
/**
* @readonly
* @var \Rector\Naming\PropertyRenamer\PropertyRenamer
*/
private $propertyRenamer;
/**
* @readonly
* @var \Rector\Naming\Guard\PropertyConflictingNameGuard\MatchPropertyTypeConflictingNameGuard
*/
private $matchPropertyTypeConflictingNameGuard;
public function __construct(\Rector\Naming\PropertyRenamer\PropertyRenamer $propertyRenamer, \Rector\Naming\Guard\PropertyConflictingNameGuard\MatchPropertyTypeConflictingNameGuard $matchPropertyTypeConflictingNameGuard)
{
$this->propertyRenamer = $propertyRenamer;
$this->matchPropertyTypeConflictingNameGuard = $matchPropertyTypeConflictingNameGuard;
}
public function rename(\Rector\Naming\ValueObject\PropertyRename $propertyRename) : ?\PhpParser\Node\Stmt\Property
{
if ($this->matchPropertyTypeConflictingNameGuard->isConflicting($propertyRename)) {
return null;
}
return $this->propertyRenamer->rename($propertyRename);
}
}