| Current Path : /home/rtorresani/www/vendor/rector/rector/rules/Transform/NodeFactory/ |
| Current File : //home/rtorresani/www/vendor/rector/rector/rules/Transform/NodeFactory/PropertyFetchFactory.php |
<?php
declare (strict_types=1);
namespace Rector\Transform\NodeFactory;
use PhpParser\Node\Expr\PropertyFetch;
use PhpParser\Node\Expr\Variable;
use PHPStan\Type\ObjectType;
use Rector\Naming\Naming\PropertyNaming;
final class PropertyFetchFactory
{
/**
* @readonly
* @var \Rector\Naming\Naming\PropertyNaming
*/
private $propertyNaming;
public function __construct(PropertyNaming $propertyNaming)
{
$this->propertyNaming = $propertyNaming;
}
public function createFromType(ObjectType $objectType) : PropertyFetch
{
$thisVariable = new Variable('this');
$propertyName = $this->propertyNaming->fqnToVariableName($objectType->getClassName());
return new PropertyFetch($thisVariable, $propertyName);
}
}