1 | <?php |
||
15 | abstract class BaseToken |
||
16 | { |
||
17 | /** @var mixed */ |
||
18 | protected $value; |
||
19 | /** @var int */ |
||
20 | protected $offset = 0; |
||
21 | /** @var TokenStack */ |
||
22 | protected $stack; |
||
23 | /** @var int */ |
||
24 | protected $position = null; |
||
25 | /** @var int */ |
||
26 | protected $line = null; |
||
27 | |||
28 | abstract public function getType(): int; |
||
29 | |||
30 | 230 | public function __construct($value, int $offset = 0, TokenStack $stack = null) |
|
36 | |||
37 | /** |
||
38 | * @return mixed |
||
39 | */ |
||
40 | 204 | public function getValue() |
|
44 | |||
45 | /** |
||
46 | * Some tokens can be represented by different operators, so the original value is used for error reporting, |
||
47 | * while the other one is used internally. |
||
48 | * |
||
49 | * @return mixed |
||
50 | */ |
||
51 | 124 | final public function getOriginalValue() |
|
55 | |||
56 | 134 | public function getOffset(): int |
|
60 | |||
61 | 90 | public function getStack(): TokenStack |
|
65 | |||
66 | 86 | public function setStack(TokenStack $stack) |
|
70 | |||
71 | 188 | public function isWhitespace(): bool |
|
75 | |||
76 | 192 | public function isOfType(int $type): bool |
|
80 | |||
81 | 208 | public function createNode(TokenStream $tokenStream): self |
|
85 | |||
86 | 50 | public function getPosition(): int |
|
94 | |||
95 | 50 | public function getLine(): int |
|
103 | |||
104 | 50 | private function getLineAndPosition() |
|
127 | } |
||
128 |