Security update for Core, with self-updated composer
[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: Expr_Assign(
40         var: Expr_Variable(
41             name: a
42             comments: array(
43                 0: // simple assign
44             )
45         )
46         expr: Expr_Variable(
47             name: b
48         )
49         comments: array(
50             0: // simple assign
51         )
52     )
53     1: Expr_AssignOp_BitwiseAnd(
54         var: Expr_Variable(
55             name: a
56             comments: array(
57                 0: // combined assign
58             )
59         )
60         expr: Expr_Variable(
61             name: b
62         )
63         comments: array(
64             0: // combined assign
65         )
66     )
67     2: Expr_AssignOp_BitwiseOr(
68         var: Expr_Variable(
69             name: a
70         )
71         expr: Expr_Variable(
72             name: b
73         )
74     )
75     3: Expr_AssignOp_BitwiseXor(
76         var: Expr_Variable(
77             name: a
78         )
79         expr: Expr_Variable(
80             name: b
81         )
82     )
83     4: Expr_AssignOp_Concat(
84         var: Expr_Variable(
85             name: a
86         )
87         expr: Expr_Variable(
88             name: b
89         )
90     )
91     5: Expr_AssignOp_Div(
92         var: Expr_Variable(
93             name: a
94         )
95         expr: Expr_Variable(
96             name: b
97         )
98     )
99     6: Expr_AssignOp_Minus(
100         var: Expr_Variable(
101             name: a
102         )
103         expr: Expr_Variable(
104             name: b
105         )
106     )
107     7: Expr_AssignOp_Mod(
108         var: Expr_Variable(
109             name: a
110         )
111         expr: Expr_Variable(
112             name: b
113         )
114     )
115     8: Expr_AssignOp_Mul(
116         var: Expr_Variable(
117             name: a
118         )
119         expr: Expr_Variable(
120             name: b
121         )
122     )
123     9: Expr_AssignOp_Plus(
124         var: Expr_Variable(
125             name: a
126         )
127         expr: Expr_Variable(
128             name: b
129         )
130     )
131     10: Expr_AssignOp_ShiftLeft(
132         var: Expr_Variable(
133             name: a
134         )
135         expr: Expr_Variable(
136             name: b
137         )
138     )
139     11: Expr_AssignOp_ShiftRight(
140         var: Expr_Variable(
141             name: a
142         )
143         expr: Expr_Variable(
144             name: b
145         )
146     )
147     12: Expr_AssignOp_Pow(
148         var: Expr_Variable(
149             name: a
150         )
151         expr: Expr_Variable(
152             name: b
153         )
154     )
155     13: Expr_Assign(
156         var: Expr_Variable(
157             name: a
158             comments: array(
159                 0: // chained assign
160             )
161         )
162         expr: Expr_AssignOp_Mul(
163             var: Expr_Variable(
164                 name: b
165             )
166             expr: Expr_AssignOp_Pow(
167                 var: Expr_Variable(
168                     name: c
169                 )
170                 expr: Expr_Variable(
171                     name: d
172                 )
173             )
174         )
175         comments: array(
176             0: // chained assign
177         )
178     )
179     14: Expr_AssignRef(
180         var: Expr_Variable(
181             name: a
182             comments: array(
183                 0: // by ref assign
184             )
185         )
186         expr: Expr_Variable(
187             name: b
188         )
189         comments: array(
190             0: // by ref assign
191         )
192     )
193     15: Expr_Assign(
194         var: Expr_List(
195             items: array(
196                 0: Expr_ArrayItem(
197                     key: null
198                     value: Expr_Variable(
199                         name: a
200                     )
201                     byRef: false
202                 )
203             )
204             comments: array(
205                 0: // list() assign
206             )
207         )
208         expr: Expr_Variable(
209             name: b
210         )
211         comments: array(
212             0: // list() assign
213         )
214     )
215     16: Expr_Assign(
216         var: Expr_List(
217             items: array(
218                 0: Expr_ArrayItem(
219                     key: null
220                     value: Expr_Variable(
221                         name: a
222                     )
223                     byRef: false
224                 )
225                 1: null
226                 2: Expr_ArrayItem(
227                     key: null
228                     value: Expr_Variable(
229                         name: b
230                     )
231                     byRef: false
232                 )
233             )
234         )
235         expr: Expr_Variable(
236             name: c
237         )
238     )
239     17: Expr_Assign(
240         var: Expr_List(
241             items: array(
242                 0: Expr_ArrayItem(
243                     key: null
244                     value: Expr_Variable(
245                         name: a
246                     )
247                     byRef: false
248                 )
249                 1: Expr_ArrayItem(
250                     key: null
251                     value: Expr_List(
252                         items: array(
253                             0: null
254                             1: Expr_ArrayItem(
255                                 key: null
256                                 value: Expr_Variable(
257                                     name: c
258                                 )
259                                 byRef: false
260                             )
261                         )
262                     )
263                     byRef: false
264                 )
265                 2: Expr_ArrayItem(
266                     key: null
267                     value: Expr_Variable(
268                         name: d
269                     )
270                     byRef: false
271                 )
272             )
273         )
274         expr: Expr_Variable(
275             name: e
276         )
277     )
278     18: Expr_PreInc(
279         var: Expr_Variable(
280             name: a
281         )
282         comments: array(
283             0: // inc/dec
284         )
285     )
286     19: Expr_PostInc(
287         var: Expr_Variable(
288             name: a
289         )
290     )
291     20: Expr_PreDec(
292         var: Expr_Variable(
293             name: a
294         )
295     )
296     21: Expr_PostDec(
297         var: Expr_Variable(
298             name: a
299         )
300     )
301 )