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 | /** |
||
31 | * @param mixed $value |
||
32 | * @param int $offset |
||
33 | * @param TokenStack $stack |
||
34 | */ |
||
35 | 230 | public function __construct($value, int $offset = 0, TokenStack $stack = null) |
|
41 | |||
42 | /** |
||
43 | * @return mixed |
||
44 | */ |
||
45 | 204 | public function getValue() |
|
49 | |||
50 | /** |
||
51 | * Some tokens can be represented by different operators, so the original value is used for error reporting, |
||
52 | * while the other one is used internally. |
||
53 | * |
||
54 | * @return mixed |
||
55 | */ |
||
56 | 124 | final public function getOriginalValue() |
|
60 | |||
61 | 134 | public function getOffset(): int |
|
65 | |||
66 | 90 | public function getStack(): TokenStack |
|
70 | |||
71 | 86 | public function setStack(TokenStack $stack) |
|
75 | |||
76 | 188 | public function isWhitespace(): bool |
|
80 | |||
81 | 192 | public function isOfType(int $type): bool |
|
85 | |||
86 | 208 | public function createNode(TokenStream $tokenStream): self |
|
90 | |||
91 | 50 | public function getPosition(): int |
|
99 | |||
100 | 50 | public function getLine(): int |
|
108 | |||
109 | 50 | private function getLineAndPosition() |
|
132 | } |
||
133 |