2020-09-28 20:29:37 +02:00
|
|
|
<?php
|
|
|
|
|
2021-05-09 20:15:43 +00:00
|
|
|
declare (strict_types=1);
|
2020-09-28 20:29:37 +02:00
|
|
|
namespace Rector\Naming\RenameGuard;
|
|
|
|
|
2021-02-28 16:16:17 +01:00
|
|
|
use Rector\Naming\Contract\Guard\ConflictingNameGuardInterface;
|
2020-11-16 17:50:38 +00:00
|
|
|
use Rector\Naming\Contract\RenameValueObjectInterface;
|
2021-02-28 16:16:17 +01:00
|
|
|
final class PropertyRenameGuard
|
2020-09-28 20:29:37 +02:00
|
|
|
{
|
|
|
|
/**
|
2021-05-10 23:39:21 +00:00
|
|
|
* @var mixed[]
|
2020-09-28 20:29:37 +02:00
|
|
|
*/
|
2021-05-10 23:39:21 +00:00
|
|
|
private $conflictingNameGuards;
|
2021-02-28 16:16:17 +01:00
|
|
|
/**
|
|
|
|
* @param ConflictingNameGuardInterface[] $conflictingNameGuards
|
|
|
|
*/
|
|
|
|
public function __construct(array $conflictingNameGuards)
|
|
|
|
{
|
|
|
|
$this->conflictingNameGuards = $conflictingNameGuards;
|
|
|
|
}
|
2021-05-10 22:23:08 +00:00
|
|
|
public function shouldSkip(\Rector\Naming\Contract\RenameValueObjectInterface $renameValueObject) : bool
|
2020-09-28 20:29:37 +02:00
|
|
|
{
|
2021-02-28 16:16:17 +01:00
|
|
|
foreach ($this->conflictingNameGuards as $conflictingNameGuard) {
|
|
|
|
if ($conflictingNameGuard->isConflicting($renameValueObject)) {
|
2021-05-09 20:15:43 +00:00
|
|
|
return \true;
|
2020-09-28 20:29:37 +02:00
|
|
|
}
|
|
|
|
}
|
2021-05-09 20:15:43 +00:00
|
|
|
return \false;
|
2020-09-28 20:29:37 +02:00
|
|
|
}
|
|
|
|
}
|