1 | <?php |
||
22 | abstract class AbstractDefinition implements Definition |
||
23 | { |
||
24 | use Serializable; |
||
25 | |||
26 | /** |
||
27 | * @var Document |
||
28 | */ |
||
29 | protected $document; |
||
30 | |||
31 | /** |
||
32 | * @var int |
||
33 | */ |
||
34 | protected $offset = 0; |
||
35 | |||
36 | /** |
||
37 | * AbstractDefinition constructor. |
||
38 | * @param Document $document |
||
39 | */ |
||
40 | 4 | public function __construct(Document $document) |
|
44 | |||
45 | /** |
||
46 | * @param int $offset |
||
47 | */ |
||
48 | 1 | public function setOffset(int $offset): void |
|
49 | { |
||
50 | 1 | $this->offset = $offset; |
|
51 | 1 | } |
|
52 | |||
53 | /** |
||
54 | * @param TypeInterface $type |
||
55 | * @return bool |
||
56 | */ |
||
57 | public static function typeOf(TypeInterface $type): bool |
||
61 | |||
62 | /** |
||
63 | * @return DocumentInterface |
||
64 | */ |
||
65 | 2 | public function getDocument(): DocumentInterface |
|
69 | |||
70 | /** |
||
71 | * @return int |
||
72 | */ |
||
73 | public function getLine(): int |
||
77 | |||
78 | /** |
||
79 | * @return Readable |
||
80 | */ |
||
81 | 1 | public function getFile(): Readable |
|
85 | |||
86 | /** |
||
87 | * @return int |
||
88 | */ |
||
89 | 1 | public function getColumn(): int |
|
93 | |||
94 | /** |
||
95 | * @return string |
||
96 | */ |
||
97 | public function __toString(): string |
||
105 | |||
106 | /** |
||
107 | * @param string $type |
||
108 | * @return TypeDefinition |
||
109 | */ |
||
110 | protected function fetch(string $type): TypeDefinition |
||
114 | } |
||
115 |