@@ -1310,6 +1310,58 @@ public function provideReturnTagsData(): Iterator
13101310 ),
13111311 ]),
13121312 ];
1313+
1314+ yield [
1315+ 'OK variadic callable ' ,
1316+ '/** @return \Closure(int ...$u, string): string */ ' ,
1317+ new PhpDocNode ([
1318+ new PhpDocTagNode (
1319+ '@return ' ,
1320+ new ReturnTagValueNode (
1321+ new CallableTypeNode (
1322+ new IdentifierTypeNode ('\Closure ' ),
1323+ [
1324+ new CallableTypeParameterNode (
1325+ new IdentifierTypeNode ('int ' ),
1326+ false ,
1327+ true ,
1328+ '$u ' ,
1329+ false
1330+ ),
1331+ new CallableTypeParameterNode (
1332+ new IdentifierTypeNode ('string ' ),
1333+ false ,
1334+ false ,
1335+ '' ,
1336+ false
1337+ ),
1338+ ],
1339+ new IdentifierTypeNode ('string ' )
1340+ ),
1341+ ''
1342+ )
1343+ ),
1344+ ]),
1345+ ];
1346+
1347+ yield [
1348+ 'invalid variadic callable ' ,
1349+ '/** @return \Closure(...int, string): string */ ' ,
1350+ new PhpDocNode ([
1351+ new PhpDocTagNode (
1352+ '@return ' ,
1353+ new InvalidTagValueNode (
1354+ '\Closure(...int, string): string ' ,
1355+ new ParserException (
1356+ '( ' ,
1357+ Lexer::TOKEN_OPEN_PARENTHESES ,
1358+ 20 ,
1359+ Lexer::TOKEN_HORIZONTAL_WS
1360+ )
1361+ )
1362+ ),
1363+ ]),
1364+ ];
13131365 }
13141366
13151367
@@ -2104,10 +2156,14 @@ public function provideSingleLinePhpDocData(): Iterator
21042156 new PhpDocNode ([
21052157 new PhpDocTagNode (
21062158 '@var ' ,
2107- new VarTagValueNode (
2108- new IdentifierTypeNode ('callable ' ),
2109- '' ,
2110- '(int) '
2159+ new InvalidTagValueNode (
2160+ 'callable(int) ' ,
2161+ new ParserException (
2162+ '( ' ,
2163+ Lexer::TOKEN_OPEN_PARENTHESES ,
2164+ 17 ,
2165+ Lexer::TOKEN_HORIZONTAL_WS
2166+ )
21112167 )
21122168 ),
21132169 ]),
@@ -4076,14 +4132,14 @@ public function provideDescriptionWithOrWithoutHtml(): Iterator
40764132 new PhpDocNode ([
40774133 new PhpDocTagNode (
40784134 '@return ' ,
4079- new ReturnTagValueNode (
4080- new GenericTypeNode (
4081- new IdentifierTypeNode ( ' Foo ' ),
4082- [
4083- new IdentifierTypeNode ( ' strong ' ) ,
4084- ]
4085- ),
4086- ' Important description '
4135+ new InvalidTagValueNode (
4136+ ' Foo <strong>Important description ' ,
4137+ new ParserException (
4138+ ' Important ' ,
4139+ Lexer:: TOKEN_IDENTIFIER ,
4140+ 27 ,
4141+ Lexer:: TOKEN_HORIZONTAL_WS
4142+ )
40874143 )
40884144 ),
40894145 ]),
0 commit comments