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 47051f5

Browse files
rvanvelzenondrejmirtes
authored andcommitted
Parse assert-if-true and assert-if-false as well
1 parent 0af5cba commit 47051f5

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

‎src/Parser/PhpDocParser.php

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -206,7 +206,11 @@ public function parseTagValue(TokenIterator $tokens, string $tag): Ast\PhpDoc\Ph
206206
break;
207207

208208
case '@phpstan-assert':
209+
case '@phpstan-assert-if-true':
210+
case '@phpstan-assert-if-false':
209211
case '@psalm-assert':
212+
case '@psalm-assert-if-true':
213+
case '@psalm-assert-if-false':
210214
$tagValue = $this->parseAssertTagValue($tokens);
211215
break;
212216

‎tests/PHPStan/Parser/PhpDocParserTest.php

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3565,6 +3565,35 @@ public function provideAssertTagsData(): Iterator
35653565
),
35663566
]),
35673567
];
3568+
3569+
yield [
3570+
'OK assert-if-true',
3571+
'/** @phpstan-assert-if-true Type $var */',
3572+
new PhpDocNode([
3573+
new PhpDocTagNode(
3574+
'@phpstan-assert-if-true',
3575+
new AssertTagValueNode(
3576+
new IdentifierTypeNode('Type'),
3577+
'$var',
3578+
''
3579+
)
3580+
),
3581+
]),
3582+
];
3583+
yield [
3584+
'OK assert-if-false',
3585+
'/** @phpstan-assert-if-false Type $var */',
3586+
new PhpDocNode([
3587+
new PhpDocTagNode(
3588+
'@phpstan-assert-if-false',
3589+
new AssertTagValueNode(
3590+
new IdentifierTypeNode('Type'),
3591+
'$var',
3592+
''
3593+
)
3594+
),
3595+
]),
3596+
];
35683597
}
35693598

35703599
public function providerDebug(): Iterator

0 commit comments

Comments
(0)

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