Updating Media dependent modules to versions compatible with core Media.
[yaffs-website] / vendor / symfony / dependency-injection / Compiler / DefinitionErrorExceptionPass.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\Definition;
15 use Symfony\Component\DependencyInjection\Exception\RuntimeException;
16
17 /**
18  * Throws an exception for any Definitions that have errors and still exist.
19  *
20  * @author Ryan Weaver <ryan@knpuniversity.com>
21  */
22 class DefinitionErrorExceptionPass extends AbstractRecursivePass
23 {
24     /**
25      * {@inheritdoc}
26      */
27     protected function processValue($value, $isRoot = false)
28     {
29         if (!$value instanceof Definition || empty($value->getErrors())) {
30             return parent::processValue($value, $isRoot);
31         }
32
33         // only show the first error so the user can focus on it
34         $errors = $value->getErrors();
35         $message = reset($errors);
36
37         throw new RuntimeException($message);
38     }
39 }