comparison vendor/symfony/dependency-injection/Argument/ServiceClosureArgument.php @ 14:1fec387a4317

Update Drupal core to 8.5.2 via Composer
author Chris Cannam
date Mon, 23 Apr 2018 09:46:53 +0100
parents
children 129ea1e6d783
comparison
equal deleted inserted replaced
13:5fb285c0d0e3 14:1fec387a4317
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\Argument;
13
14 use Symfony\Component\DependencyInjection\Exception\InvalidArgumentException;
15 use Symfony\Component\DependencyInjection\Reference;
16
17 /**
18 * Represents a service wrapped in a memoizing closure.
19 *
20 * @author Nicolas Grekas <p@tchwork.com>
21 */
22 class ServiceClosureArgument implements ArgumentInterface
23 {
24 private $values;
25
26 public function __construct(Reference $reference)
27 {
28 $this->values = array($reference);
29 }
30
31 /**
32 * {@inheritdoc}
33 */
34 public function getValues()
35 {
36 return $this->values;
37 }
38
39 /**
40 * {@inheritdoc}
41 */
42 public function setValues(array $values)
43 {
44 if (array(0) !== array_keys($values) || !($values[0] instanceof Reference || null === $values[0])) {
45 throw new InvalidArgumentException('A ServiceClosureArgument must hold one and only one Reference.');
46 }
47
48 $this->values = $values;
49 }
50 }