Skip to content

Commit 7c3115e

Browse files
committed
Mark TypeParser methods as impure
1 parent d835bf3 commit 7c3115e

File tree

1 file changed

+15
-0
lines changed

1 file changed

+15
-0
lines changed

src/Parser/TypeParser.php

+15
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ public function __construct(?ConstExprParser $constExprParser = null)
1616
$this->constExprParser = $constExprParser;
1717
}
1818

19+
/** @phpstan-impure */
1920
public function parse(TokenIterator $tokens): Ast\Type\TypeNode
2021
{
2122
if ($tokens->isCurrentTokenType(Lexer::TOKEN_NULLABLE)) {
@@ -36,6 +37,7 @@ public function parse(TokenIterator $tokens): Ast\Type\TypeNode
3637
}
3738

3839

40+
/** @phpstan-impure */
3941
private function parseAtomic(TokenIterator $tokens): Ast\Type\TypeNode
4042
{
4143
if ($tokens->tryConsumeTokenType(Lexer::TOKEN_OPEN_PARENTHESES)) {
@@ -126,6 +128,7 @@ private function parseAtomic(TokenIterator $tokens): Ast\Type\TypeNode
126128
}
127129

128130

131+
/** @phpstan-impure */
129132
private function parseUnion(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
130133
{
131134
$types = [$type];
@@ -138,6 +141,7 @@ private function parseUnion(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast
138141
}
139142

140143

144+
/** @phpstan-impure */
141145
private function parseIntersection(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
142146
{
143147
$types = [$type];
@@ -150,6 +154,7 @@ private function parseIntersection(TokenIterator $tokens, Ast\Type\TypeNode $typ
150154
}
151155

152156

157+
/** @phpstan-impure */
153158
private function parseNullable(TokenIterator $tokens): Ast\Type\TypeNode
154159
{
155160
$tokens->consumeTokenType(Lexer::TOKEN_NULLABLE);
@@ -171,6 +176,7 @@ private function parseNullable(TokenIterator $tokens): Ast\Type\TypeNode
171176
return new Ast\Type\NullableTypeNode($type);
172177
}
173178

179+
/** @phpstan-impure */
174180
public function isHtml(TokenIterator $tokens): bool
175181
{
176182
$tokens->consumeTokenType(Lexer::TOKEN_OPEN_ANGLE_BRACKET);
@@ -201,6 +207,7 @@ public function isHtml(TokenIterator $tokens): bool
201207
return false;
202208
}
203209

210+
/** @phpstan-impure */
204211
public function parseGeneric(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $baseType): Ast\Type\GenericTypeNode
205212
{
206213
$tokens->consumeTokenType(Lexer::TOKEN_OPEN_ANGLE_BRACKET);
@@ -226,6 +233,7 @@ public function parseGeneric(TokenIterator $tokens, Ast\Type\IdentifierTypeNode
226233
}
227234

228235

236+
/** @phpstan-impure */
229237
private function parseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $identifier): Ast\Type\TypeNode
230238
{
231239
$tokens->consumeTokenType(Lexer::TOKEN_OPEN_PARENTHESES);
@@ -246,6 +254,7 @@ private function parseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNod
246254
}
247255

248256

257+
/** @phpstan-impure */
249258
private function parseCallableParameter(TokenIterator $tokens): Ast\Type\CallableTypeParameterNode
250259
{
251260
$type = $this->parse($tokens);
@@ -265,6 +274,7 @@ private function parseCallableParameter(TokenIterator $tokens): Ast\Type\Callabl
265274
}
266275

267276

277+
/** @phpstan-impure */
268278
private function parseCallableReturnType(TokenIterator $tokens): Ast\Type\TypeNode
269279
{
270280
if ($tokens->isCurrentTokenType(Lexer::TOKEN_NULLABLE)) {
@@ -294,6 +304,7 @@ private function parseCallableReturnType(TokenIterator $tokens): Ast\Type\TypeNo
294304
}
295305

296306

307+
/** @phpstan-impure */
297308
private function tryParseCallable(TokenIterator $tokens, Ast\Type\IdentifierTypeNode $identifier): Ast\Type\TypeNode
298309
{
299310
try {
@@ -310,6 +321,7 @@ private function tryParseCallable(TokenIterator $tokens, Ast\Type\IdentifierType
310321
}
311322

312323

324+
/** @phpstan-impure */
313325
private function tryParseArray(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\TypeNode
314326
{
315327
try {
@@ -329,6 +341,7 @@ private function tryParseArray(TokenIterator $tokens, Ast\Type\TypeNode $type):
329341
}
330342

331343

344+
/** @phpstan-impure */
332345
private function parseArrayShape(TokenIterator $tokens, Ast\Type\TypeNode $type): Ast\Type\ArrayShapeNode
333346
{
334347
$tokens->consumeTokenType(Lexer::TOKEN_OPEN_CURLY_BRACKET);
@@ -354,6 +367,7 @@ private function parseArrayShape(TokenIterator $tokens, Ast\Type\TypeNode $type)
354367
}
355368

356369

370+
/** @phpstan-impure */
357371
private function parseArrayShapeItem(TokenIterator $tokens): Ast\Type\ArrayShapeItemNode
358372
{
359373
try {
@@ -374,6 +388,7 @@ private function parseArrayShapeItem(TokenIterator $tokens): Ast\Type\ArrayShape
374388
}
375389

376390
/**
391+
* @phpstan-impure
377392
* @return Ast\ConstExpr\ConstExprIntegerNode|Ast\ConstExpr\ConstExprStringNode|Ast\Type\IdentifierTypeNode
378393
*/
379394
private function parseArrayShapeKey(TokenIterator $tokens)

0 commit comments

Comments
 (0)