%PDF- %PDF-
Direktori : /home2/vacivi36/code/vendor/rector/rector/rules/Php80/NodeFactory/ |
Current File : //home2/vacivi36/code/vendor/rector/rector/rules/Php80/NodeFactory/AttrGroupsFactory.php |
<?php declare (strict_types=1); namespace Rector\Php80\NodeFactory; use PhpParser\Node\AttributeGroup; use PhpParser\Node\Stmt\Use_; use Rector\Php80\ValueObject\DoctrineTagAndAnnotationToAttribute; use Rector\PhpAttribute\NodeFactory\PhpAttributeGroupFactory; final class AttrGroupsFactory { /** * @readonly * @var \Rector\PhpAttribute\NodeFactory\PhpAttributeGroupFactory */ private $phpAttributeGroupFactory; public function __construct(PhpAttributeGroupFactory $phpAttributeGroupFactory) { $this->phpAttributeGroupFactory = $phpAttributeGroupFactory; } /** * @param DoctrineTagAndAnnotationToAttribute[] $doctrineTagAndAnnotationToAttributes * @param Use_[] $uses * @return AttributeGroup[] */ public function create(array $doctrineTagAndAnnotationToAttributes, array $uses) : array { $attributeGroups = []; foreach ($doctrineTagAndAnnotationToAttributes as $doctrineTagAndAnnotationToAttribute) { $doctrineAnnotationTagValueNode = $doctrineTagAndAnnotationToAttribute->getDoctrineAnnotationTagValueNode(); // add attributes $attributeGroups[] = $this->phpAttributeGroupFactory->create($doctrineAnnotationTagValueNode, $doctrineTagAndAnnotationToAttribute->getAnnotationToAttribute(), $uses); } return $attributeGroups; } }