@@ -99,6 +99,7 @@ public function provideParamTagsData(): \Iterator
9999 new ParamTagValueNode (
100100 new IdentifierTypeNode ('Foo ' ),
101101 false ,
102+ false ,
102103 '$foo ' ,
103104 ''
104105 )
@@ -115,6 +116,7 @@ public function provideParamTagsData(): \Iterator
115116 new ParamTagValueNode (
116117 new IdentifierTypeNode ('Foo ' ),
117118 false ,
119+ false ,
118120 '$foo ' ,
119121 'optional description '
120122 )
@@ -130,6 +132,7 @@ public function provideParamTagsData(): \Iterator
130132 '@param ' ,
131133 new ParamTagValueNode (
132134 new IdentifierTypeNode ('Foo ' ),
135+ false ,
133136 true ,
134137 '$foo ' ,
135138 ''
@@ -146,6 +149,75 @@ public function provideParamTagsData(): \Iterator
146149 '@param ' ,
147150 new ParamTagValueNode (
148151 new IdentifierTypeNode ('Foo ' ),
152+ false ,
153+ true ,
154+ '$foo ' ,
155+ 'optional description '
156+ )
157+ ),
158+ ]),
159+ ];
160+
161+ yield [
162+ 'OK reference without description ' ,
163+ '/** @param Foo &$foo */ ' ,
164+ new PhpDocNode ([
165+ new PhpDocTagNode (
166+ '@param ' ,
167+ new ParamTagValueNode (
168+ new IdentifierTypeNode ('Foo ' ),
169+ true ,
170+ false ,
171+ '$foo ' ,
172+ ''
173+ )
174+ ),
175+ ]),
176+ ];
177+
178+ yield [
179+ 'OK reference with description ' ,
180+ '/** @param Foo &$foo optional description */ ' ,
181+ new PhpDocNode ([
182+ new PhpDocTagNode (
183+ '@param ' ,
184+ new ParamTagValueNode (
185+ new IdentifierTypeNode ('Foo ' ),
186+ true ,
187+ false ,
188+ '$foo ' ,
189+ 'optional description '
190+ )
191+ ),
192+ ]),
193+ ];
194+
195+ yield [
196+ 'OK reference variadic without description ' ,
197+ '/** @param Foo &...$foo */ ' ,
198+ new PhpDocNode ([
199+ new PhpDocTagNode (
200+ '@param ' ,
201+ new ParamTagValueNode (
202+ new IdentifierTypeNode ('Foo ' ),
203+ true ,
204+ true ,
205+ '$foo ' ,
206+ ''
207+ )
208+ ),
209+ ]),
210+ ];
211+
212+ yield [
213+ 'OK reference variadic with description ' ,
214+ '/** @param Foo &...$foo optional description */ ' ,
215+ new PhpDocNode ([
216+ new PhpDocTagNode (
217+ '@param ' ,
218+ new ParamTagValueNode (
219+ new IdentifierTypeNode ('Foo ' ),
220+ true ,
149221 true ,
150222 '$foo ' ,
151223 'optional description '
@@ -1827,6 +1899,7 @@ public function provideMultiLinePhpDocData(): array
18271899 new ParamTagValueNode (
18281900 new IdentifierTypeNode ('Foo ' ),
18291901 false ,
1902+ false ,
18301903 '$foo ' ,
18311904 '1st multi world description '
18321905 )
@@ -1836,6 +1909,7 @@ public function provideMultiLinePhpDocData(): array
18361909 new ParamTagValueNode (
18371910 new IdentifierTypeNode ('Bar ' ),
18381911 false ,
1912+ false ,
18391913 '$bar ' ,
18401914 '2nd multi world description '
18411915 )
@@ -1855,6 +1929,7 @@ public function provideMultiLinePhpDocData(): array
18551929 new ParamTagValueNode (
18561930 new IdentifierTypeNode ('Foo ' ),
18571931 false ,
1932+ false ,
18581933 '$foo ' ,
18591934 '1st multi world description
18601935some text in the middle '
@@ -1865,6 +1940,7 @@ public function provideMultiLinePhpDocData(): array
18651940 new ParamTagValueNode (
18661941 new IdentifierTypeNode ('Bar ' ),
18671942 false ,
1943+ false ,
18681944 '$bar ' ,
18691945 '2nd multi world description '
18701946 )
@@ -1895,6 +1971,7 @@ public function provideMultiLinePhpDocData(): array
18951971 new ParamTagValueNode (
18961972 new IdentifierTypeNode ('Foo ' ),
18971973 false ,
1974+ false ,
18981975 '$foo ' ,
18991976 '1st multi world description with empty lines '
19001977 )
@@ -1909,6 +1986,7 @@ public function provideMultiLinePhpDocData(): array
19091986 new ParamTagValueNode (
19101987 new IdentifierTypeNode ('Bar ' ),
19111988 false ,
1989+ false ,
19121990 '$bar ' ,
19131991 '2nd multi world description with empty lines '
19141992 )
@@ -1942,6 +2020,7 @@ public function provideMultiLinePhpDocData(): array
19422020 new ParamTagValueNode (
19432021 new IdentifierTypeNode ('int ' ),
19442022 false ,
2023+ false ,
19452024 '$foo ' ,
19462025 '@param string $bar '
19472026 )
@@ -2857,6 +2936,7 @@ public function provideExtendsTagsData(): \Iterator
28572936 new ParamTagValueNode (
28582937 new IdentifierTypeNode ('class-string ' ),
28592938 false ,
2939+ false ,
28602940 '$test ' ,
28612941 ''
28622942 )
@@ -2873,6 +2953,7 @@ public function provideExtendsTagsData(): \Iterator
28732953 new ParamTagValueNode (
28742954 new IdentifierTypeNode ('class-string ' ),
28752955 false ,
2956+ false ,
28762957 '$test ' ,
28772958 'some description '
28782959 )
@@ -3166,6 +3247,7 @@ public function provideRealWorldExampleData(): \Iterator
31663247 new ParamTagValueNode (
31673248 new IdentifierTypeNode ('\Drupal\Core\Field\FieldStorageDefinitionInterface ' ),
31683249 false ,
3250+ false ,
31693251 '$field_definition ' ,
31703252 ''
31713253 )
@@ -3243,6 +3325,7 @@ public function provideRealWorldExampleData(): \Iterator
32433325 new ParamTagValueNode (
32443326 new IdentifierTypeNode ('Request ' ),
32453327 false ,
3328+ false ,
32463329 '$request ' ,
32473330 '- The request object '
32483331 )
@@ -3463,6 +3546,7 @@ public function dataParseTagValue(): array
34633546 new ParamTagValueNode (
34643547 new ConstTypeNode (new ConstFetchNode ('DateTimeImmutable ' , 'ATOM ' )),
34653548 false ,
3549+ false ,
34663550 '$a ' ,
34673551 ''
34683552 ),
0 commit comments