Total Complexity | 7 |
Total Lines | 47 |
Duplicated Lines | 0 % |
Coverage | 70.59% |
Changes | 0 |
1 | <?php declare(strict_types=1); |
||
10 | class ArrayExpression extends ASTNode |
||
11 | { |
||
12 | /** |
||
13 | * @param ASTNode[] $values |
||
14 | */ |
||
15 | 3 | public function __construct( |
|
16 | private array $values |
||
17 | ) |
||
18 | { |
||
19 | 3 | } |
|
20 | |||
21 | 3 | public function getType(): string |
|
22 | { |
||
23 | 3 | return 'ArrayExpression'; |
|
24 | } |
||
25 | |||
26 | /** |
||
27 | * @return ASTNode[] |
||
28 | */ |
||
29 | 3 | public function getValues(): array |
|
30 | { |
||
31 | 3 | return $this->values; |
|
32 | } |
||
33 | |||
34 | 3 | #[ArrayShape(['type' => "string", 'values' => "array"])] |
|
35 | public function toArray(): array |
||
36 | { |
||
37 | 3 | $values = []; |
|
38 | 3 | foreach ($this->getValues() as $value) { |
|
39 | 3 | $values[] = $value->toArray(); |
|
40 | } |
||
41 | |||
42 | return [ |
||
43 | 3 | 'type' => $this->getType(), |
|
44 | 3 | 'values' => $values, |
|
45 | ]; |
||
46 | } |
||
47 | |||
48 | public function toResolver(ArgumentResolverFactory $argumentResolverFactory): ArgumentResolver |
||
57 | } |
||
58 | } |
||
59 |