@@ -1773,6 +1773,69 @@ public function provideReturnTagsData(): Iterator
17731773 ),
17741774 ]),
17751775 ];
1776+
1777+ yield [
1778+ 'valid CallableTypeNode without space after "callable" ' ,
1779+ '/** @return callable(int, string): void */ ' ,
1780+ new PhpDocNode ([
1781+ new PhpDocTagNode (
1782+ '@return ' ,
1783+ new ReturnTagValueNode (
1784+ new CallableTypeNode (new IdentifierTypeNode ('callable ' ), [
1785+ new CallableTypeParameterNode (new IdentifierTypeNode ('int ' ), false , false , '' , false ),
1786+ new CallableTypeParameterNode (new IdentifierTypeNode ('string ' ), false , false , '' , false ),
1787+ ], new IdentifierTypeNode ('void ' ), []),
1788+ '' ,
1789+ ),
1790+ ),
1791+ ]),
1792+ ];
1793+
1794+ yield [
1795+ 'valid CallableTypeNode with space after "callable" ' ,
1796+ '/** @return callable (int, string): void */ ' ,
1797+ new PhpDocNode ([
1798+ new PhpDocTagNode (
1799+ '@return ' ,
1800+ new ReturnTagValueNode (
1801+ new CallableTypeNode (new IdentifierTypeNode ('callable ' ), [
1802+ new CallableTypeParameterNode (new IdentifierTypeNode ('int ' ), false , false , '' , false ),
1803+ new CallableTypeParameterNode (new IdentifierTypeNode ('string ' ), false , false , '' , false ),
1804+ ], new IdentifierTypeNode ('void ' ), []),
1805+ '' ,
1806+ ),
1807+ ),
1808+ ]),
1809+ ];
1810+
1811+ yield [
1812+ 'valid IdentifierTypeNode with space after "callable" turns the rest to description ' ,
1813+ '/** @return callable (int, string) */ ' ,
1814+ new PhpDocNode ([
1815+ new PhpDocTagNode (
1816+ '@return ' ,
1817+ new ReturnTagValueNode (new IdentifierTypeNode ('callable ' ), '(int, string) ' ),
1818+ ),
1819+ ]),
1820+ ];
1821+
1822+ yield [
1823+ 'invalid CallableTypeNode without space after "callable" ' ,
1824+ '/** @return callable(int, string) */ ' ,
1825+ new PhpDocNode ([
1826+ new PhpDocTagNode (
1827+ '@return ' ,
1828+ new InvalidTagValueNode ('callable(int, string) ' , new ParserException (
1829+ '( ' ,
1830+ 4 ,
1831+ 20 ,
1832+ 27 ,
1833+ null ,
1834+ 1 ,
1835+ )),
1836+ ),
1837+ ]),
1838+ ];
17761839 }
17771840
17781841
0 commit comments