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