File manager - Edit - /var/www/payraty/helpdesk/vendor/rector/rector/vendor/rector/rector-phpunit/src/NodeFactory/ExpectExceptionMethodCallFactory.php
Back
<?php declare (strict_types=1); namespace Rector\PHPUnit\NodeFactory; use PhpParser\Node\Arg; use PhpParser\Node\Expr\MethodCall; use PhpParser\Node\Scalar\String_; use PhpParser\Node\Stmt\Expression; use PHPStan\PhpDocParser\Ast\PhpDoc\GenericTagValueNode; use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocTagNode; use Rector\Core\Exception\ShouldNotHappenException; use Rector\Core\PhpParser\Node\NodeFactory; use Rector\PHPUnit\PhpDoc\PhpDocValueToNodeMapper; final class ExpectExceptionMethodCallFactory { /** * @readonly * @var \Rector\Core\PhpParser\Node\NodeFactory */ private $nodeFactory; /** * @readonly * @var \Rector\PHPUnit\PhpDoc\PhpDocValueToNodeMapper */ private $phpDocValueToNodeMapper; public function __construct(NodeFactory $nodeFactory, PhpDocValueToNodeMapper $phpDocValueToNodeMapper) { $this->nodeFactory = $nodeFactory; $this->phpDocValueToNodeMapper = $phpDocValueToNodeMapper; } /** * @param PhpDocTagNode[] $phpDocTagNodes * @return Expression[] */ public function createFromTagValueNodes(array $phpDocTagNodes, string $methodName) : array { $methodCallExpressions = []; foreach ($phpDocTagNodes as $phpDocTagNode) { $methodCall = $this->createMethodCall($phpDocTagNode, $methodName); $methodCallExpressions[] = new Expression($methodCall); } return $methodCallExpressions; } private function createMethodCall(PhpDocTagNode $phpDocTagNode, string $methodName) : MethodCall { if (!$phpDocTagNode->value instanceof GenericTagValueNode) { throw new ShouldNotHappenException(); } $node = $phpDocTagNode->name === '@expectedExceptionMessage' ? new String_($phpDocTagNode->value->value) : $this->phpDocValueToNodeMapper->mapGenericTagValueNode($phpDocTagNode->value); return $this->nodeFactory->createMethodCall('this', $methodName, [new Arg($node)]); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.30 | Generation time: 0 |
proxy
|
phpinfo
|
Settings