File manager - Edit - /var/www/payraty/helpdesk/vendor/rector/rector/vendor/rector/rector-laravel/src/NodeFactory/AppAssignFactory.php
Back
<?php declare (strict_types=1); namespace Rector\Laravel\NodeFactory; use PhpParser\Node\Expr; use PhpParser\Node\Expr\Assign; use PhpParser\Node\Expr\Variable; use PhpParser\Node\Stmt\Expression; use PHPStan\PhpDocParser\Ast\PhpDoc\VarTagValueNode; use Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory; use Rector\BetterPhpDocParser\ValueObject\Type\FullyQualifiedIdentifierTypeNode; use Rector\Laravel\ValueObject\ServiceNameTypeAndVariableName; final class AppAssignFactory { /** * @readonly * @var \Rector\BetterPhpDocParser\PhpDocInfo\PhpDocInfoFactory */ private $phpDocInfoFactory; public function __construct(PhpDocInfoFactory $phpDocInfoFactory) { $this->phpDocInfoFactory = $phpDocInfoFactory; } public function createAssignExpression(ServiceNameTypeAndVariableName $serviceNameTypeAndVariableName, Expr $expr) : Expression { $variable = new Variable($serviceNameTypeAndVariableName->getVariableName()); $assign = new Assign($variable, $expr); $expression = new Expression($assign); $this->decorateWithVarAnnotation($expression, $serviceNameTypeAndVariableName); return $expression; } private function decorateWithVarAnnotation(Expression $expression, ServiceNameTypeAndVariableName $serviceNameTypeAndVariableName) : void { $phpDocInfo = $this->phpDocInfoFactory->createEmpty($expression); $fullyQualifiedIdentifierTypeNode = new FullyQualifiedIdentifierTypeNode($serviceNameTypeAndVariableName->getType()); $varTagValueNode = new VarTagValueNode($fullyQualifiedIdentifierTypeNode, '$' . $serviceNameTypeAndVariableName->getVariableName(), ''); $phpDocInfo->addTagValueNode($varTagValueNode); $phpDocInfo->makeSingleLined(); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings