1: <?php
2: namespace Pharborist\ControlStructures;
3:
4: use Pharborist\Node;
5: use Pharborist\NodeCollection;
6: use Pharborist\ParenTrait;
7: use Pharborist\StatementNode;
8: use Pharborist\CommaListNode;
9:
10: /**
11: * A declare control structure.
12: */
13: class DeclareNode extends StatementNode {
14: use ParenTrait;
15:
16: /**
17: * @var Node
18: */
19: protected $body;
20:
21: /**
22: * @var CommaListNode
23: */
24: protected $directives;
25:
26: /**
27: * @return CommaListNode
28: */
29: public function getDirectiveList() {
30: return $this->directives;
31: }
32:
33: /**
34: * @return NodeCollection|DeclareDirectiveNode[]
35: */
36: public function getDirectives() {
37: return $this->directives->getItems();
38: }
39:
40: /**
41: * @return Node
42: */
43: public function getBody() {
44: return $this->body;
45: }
46: }
47: