|
29 | 29 | use PHPStan\PhpDocParser\Ast\PhpDoc\MethodTagValueNode;
|
30 | 30 | use PHPStan\PhpDocParser\Ast\PhpDoc\MethodTagValueParameterNode;
|
31 | 31 | use PHPStan\PhpDocParser\Ast\PhpDoc\MixinTagValueNode;
|
| 32 | +use PHPStan\PhpDocParser\Ast\PhpDoc\ParamImmediatelyInvokedCallableTagValueNode; |
| 33 | +use PHPStan\PhpDocParser\Ast\PhpDoc\ParamLaterInvokedCallableTagValueNode; |
32 | 34 | use PHPStan\PhpDocParser\Ast\PhpDoc\ParamOutTagValueNode;
|
33 | 35 | use PHPStan\PhpDocParser\Ast\PhpDoc\ParamTagValueNode;
|
34 | 36 | use PHPStan\PhpDocParser\Ast\PhpDoc\PhpDocNode;
|
@@ -97,6 +99,8 @@ protected function setUp(): void
|
97 | 99 | * @dataProvider provideTagsWithNumbers
|
98 | 100 | * @dataProvider provideSpecializedTags
|
99 | 101 | * @dataProvider provideParamTagsData
|
| 102 | + * @dataProvider provideParamImmediatelyInvokedCallableTagsData |
| 103 | + * @dataProvider provideParamLaterInvokedCallableTagsData |
100 | 104 | * @dataProvider provideTypelessParamTagsData
|
101 | 105 | * @dataProvider provideVarTagsData
|
102 | 106 | * @dataProvider provideReturnTagsData
|
@@ -620,6 +624,68 @@ public function provideTypelessParamTagsData(): Iterator
|
620 | 624 | ];
|
621 | 625 | }
|
622 | 626 |
|
| 627 | + public function provideParamImmediatelyInvokedCallableTagsData(): Iterator |
| 628 | + { |
| 629 | + yield [ |
| 630 | + 'OK', |
| 631 | + '/** @param-immediately-invoked-callable $foo */', |
| 632 | + new PhpDocNode([ |
| 633 | + new PhpDocTagNode( |
| 634 | + '@param-immediately-invoked-callable', |
| 635 | + new ParamImmediatelyInvokedCallableTagValueNode( |
| 636 | + '$foo', |
| 637 | + '' |
| 638 | + ) |
| 639 | + ), |
| 640 | + ]), |
| 641 | + ]; |
| 642 | + |
| 643 | + yield [ |
| 644 | + 'OK with description', |
| 645 | + '/** @param-immediately-invoked-callable $foo test two three */', |
| 646 | + new PhpDocNode([ |
| 647 | + new PhpDocTagNode( |
| 648 | + '@param-immediately-invoked-callable', |
| 649 | + new ParamImmediatelyInvokedCallableTagValueNode( |
| 650 | + '$foo', |
| 651 | + 'test two three' |
| 652 | + ) |
| 653 | + ), |
| 654 | + ]), |
| 655 | + ]; |
| 656 | + } |
| 657 | + |
| 658 | + public function provideParamLaterInvokedCallableTagsData(): Iterator |
| 659 | + { |
| 660 | + yield [ |
| 661 | + 'OK', |
| 662 | + '/** @param-later-invoked-callable $foo */', |
| 663 | + new PhpDocNode([ |
| 664 | + new PhpDocTagNode( |
| 665 | + '@param-later-invoked-callable', |
| 666 | + new ParamLaterInvokedCallableTagValueNode( |
| 667 | + '$foo', |
| 668 | + '' |
| 669 | + ) |
| 670 | + ), |
| 671 | + ]), |
| 672 | + ]; |
| 673 | + |
| 674 | + yield [ |
| 675 | + 'OK with description', |
| 676 | + '/** @param-later-invoked-callable $foo test two three */', |
| 677 | + new PhpDocNode([ |
| 678 | + new PhpDocTagNode( |
| 679 | + '@param-later-invoked-callable', |
| 680 | + new ParamLaterInvokedCallableTagValueNode( |
| 681 | + '$foo', |
| 682 | + 'test two three' |
| 683 | + ) |
| 684 | + ), |
| 685 | + ]), |
| 686 | + ]; |
| 687 | + } |
| 688 | + |
623 | 689 | public function provideVarTagsData(): Iterator
|
624 | 690 | {
|
625 | 691 | yield [
|
@@ -7117,6 +7183,8 @@ public function testReturnTypeLinesAndIndexes(string $phpDoc, array $lines): voi
|
7117 | 7183 | * @dataProvider provideSpecializedTags
|
7118 | 7184 | * @dataProvider provideParamTagsData
|
7119 | 7185 | * @dataProvider provideTypelessParamTagsData
|
| 7186 | + * @dataProvider provideParamImmediatelyInvokedCallableTagsData |
| 7187 | + * @dataProvider provideParamLaterInvokedCallableTagsData |
7120 | 7188 | * @dataProvider provideVarTagsData
|
7121 | 7189 | * @dataProvider provideReturnTagsData
|
7122 | 7190 | * @dataProvider provideThrowsTagsData
|
|
0 commit comments