@@ -44,206 +44,206 @@ public function testIsReference($identifier, $expected)
4444 *
4545 * @see testIsReference()
4646 *
47- * @return array
47+ * @return array<string, array<string, string|bool>>
4848 */
4949 public function dataIsReference ()
5050 {
5151 return [
52- [
53- '/* testBitwiseAndA */ ' ,
54- false ,
52+ ' bitwise and: param in function call ' => [
53+ 'testMarker ' => ' /* testBitwiseAndA */ ' ,
54+ ' expected ' => false ,
5555 ],
56- [
57- '/* testBitwiseAndB */ ' ,
58- false ,
56+ ' bitwise and: in unkeyed short array, first value ' => [
57+ 'testMarker ' => ' /* testBitwiseAndB */ ' ,
58+ ' expected ' => false ,
5959 ],
60- [
61- '/* testBitwiseAndC */ ' ,
62- false ,
60+ ' bitwise and: in unkeyed short array, last value ' => [
61+ 'testMarker ' => ' /* testBitwiseAndC */ ' ,
62+ ' expected ' => false ,
6363 ],
64- [
65- '/* testBitwiseAndD */ ' ,
66- false ,
64+ ' bitwise and: in unkeyed long array, last value ' => [
65+ 'testMarker ' => ' /* testBitwiseAndD */ ' ,
66+ ' expected ' => false ,
6767 ],
68- [
69- '/* testBitwiseAndE */ ' ,
70- false ,
68+ ' bitwise and: in keyed short array, last value ' => [
69+ 'testMarker ' => ' /* testBitwiseAndE */ ' ,
70+ ' expected ' => false ,
7171 ],
72- [
73- '/* testBitwiseAndF */ ' ,
74- false ,
72+ ' bitwise and: in keyed long array, last value ' => [
73+ 'testMarker ' => ' /* testBitwiseAndF */ ' ,
74+ ' expected ' => false ,
7575 ],
76- [
77- '/* testBitwiseAndG */ ' ,
78- false ,
76+ ' bitwise and: in assignment ' => [
77+ 'testMarker ' => ' /* testBitwiseAndG */ ' ,
78+ ' expected ' => false ,
7979 ],
80- [
81- '/* testBitwiseAndH */ ' ,
82- false ,
80+ ' bitwise and: in param default value in function declaration ' => [
81+ 'testMarker ' => ' /* testBitwiseAndH */ ' ,
82+ ' expected ' => false ,
8383 ],
84- [
85- '/* testBitwiseAndI */ ' ,
86- false ,
84+ ' bitwise and: in param default value in closure declaration ' => [
85+ 'testMarker ' => ' /* testBitwiseAndI */ ' ,
86+ ' expected ' => false ,
8787 ],
88- [
89- '/* testFunctionReturnByReference */ ' ,
90- true ,
88+ ' reference: function declared to return by reference ' => [
89+ 'testMarker ' => ' /* testFunctionReturnByReference */ ' ,
90+ ' expected ' => true ,
9191 ],
92- [
93- '/* testFunctionPassByReferenceA */ ' ,
94- true ,
92+ ' reference: only param in function declaration, pass by reference ' => [
93+ 'testMarker ' => ' /* testFunctionPassByReferenceA */ ' ,
94+ ' expected ' => true ,
9595 ],
96- [
97- '/* testFunctionPassByReferenceB */ ' ,
98- true ,
96+ ' reference: last param in function declaration, pass by reference ' => [
97+ 'testMarker ' => ' /* testFunctionPassByReferenceB */ ' ,
98+ ' expected ' => true ,
9999 ],
100- [
101- '/* testFunctionPassByReferenceC */ ' ,
102- true ,
100+ ' reference: only param in closure declaration, pass by reference ' => [
101+ 'testMarker ' => ' /* testFunctionPassByReferenceC */ ' ,
102+ ' expected ' => true ,
103103 ],
104- [
105- '/* testFunctionPassByReferenceD */ ' ,
106- true ,
104+ ' reference: last param in closure declaration, pass by reference ' => [
105+ 'testMarker ' => ' /* testFunctionPassByReferenceD */ ' ,
106+ ' expected ' => true ,
107107 ],
108- [
109- '/* testFunctionPassByReferenceE */ ' ,
110- true ,
108+ ' reference: typed param in function declaration, pass by reference ' => [
109+ 'testMarker ' => ' /* testFunctionPassByReferenceE */ ' ,
110+ ' expected ' => true ,
111111 ],
112- [
113- '/* testFunctionPassByReferenceF */ ' ,
114- true ,
112+ ' reference: typed param in closure declaration, pass by reference ' => [
113+ 'testMarker ' => ' /* testFunctionPassByReferenceF */ ' ,
114+ ' expected ' => true ,
115115 ],
116- [
117- '/* testFunctionPassByReferenceG */ ' ,
118- true ,
116+ ' reference: variadic param in function declaration, pass by reference ' => [
117+ 'testMarker ' => ' /* testFunctionPassByReferenceG */ ' ,
118+ ' expected ' => true ,
119119 ],
120- [
121- '/* testForeachValueByReference */ ' ,
122- true ,
120+ ' reference: foreach value ' => [
121+ 'testMarker ' => ' /* testForeachValueByReference */ ' ,
122+ ' expected ' => true ,
123123 ],
124- [
125- '/* testForeachKeyByReference */ ' ,
126- true ,
124+ ' reference: foreach key ' => [
125+ 'testMarker ' => ' /* testForeachKeyByReference */ ' ,
126+ ' expected ' => true ,
127127 ],
128- [
129- '/* testArrayValueByReferenceA */ ' ,
130- true ,
128+ ' reference: keyed short array, first value, value by reference ' => [
129+ 'testMarker ' => ' /* testArrayValueByReferenceA */ ' ,
130+ ' expected ' => true ,
131131 ],
132- [
133- '/* testArrayValueByReferenceB */ ' ,
134- true ,
132+ ' reference: keyed short array, last value, value by reference ' => [
133+ 'testMarker ' => ' /* testArrayValueByReferenceB */ ' ,
134+ ' expected ' => true ,
135135 ],
136- [
137- '/* testArrayValueByReferenceC */ ' ,
138- true ,
136+ ' reference: unkeyed short array, only value, value by reference ' => [
137+ 'testMarker ' => ' /* testArrayValueByReferenceC */ ' ,
138+ ' expected ' => true ,
139139 ],
140- [
141- '/* testArrayValueByReferenceD */ ' ,
142- true ,
140+ ' reference: unkeyed short array, last value, value by reference ' => [
141+ 'testMarker ' => ' /* testArrayValueByReferenceD */ ' ,
142+ ' expected ' => true ,
143143 ],
144- [
145- '/* testArrayValueByReferenceE */ ' ,
146- true ,
144+ ' reference: keyed long array, first value, value by reference ' => [
145+ 'testMarker ' => ' /* testArrayValueByReferenceE */ ' ,
146+ ' expected ' => true ,
147147 ],
148- [
149- '/* testArrayValueByReferenceF */ ' ,
150- true ,
148+ ' reference: keyed long array, last value, value by reference ' => [
149+ 'testMarker ' => ' /* testArrayValueByReferenceF */ ' ,
150+ ' expected ' => true ,
151151 ],
152- [
153- '/* testArrayValueByReferenceG */ ' ,
154- true ,
152+ ' reference: unkeyed long array, only value, value by reference ' => [
153+ 'testMarker ' => ' /* testArrayValueByReferenceG */ ' ,
154+ ' expected ' => true ,
155155 ],
156- [
157- '/* testArrayValueByReferenceH */ ' ,
158- true ,
156+ ' reference: unkeyed long array, last value, value by reference ' => [
157+ 'testMarker ' => ' /* testArrayValueByReferenceH */ ' ,
158+ ' expected ' => true ,
159159 ],
160- [
161- '/* testAssignByReferenceA */ ' ,
162- true ,
160+ ' reference: variable, assign by reference ' => [
161+ 'testMarker ' => ' /* testAssignByReferenceA */ ' ,
162+ ' expected ' => true ,
163163 ],
164- [
165- '/* testAssignByReferenceB */ ' ,
166- true ,
164+ ' reference: variable, assign by reference, spacing variation ' => [
165+ 'testMarker ' => ' /* testAssignByReferenceB */ ' ,
166+ ' expected ' => true ,
167167 ],
168- [
169- '/* testAssignByReferenceC */ ' ,
170- true ,
168+ ' reference: variable, assign by reference, concat assign ' => [
169+ 'testMarker ' => ' /* testAssignByReferenceC */ ' ,
170+ ' expected ' => true ,
171171 ],
172- [
173- '/* testAssignByReferenceD */ ' ,
174- true ,
172+ ' reference: property, assign by reference ' => [
173+ 'testMarker ' => ' /* testAssignByReferenceD */ ' ,
174+ ' expected ' => true ,
175175 ],
176- [
177- '/* testAssignByReferenceE */ ' ,
178- true ,
176+ ' reference: function return value, assign by reference ' => [
177+ 'testMarker ' => ' /* testAssignByReferenceE */ ' ,
178+ ' expected ' => true ,
179179 ],
180- [
181- '/* testPassByReferenceA */ ' ,
182- true ,
180+ ' reference: first param in function call, pass by reference ' => [
181+ 'testMarker ' => ' /* testPassByReferenceA */ ' ,
182+ ' expected ' => true ,
183183 ],
184- [
185- '/* testPassByReferenceB */ ' ,
186- true ,
184+ ' reference: last param in function call, pass by reference ' => [
185+ 'testMarker ' => ' /* testPassByReferenceB */ ' ,
186+ ' expected ' => true ,
187187 ],
188- [
189- '/* testPassByReferenceC */ ' ,
190- true ,
188+ ' reference: property in function call, pass by reference ' => [
189+ 'testMarker ' => ' /* testPassByReferenceC */ ' ,
190+ ' expected ' => true ,
191191 ],
192- [
193- '/* testPassByReferenceD */ ' ,
194- true ,
192+ ' reference: hierarchical self property in function call, pass by reference ' => [
193+ 'testMarker ' => ' /* testPassByReferenceD */ ' ,
194+ ' expected ' => true ,
195195 ],
196- [
197- '/* testPassByReferenceE */ ' ,
198- true ,
196+ ' reference: hierarchical parent property in function call, pass by reference ' => [
197+ 'testMarker ' => ' /* testPassByReferenceE */ ' ,
198+ ' expected ' => true ,
199199 ],
200- [
201- '/* testPassByReferenceF */ ' ,
202- true ,
200+ ' reference: hierarchical static property in function call, pass by reference ' => [
201+ 'testMarker ' => ' /* testPassByReferenceF */ ' ,
202+ ' expected ' => true ,
203203 ],
204- [
205- '/* testPassByReferenceG */ ' ,
206- true ,
204+ ' reference: static property in function call, pass by reference ' => [
205+ 'testMarker ' => ' /* testPassByReferenceG */ ' ,
206+ ' expected ' => true ,
207207 ],
208- [
209- '/* testPassByReferenceH */ ' ,
210- true ,
208+ ' reference: static property in function call, first with FQN, pass by reference ' => [
209+ 'testMarker ' => ' /* testPassByReferenceH */ ' ,
210+ ' expected ' => true ,
211211 ],
212- [
213- '/* testPassByReferenceI */ ' ,
214- true ,
212+ ' reference: static property in function call, last with FQN, pass by reference ' => [
213+ 'testMarker ' => ' /* testPassByReferenceI */ ' ,
214+ ' expected ' => true ,
215215 ],
216- [
217- '/* testPassByReferenceJ */ ' ,
218- true ,
216+ ' reference: static property in function call, last with namespace relative name, pass by reference ' => [
217+ 'testMarker ' => ' /* testPassByReferenceJ */ ' ,
218+ ' expected ' => true ,
219219 ],
220- [
221- '/* testNewByReferenceA */ ' ,
222- true ,
220+ ' reference: new by reference ' => [
221+ 'testMarker ' => ' /* testNewByReferenceA */ ' ,
222+ ' expected ' => true ,
223223 ],
224- [
225- '/* testNewByReferenceB */ ' ,
226- true ,
224+ ' reference: new by reference as function call param ' => [
225+ 'testMarker ' => ' /* testNewByReferenceB */ ' ,
226+ ' expected ' => true ,
227227 ],
228- [
229- '/* testUseByReference */ ' ,
230- true ,
228+ ' reference: closure use by reference ' => [
229+ 'testMarker ' => ' /* testUseByReference */ ' ,
230+ ' expected ' => true ,
231231 ],
232- [
233- '/* testArrowFunctionReturnByReference */ ' ,
234- true ,
232+ ' reference: arrow fn declared to return by reference ' => [
233+ 'testMarker ' => ' /* testArrowFunctionReturnByReference */ ' ,
234+ ' expected ' => true ,
235235 ],
236- [
237- '/* testArrowFunctionPassByReferenceA */ ' ,
238- true ,
236+ ' reference: typed param in arrow fn declaration, pass by reference ' => [
237+ 'testMarker ' => ' /* testArrowFunctionPassByReferenceA */ ' ,
238+ ' expected ' => true ,
239239 ],
240- [
241- '/* testArrowFunctionPassByReferenceB */ ' ,
242- true ,
240+ ' reference: variadic param in arrow fn declaration, pass by reference ' => [
241+ 'testMarker ' => ' /* testArrowFunctionPassByReferenceB */ ' ,
242+ ' expected ' => true ,
243243 ],
244- [
245- '/* testClosureReturnByReference */ ' ,
246- true ,
244+ ' reference: closure declared to return by reference ' => [
245+ 'testMarker ' => ' /* testClosureReturnByReference */ ' ,
246+ ' expected ' => true ,
247247 ],
248248 ];
249249
0 commit comments