Updating Media dependent modules to versions compatible with core Media.
[yaffs-website] / vendor / symfony / dependency-injection / Compiler / RemoveAbstractDefinitionsPass.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\ContainerBuilder;
15
16 /**
17  * Removes abstract Definitions.
18  */
19 class RemoveAbstractDefinitionsPass implements CompilerPassInterface
20 {
21     /**
22      * Removes abstract definitions from the ContainerBuilder.
23      */
24     public function process(ContainerBuilder $container)
25     {
26         foreach ($container->getDefinitions() as $id => $definition) {
27             if ($definition->isAbstract()) {
28                 $container->removeDefinition($id);
29                 $container->log($this, sprintf('Removed service "%s"; reason: abstract.', $id));
30             }
31         }
32     }
33 }