@@ -16,6 +16,7 @@ public function __construct(?ConstExprParser $constExprParser = null)
|
16 | 16 | $this->constExprParser = $constExprParser;
|
17 | 17 | }
|
18 | 18 |
|
| 19 | +/** @phpstan-impure */ |
19 | 20 | public function parse(TokenIterator $tokens): Ast\Type\TypeNode
|
20 | 21 | {
|
21 | 22 | if ($tokens->isCurrentTokenType(Lexer::TOKEN_NULLABLE)) {
|
@@ -36,6 +37,7 @@ public function parse(TokenIterator $tokens): Ast\Type\TypeNode
|
36 | 37 | }
|
37 | 38 |
|
38 | 39 |
|
| 40 | +/** @phpstan-impure */ |
39 | 41 | private function parseAtomic(TokenIterator $tokens): Ast\Type\TypeNode
|
40 | 42 | {
|
41 | 43 | if ($tokens->tryConsumeTokenType(Lexer::TOKEN_OPEN_PARENTHESES)) {
|
@@ -126,6 +128,7 @@ private function parseAtomic(TokenIterator $tokens): Ast\Type\TypeNode
|
126 | 128 | }
|
127 | 129 |
|
128 | 130 |
|
| 131 | +/** @phpstan-impure */ |
129 | 132 | private function parseUnion(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
|
130 | 133 | {
|
131 | 134 | $types = [$type];
|
@@ -138,6 +141,7 @@ private function parseUnion(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast
|
138 | 141 | }
|
139 | 142 |
|
140 | 143 |
|
| 144 | +/** @phpstan-impure */ |
141 | 145 | private function parseIntersection(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
|
142 | 146 | {
|
143 | 147 | $types = [$type];
|
@@ -150,6 +154,7 @@ private function parseIntersection(TokenIterator $tokens, Ast\Type\TypeNode $typ
|
150 | 154 | }
|
151 | 155 |
|
152 | 156 |
|
| 157 | +/** @phpstan-impure */ |
153 | 158 | private function parseNullable(TokenIterator $tokens): Ast\Type\TypeNode
|
154 | 159 | {
|
155 | 160 | $tokens->consumeTokenType(Lexer::TOKEN_NULLABLE);
|
@@ -171,6 +176,7 @@ private function parseNullable(TokenIterator $tokens): Ast\Type\TypeNode
|
171 | 176 | return new Ast\Type\NullableTypeNode($type);
|
172 | 177 | }
|
173 | 178 |
|
| 179 | +/** @phpstan-impure */ |
174 | 180 | public function isHtml(TokenIterator $tokens): bool
|
175 | 181 | {
|
176 | 182 | $tokens->consumeTokenType(Lexer::TOKEN_OPEN_ANGLE_BRACKET);
|
@@ -201,6 +207,7 @@ public function isHtml(TokenIterator $tokens): bool
|
201 | 207 | return false;
|
202 | 208 | }
|
203 | 209 |
|
| 210 | +/** @phpstan-impure */ |
204 | 211 | public function parseGeneric(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $baseType): Ast\Type\GenericTypeNode
|
205 | 212 | {
|
206 | 213 | $tokens->consumeTokenType(Lexer::TOKEN_OPEN_ANGLE_BRACKET);
|
@@ -226,6 +233,7 @@ public function parseGeneric(TokenIterator $tokens, Ast\Type\IdentifierTypeNode
|
226 | 233 | }
|
227 | 234 |
|
228 | 235 |
|
| 236 | +/** @phpstan-impure */ |
229 | 237 | private function parseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $identifier): Ast\Type\TypeNode
|
230 | 238 | {
|
231 | 239 | $tokens->consumeTokenType(Lexer::TOKEN_OPEN_PARENTHESES);
|
@@ -246,6 +254,7 @@ private function parseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNod
|
246 | 254 | }
|
247 | 255 |
|
248 | 256 |
|
| 257 | +/** @phpstan-impure */ |
249 | 258 | private function parseCallableParameter(TokenIterator $tokens): Ast\Type\CallableTypeParameterNode
|
250 | 259 | {
|
251 | 260 | $type = $this->parse($tokens);
|
@@ -265,6 +274,7 @@ private function parseCallableParameter(TokenIterator $tokens): Ast\Type\Callabl
|
265 | 274 | }
|
266 | 275 |
|
267 | 276 |
|
| 277 | +/** @phpstan-impure */ |
268 | 278 | private function parseCallableReturnType(TokenIterator $tokens): Ast\Type\TypeNode
|
269 | 279 | {
|
270 | 280 | if ($tokens->isCurrentTokenType(Lexer::TOKEN_NULLABLE)) {
|
@@ -294,6 +304,7 @@ private function parseCallableReturnType(TokenIterator $tokens): Ast\Type\TypeNo
|
294 | 304 | }
|
295 | 305 |
|
296 | 306 |
|
| 307 | +/** @phpstan-impure */ |
297 | 308 | private function tryParseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $identifier): Ast\Type\TypeNode
|
298 | 309 | {
|
299 | 310 | try {
|
@@ -310,6 +321,7 @@ private function tryParseCallable(TokenIterator $tokens, Ast\Type\IdentifierType
|
310 | 321 | }
|
311 | 322 |
|
312 | 323 |
|
| 324 | +/** @phpstan-impure */ |
313 | 325 | private function tryParseArray(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
|
314 | 326 | {
|
315 | 327 | try {
|
@@ -329,6 +341,7 @@ private function tryParseArray(TokenIterator $tokens, Ast\Type\TypeNode $type):
|
329 | 341 | }
|
330 | 342 |
|
331 | 343 |
|
| 344 | +/** @phpstan-impure */ |
332 | 345 | private function parseArrayShape(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\ArrayShapeNode
|
333 | 346 | {
|
334 | 347 | $tokens->consumeTokenType(Lexer::TOKEN_OPEN_CURLY_BRACKET);
|
@@ -354,6 +367,7 @@ private function parseArrayShape(TokenIterator $tokens, Ast\Type\TypeNode $type)
|
354 | 367 | }
|
355 | 368 |
|
356 | 369 |
|
| 370 | +/** @phpstan-impure */ |
357 | 371 | private function parseArrayShapeItem(TokenIterator $tokens): Ast\Type\ArrayShapeItemNode
|
358 | 372 | {
|
359 | 373 | try {
|
@@ -374,6 +388,7 @@ private function parseArrayShapeItem(TokenIterator $tokens): Ast\Type\ArrayShape
|
374 | 388 | }
|
375 | 389 |
|
376 | 390 | /**
|
| 391 | +* @phpstan-impure |
377 | 392 | * @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
|
378 | 393 | */
|
379 | 394 | private function parseArrayShapeKey(TokenIterator $tokens)
|
|
0 commit comments