Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit 7c3115e

Browse files
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‎

Lines changed: 15 additions & 0 deletions
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)

AltStyle によって変換されたページ (->オリジナル) /