33335f89d247064073f4d457d6982c4b71186981
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / expr / assign.test
1 Assignments
2 -----
3 <?php
4 // simple assign
5 $a = $b;
6
7 // combined assign
8 $a &= $b;
9 $a |= $b;
10 $a ^= $b;
11 $a .= $b;
12 $a /= $b;
13 $a -= $b;
14 $a %= $b;
15 $a *= $b;
16 $a += $b;
17 $a <<= $b;
18 $a >>= $b;
19 $a **= $b;
20
21 // chained assign
22 $a = $b *= $c **= $d;
23
24 // by ref assign
25 $a =& $b;
26
27 // list() assign
28 list($a) = $b;
29 list($a, , $b) = $c;
30 list($a, list(, $c), $d) = $e;
31
32 // inc/dec
33 ++$a;
34 $a++;
35 --$a;
36 $a--;
37 -----
38 array(
39     0: Stmt_Expression(
40         expr: Expr_Assign(
41             var: Expr_Variable(
42                 name: a
43                 comments: array(
44                     0: // simple assign
45                 )
46             )
47             expr: Expr_Variable(
48                 name: b
49             )
50             comments: array(
51                 0: // simple assign
52             )
53         )
54         comments: array(
55             0: // simple assign
56         )
57     )
58     1: Stmt_Expression(
59         expr: Expr_AssignOp_BitwiseAnd(
60             var: Expr_Variable(
61                 name: a
62                 comments: array(
63                     0: // combined assign
64                 )
65             )
66             expr: Expr_Variable(
67                 name: b
68             )
69             comments: array(
70                 0: // combined assign
71             )
72         )
73         comments: array(
74             0: // combined assign
75         )
76     )
77     2: Stmt_Expression(
78         expr: Expr_AssignOp_BitwiseOr(
79             var: Expr_Variable(
80                 name: a
81             )
82             expr: Expr_Variable(
83                 name: b
84             )
85         )
86     )
87     3: Stmt_Expression(
88         expr: Expr_AssignOp_BitwiseXor(
89             var: Expr_Variable(
90                 name: a
91             )
92             expr: Expr_Variable(
93                 name: b
94             )
95         )
96     )
97     4: Stmt_Expression(
98         expr: Expr_AssignOp_Concat(
99             var: Expr_Variable(
100                 name: a
101             )
102             expr: Expr_Variable(
103                 name: b
104             )
105         )
106     )
107     5: Stmt_Expression(
108         expr: Expr_AssignOp_Div(
109             var: Expr_Variable(
110                 name: a
111             )
112             expr: Expr_Variable(
113                 name: b
114             )
115         )
116     )
117     6: Stmt_Expression(
118         expr: Expr_AssignOp_Minus(
119             var: Expr_Variable(
120                 name: a
121             )
122             expr: Expr_Variable(
123                 name: b
124             )
125         )
126     )
127     7: Stmt_Expression(
128         expr: Expr_AssignOp_Mod(
129             var: Expr_Variable(
130                 name: a
131             )
132             expr: Expr_Variable(
133                 name: b
134             )
135         )
136     )
137     8: Stmt_Expression(
138         expr: Expr_AssignOp_Mul(
139             var: Expr_Variable(
140                 name: a
141             )
142             expr: Expr_Variable(
143                 name: b
144             )
145         )
146     )
147     9: Stmt_Expression(
148         expr: Expr_AssignOp_Plus(
149             var: Expr_Variable(
150                 name: a
151             )
152             expr: Expr_Variable(
153                 name: b
154             )
155         )
156     )
157     10: Stmt_Expression(
158         expr: Expr_AssignOp_ShiftLeft(
159             var: Expr_Variable(
160                 name: a
161             )
162             expr: Expr_Variable(
163                 name: b
164             )
165         )
166     )
167     11: Stmt_Expression(
168         expr: Expr_AssignOp_ShiftRight(
169             var: Expr_Variable(
170                 name: a
171             )
172             expr: Expr_Variable(
173                 name: b
174             )
175         )
176     )
177     12: Stmt_Expression(
178         expr: Expr_AssignOp_Pow(
179             var: Expr_Variable(
180                 name: a
181             )
182             expr: Expr_Variable(
183                 name: b
184             )
185         )
186     )
187     13: Stmt_Expression(
188         expr: Expr_Assign(
189             var: Expr_Variable(
190                 name: a
191                 comments: array(
192                     0: // chained assign
193                 )
194             )
195             expr: Expr_AssignOp_Mul(
196                 var: Expr_Variable(
197                     name: b
198                 )
199                 expr: Expr_AssignOp_Pow(
200                     var: Expr_Variable(
201                         name: c
202                     )
203                     expr: Expr_Variable(
204                         name: d
205                     )
206                 )
207             )
208             comments: array(
209                 0: // chained assign
210             )
211         )
212         comments: array(
213             0: // chained assign
214         )
215     )
216     14: Stmt_Expression(
217         expr: Expr_AssignRef(
218             var: Expr_Variable(
219                 name: a
220                 comments: array(
221                     0: // by ref assign
222                 )
223             )
224             expr: Expr_Variable(
225                 name: b
226             )
227             comments: array(
228                 0: // by ref assign
229             )
230         )
231         comments: array(
232             0: // by ref assign
233         )
234     )
235     15: Stmt_Expression(
236         expr: Expr_Assign(
237             var: Expr_List(
238                 items: array(
239                     0: Expr_ArrayItem(
240                         key: null
241                         value: Expr_Variable(
242                             name: a
243                         )
244                         byRef: false
245                     )
246                 )
247                 comments: array(
248                     0: // list() assign
249                 )
250             )
251             expr: Expr_Variable(
252                 name: b
253             )
254             comments: array(
255                 0: // list() assign
256             )
257         )
258         comments: array(
259             0: // list() assign
260         )
261     )
262     16: Stmt_Expression(
263         expr: Expr_Assign(
264             var: Expr_List(
265                 items: array(
266                     0: Expr_ArrayItem(
267                         key: null
268                         value: Expr_Variable(
269                             name: a
270                         )
271                         byRef: false
272                     )
273                     1: null
274                     2: Expr_ArrayItem(
275                         key: null
276                         value: Expr_Variable(
277                             name: b
278                         )
279                         byRef: false
280                     )
281                 )
282             )
283             expr: Expr_Variable(
284                 name: c
285             )
286         )
287     )
288     17: Stmt_Expression(
289         expr: Expr_Assign(
290             var: Expr_List(
291                 items: array(
292                     0: Expr_ArrayItem(
293                         key: null
294                         value: Expr_Variable(
295                             name: a
296                         )
297                         byRef: false
298                     )
299                     1: Expr_ArrayItem(
300                         key: null
301                         value: Expr_List(
302                             items: array(
303                                 0: null
304                                 1: Expr_ArrayItem(
305                                     key: null
306                                     value: Expr_Variable(
307                                         name: c
308                                     )
309                                     byRef: false
310                                 )
311                             )
312                         )
313                         byRef: false
314                     )
315                     2: Expr_ArrayItem(
316                         key: null
317                         value: Expr_Variable(
318                             name: d
319                         )
320                         byRef: false
321                     )
322                 )
323             )
324             expr: Expr_Variable(
325                 name: e
326             )
327         )
328     )
329     18: Stmt_Expression(
330         expr: Expr_PreInc(
331             var: Expr_Variable(
332                 name: a
333             )
334             comments: array(
335                 0: // inc/dec
336             )
337         )
338         comments: array(
339             0: // inc/dec
340         )
341     )
342     19: Stmt_Expression(
343         expr: Expr_PostInc(
344             var: Expr_Variable(
345                 name: a
346             )
347         )
348     )
349     20: Stmt_Expression(
350         expr: Expr_PreDec(
351             var: Expr_Variable(
352                 name: a
353             )
354         )
355     )
356     21: Stmt_Expression(
357         expr: Expr_PostDec(
358             var: Expr_Variable(
359                 name: a
360             )
361         )
362     )
363 )