Mercurial > hg > isophonics-drupal-site
comparison vendor/symfony/var-dumper/Caster/ArgsStub.php @ 17:129ea1e6d783
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:21:36 +0000 |
parents | 4c8ae668cc8c |
children |
comparison
equal
deleted
inserted
replaced
16:c2387f117808 | 17:129ea1e6d783 |
---|---|
18 * | 18 * |
19 * @author Nicolas Grekas <p@tchwork.com> | 19 * @author Nicolas Grekas <p@tchwork.com> |
20 */ | 20 */ |
21 class ArgsStub extends EnumStub | 21 class ArgsStub extends EnumStub |
22 { | 22 { |
23 private static $parameters = array(); | 23 private static $parameters = []; |
24 | 24 |
25 public function __construct(array $args, $function, $class) | 25 public function __construct(array $args, $function, $class) |
26 { | 26 { |
27 list($variadic, $params) = self::getParameters($function, $class); | 27 list($variadic, $params) = self::getParameters($function, $class); |
28 | 28 |
29 $values = array(); | 29 $values = []; |
30 foreach ($args as $k => $v) { | 30 foreach ($args as $k => $v) { |
31 $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; | 31 $values[$k] = !is_scalar($v) && !$v instanceof Stub ? new CutStub($v) : $v; |
32 } | 32 } |
33 if (null === $params) { | 33 if (null === $params) { |
34 parent::__construct($values, false); | 34 parent::__construct($values, false); |
35 | 35 |
36 return; | 36 return; |
37 } | 37 } |
38 if (count($values) < count($params)) { | 38 if (\count($values) < \count($params)) { |
39 $params = array_slice($params, 0, count($values)); | 39 $params = \array_slice($params, 0, \count($values)); |
40 } elseif (count($values) > count($params)) { | 40 } elseif (\count($values) > \count($params)) { |
41 $values[] = new EnumStub(array_splice($values, count($params)), false); | 41 $values[] = new EnumStub(array_splice($values, \count($params)), false); |
42 $params[] = $variadic; | 42 $params[] = $variadic; |
43 } | 43 } |
44 if (array('...') === $params) { | 44 if (['...'] === $params) { |
45 $this->dumpKeys = false; | 45 $this->dumpKeys = false; |
46 $this->value = $values[0]->value; | 46 $this->value = $values[0]->value; |
47 } else { | 47 } else { |
48 $this->value = array_combine($params, $values); | 48 $this->value = array_combine($params, $values); |
49 } | 49 } |
56 } | 56 } |
57 | 57 |
58 try { | 58 try { |
59 $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function); | 59 $r = null !== $class ? new \ReflectionMethod($class, $function) : new \ReflectionFunction($function); |
60 } catch (\ReflectionException $e) { | 60 } catch (\ReflectionException $e) { |
61 return array(null, null); | 61 return [null, null]; |
62 } | 62 } |
63 | 63 |
64 $variadic = '...'; | 64 $variadic = '...'; |
65 $params = array(); | 65 $params = []; |
66 foreach ($r->getParameters() as $v) { | 66 foreach ($r->getParameters() as $v) { |
67 $k = '$'.$v->name; | 67 $k = '$'.$v->name; |
68 if ($v->isPassedByReference()) { | 68 if ($v->isPassedByReference()) { |
69 $k = '&'.$k; | 69 $k = '&'.$k; |
70 } | 70 } |
73 } else { | 73 } else { |
74 $params[] = $k; | 74 $params[] = $k; |
75 } | 75 } |
76 } | 76 } |
77 | 77 |
78 return self::$parameters[$k] = array($variadic, $params); | 78 return self::$parameters[$k] = [$variadic, $params]; |
79 } | 79 } |
80 } | 80 } |