Updated to Drupal 8.5. Core Media not yet in use.
[yaffs-website] / vendor / symfony / dependency-injection / Compiler / ResolveTaggedIteratorArgumentPass.php
1 <?php
2
3 /*
4  * This file is part of the Symfony package.
5  *
6  * (c) Fabien Potencier <fabien@symfony.com>
7  *
8  * For the full copyright and license information, please view the LICENSE
9  * file that was distributed with this source code.
10  */
11
12 namespace Symfony\Component\DependencyInjection\Compiler;
13
14 use Symfony\Component\DependencyInjection\Argument\TaggedIteratorArgument;
15
16 /**
17  * Resolves all TaggedIteratorArgument arguments.
18  *
19  * @author Roland Franssen <franssen.roland@gmail.com>
20  */
21 class ResolveTaggedIteratorArgumentPass extends AbstractRecursivePass
22 {
23     use PriorityTaggedServiceTrait;
24
25     /**
26      * {@inheritdoc}
27      */
28     protected function processValue($value, $isRoot = false)
29     {
30         if (!$value instanceof TaggedIteratorArgument) {
31             return parent::processValue($value, $isRoot);
32         }
33
34         $value->setValues($this->findAndSortTaggedServices($value->getTag(), $this->container));
35
36         return $value;
37     }
38 }