|
13 | 13 | use PHPStan\PhpDocParser\Ast\ConstExpr\DoctrineConstExprStringNode;
|
14 | 14 | use PHPStan\PhpDocParser\Ast\Node;
|
15 | 15 | use PHPStan\PhpDocParser\Ast\NodeTraverser;
|
| 16 | +use PHPStan\PhpDocParser\Ast\PhpDoc\AllMethodsImpureTagValueNode; |
| 17 | +use PHPStan\PhpDocParser\Ast\PhpDoc\AllMethodsPureTagValueNode; |
16 | 18 | use PHPStan\PhpDocParser\Ast\PhpDoc\AssertTagMethodValueNode;
|
17 | 19 | use PHPStan\PhpDocParser\Ast\PhpDoc\AssertTagPropertyValueNode;
|
18 | 20 | use PHPStan\PhpDocParser\Ast\PhpDoc\AssertTagValueNode;
|
@@ -102,6 +104,8 @@ protected function setUp(): void
|
102 | 104 | * @dataProvider provideTypelessParamTagsData
|
103 | 105 | * @dataProvider provideParamClosureThisTagsData
|
104 | 106 | * @dataProvider providePureUnlessCallableIsImpureTagsData
|
| 107 | + * @dataProvider provideAllMethodsImpureTagsData |
| 108 | + * @dataProvider provideAllMethodsPureTagsData |
105 | 109 | * @dataProvider provideVarTagsData
|
106 | 110 | * @dataProvider provideReturnTagsData
|
107 | 111 | * @dataProvider provideThrowsTagsData
|
@@ -757,6 +761,64 @@ public function providePureUnlessCallableIsImpureTagsData(): Iterator
|
757 | 761 | ];
|
758 | 762 | }
|
759 | 763 |
|
| 764 | + public function provideAllMethodsImpureTagsData(): Iterator |
| 765 | + { |
| 766 | + yield [ |
| 767 | + 'OK', |
| 768 | + '/** @phpstan-all-methods-impure */', |
| 769 | + new PhpDocNode([ |
| 770 | + new PhpDocTagNode( |
| 771 | + '@phpstan-all-methods-impure', |
| 772 | + new AllMethodsImpureTagValueNode( |
| 773 | + '', |
| 774 | + ), |
| 775 | + ), |
| 776 | + ]), |
| 777 | + ]; |
| 778 | + |
| 779 | + yield [ |
| 780 | + 'OK with description', |
| 781 | + '/** @phpstan-all-methods-impure test two three */', |
| 782 | + new PhpDocNode([ |
| 783 | + new PhpDocTagNode( |
| 784 | + '@phpstan-all-methods-impure', |
| 785 | + new AllMethodsImpureTagValueNode( |
| 786 | + 'test two three', |
| 787 | + ), |
| 788 | + ), |
| 789 | + ]), |
| 790 | + ]; |
| 791 | + } |
| 792 | + |
| 793 | + public function provideAllMethodsPureTagsData(): Iterator |
| 794 | + { |
| 795 | + yield [ |
| 796 | + 'OK', |
| 797 | + '/** @phpstan-all-methods-pure */', |
| 798 | + new PhpDocNode([ |
| 799 | + new PhpDocTagNode( |
| 800 | + '@phpstan-all-methods-pure', |
| 801 | + new AllMethodsPureTagValueNode( |
| 802 | + '', |
| 803 | + ), |
| 804 | + ), |
| 805 | + ]), |
| 806 | + ]; |
| 807 | + |
| 808 | + yield [ |
| 809 | + 'OK with description', |
| 810 | + '/** @phpstan-all-methods-pure test two three */', |
| 811 | + new PhpDocNode([ |
| 812 | + new PhpDocTagNode( |
| 813 | + '@phpstan-all-methods-pure', |
| 814 | + new AllMethodsPureTagValueNode( |
| 815 | + 'test two three', |
| 816 | + ), |
| 817 | + ), |
| 818 | + ]), |
| 819 | + ]; |
| 820 | + } |
| 821 | + |
760 | 822 | public function provideVarTagsData(): Iterator
|
761 | 823 | {
|
762 | 824 | yield [
|
|
0 commit comments