1: <?php declare(strict_types = 1);
2:
3: namespace PHPStan\Node;
4:
5: use Override;
6: use PhpParser\Node\Expr\Array_;
7: use PhpParser\NodeAbstract;
8: use PHPStan\Turbo\ReferencedByTurboExtension;
9:
10: /**
11: * @api
12: */
13: #[ReferencedByTurboExtension(key: 'literalArrayNode')]
14: final class LiteralArrayNode extends NodeAbstract implements VirtualNode
15: {
16:
17: /**
18: * @param LiteralArrayItem[] $itemNodes
19: */
20: public function __construct(Array_ $originalNode, private array $itemNodes)
21: {
22: parent::__construct($originalNode->getAttributes());
23: }
24:
25: /**
26: * @return LiteralArrayItem[]
27: */
28: public function getItemNodes(): array
29: {
30: return $this->itemNodes;
31: }
32:
33: #[Override]
34: public function getType(): string
35: {
36: return 'PHPStan_Node_LiteralArray';
37: }
38:
39: /**
40: * @return string[]
41: */
42: #[Override]
43: public function getSubNodeNames(): array
44: {
45: return [];
46: }
47:
48: }
49: