@@ -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