Skip to content

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

Diff for: src/Parser/PhpDocParser.php

+4
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

Diff for: tests/PHPStan/Parser/PhpDocParserTest.php

+29
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)