1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
<?php
namespace Language\Intermediate;
/**
* Interface CodeNodeInterface
*
* @package Language\Intermediate
*/
interface CodeNodeInterface
{
public function getType(): string;
public function setParent(CodeNodeInterface $node);
public function getParent(): CodeNodeInterface;
public function setRoot();
public function isRoot(): bool;
public function addChild(CodeNodeInterface $node = null);
public function addChildren(array $nodes);
public function getChildren(): array;
public function setAttribute(string $key, $value);
public function getAttribute(string $key);
public function getAttributes();
public function copy();
public function getText(): string;
}