rector/rules/Renaming/ValueObject/RenameClassConstFetch.php
2024-01-02 02:40:38 +00:00

48 lines
1.2 KiB
PHP

<?php
declare (strict_types=1);
namespace Rector\Renaming\ValueObject;
use PHPStan\Type\ObjectType;
use Rector\Renaming\Contract\RenameClassConstFetchInterface;
use Rector\Validation\RectorAssert;
final class RenameClassConstFetch implements RenameClassConstFetchInterface
{
/**
* @readonly
* @var string
*/
private $oldClass;
/**
* @readonly
* @var string
*/
private $oldConstant;
/**
* @readonly
* @var string
*/
private $newConstant;
public function __construct(string $oldClass, string $oldConstant, string $newConstant)
{
$this->oldClass = $oldClass;
$this->oldConstant = $oldConstant;
$this->newConstant = $newConstant;
RectorAssert::className($oldClass);
RectorAssert::constantName($oldConstant);
RectorAssert::constantName($newConstant);
}
public function getOldObjectType() : ObjectType
{
return new ObjectType($this->oldClass);
}
public function getOldConstant() : string
{
return $this->oldConstant;
}
public function getNewConstant() : string
{
return $this->newConstant;
}
}