3e7a23ef0d9967e5000738b9909db8f343e107d9
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / expr / constant_expr.test
1 Expressions in static scalar context
2 -----
3 <?php
4
5 const T_1 = 1 << 1;
6 const T_2 = 1 / 2;
7 const T_3 = 1.5 + 1.5;
8 const T_4 = "foo" . "bar";
9 const T_5 = (1.5 + 1.5) * 2;
10 const T_6 = "foo" . 2 . 3 . 4.0;
11 const T_7 = __LINE__;
12 const T_8 = <<<ENDOFSTRING
13 This is a test string
14 ENDOFSTRING;
15 const T_9 = ~-1;
16 const T_10 = (-1?:1) + (0?2:3);
17 const T_11 = 1 && 0;
18 const T_12 = 1 and 1;
19 const T_13 = 0 || 0;
20 const T_14 = 1 or 0;
21 const T_15 = 1 xor 1;
22 const T_16 = 1 xor 0;
23 const T_17 = 1 < 0;
24 const T_18 = 0 <= 0;
25 const T_19 = 1 > 0;
26 const T_20 = 1 >= 0;
27 const T_21 = 1 === 1;
28 const T_22 = 1 !== 1;
29 const T_23 = 0 != "0";
30 const T_24 = 1 == "1";
31 const T_25 = 1 + 2 * 3;
32 const T_26 = "1" + 2 + "3";
33 const T_27 = 2 ** 3;
34 const T_28 = [1, 2, 3][1];
35 const T_29 = 12 - 13;
36 const T_30 = 12 ^ 13;
37 const T_31 = 12 & 13;
38 const T_32 = 12 | 13;
39 const T_33 = 12 % 3;
40 const T_34 = 100 >> 4;
41 const T_35 = !false;
42 -----
43 array(
44     0: Stmt_Const(
45         consts: array(
46             0: Const(
47                 name: T_1
48                 value: Expr_BinaryOp_ShiftLeft(
49                     left: Scalar_LNumber(
50                         value: 1
51                     )
52                     right: Scalar_LNumber(
53                         value: 1
54                     )
55                 )
56             )
57         )
58     )
59     1: Stmt_Const(
60         consts: array(
61             0: Const(
62                 name: T_2
63                 value: Expr_BinaryOp_Div(
64                     left: Scalar_LNumber(
65                         value: 1
66                     )
67                     right: Scalar_LNumber(
68                         value: 2
69                     )
70                 )
71             )
72         )
73     )
74     2: Stmt_Const(
75         consts: array(
76             0: Const(
77                 name: T_3
78                 value: Expr_BinaryOp_Plus(
79                     left: Scalar_DNumber(
80                         value: 1.5
81                     )
82                     right: Scalar_DNumber(
83                         value: 1.5
84                     )
85                 )
86             )
87         )
88     )
89     3: Stmt_Const(
90         consts: array(
91             0: Const(
92                 name: T_4
93                 value: Expr_BinaryOp_Concat(
94                     left: Scalar_String(
95                         value: foo
96                     )
97                     right: Scalar_String(
98                         value: bar
99                     )
100                 )
101             )
102         )
103     )
104     4: Stmt_Const(
105         consts: array(
106             0: Const(
107                 name: T_5
108                 value: Expr_BinaryOp_Mul(
109                     left: Expr_BinaryOp_Plus(
110                         left: Scalar_DNumber(
111                             value: 1.5
112                         )
113                         right: Scalar_DNumber(
114                             value: 1.5
115                         )
116                     )
117                     right: Scalar_LNumber(
118                         value: 2
119                     )
120                 )
121             )
122         )
123     )
124     5: Stmt_Const(
125         consts: array(
126             0: Const(
127                 name: T_6
128                 value: Expr_BinaryOp_Concat(
129                     left: Expr_BinaryOp_Concat(
130                         left: Expr_BinaryOp_Concat(
131                             left: Scalar_String(
132                                 value: foo
133                             )
134                             right: Scalar_LNumber(
135                                 value: 2
136                             )
137                         )
138                         right: Scalar_LNumber(
139                             value: 3
140                         )
141                     )
142                     right: Scalar_DNumber(
143                         value: 4
144                     )
145                 )
146             )
147         )
148     )
149     6: Stmt_Const(
150         consts: array(
151             0: Const(
152                 name: T_7
153                 value: Scalar_MagicConst_Line(
154                 )
155             )
156         )
157     )
158     7: Stmt_Const(
159         consts: array(
160             0: Const(
161                 name: T_8
162                 value: Scalar_String(
163                     value: This is a test string
164                 )
165             )
166         )
167     )
168     8: Stmt_Const(
169         consts: array(
170             0: Const(
171                 name: T_9
172                 value: Expr_BitwiseNot(
173                     expr: Expr_UnaryMinus(
174                         expr: Scalar_LNumber(
175                             value: 1
176                         )
177                     )
178                 )
179             )
180         )
181     )
182     9: Stmt_Const(
183         consts: array(
184             0: Const(
185                 name: T_10
186                 value: Expr_BinaryOp_Plus(
187                     left: Expr_Ternary(
188                         cond: Expr_UnaryMinus(
189                             expr: Scalar_LNumber(
190                                 value: 1
191                             )
192                         )
193                         if: null
194                         else: Scalar_LNumber(
195                             value: 1
196                         )
197                     )
198                     right: Expr_Ternary(
199                         cond: Scalar_LNumber(
200                             value: 0
201                         )
202                         if: Scalar_LNumber(
203                             value: 2
204                         )
205                         else: Scalar_LNumber(
206                             value: 3
207                         )
208                     )
209                 )
210             )
211         )
212     )
213     10: Stmt_Const(
214         consts: array(
215             0: Const(
216                 name: T_11
217                 value: Expr_BinaryOp_BooleanAnd(
218                     left: Scalar_LNumber(
219                         value: 1
220                     )
221                     right: Scalar_LNumber(
222                         value: 0
223                     )
224                 )
225             )
226         )
227     )
228     11: Stmt_Const(
229         consts: array(
230             0: Const(
231                 name: T_12
232                 value: Expr_BinaryOp_LogicalAnd(
233                     left: Scalar_LNumber(
234                         value: 1
235                     )
236                     right: Scalar_LNumber(
237                         value: 1
238                     )
239                 )
240             )
241         )
242     )
243     12: Stmt_Const(
244         consts: array(
245             0: Const(
246                 name: T_13
247                 value: Expr_BinaryOp_BooleanOr(
248                     left: Scalar_LNumber(
249                         value: 0
250                     )
251                     right: Scalar_LNumber(
252                         value: 0
253                     )
254                 )
255             )
256         )
257     )
258     13: Stmt_Const(
259         consts: array(
260             0: Const(
261                 name: T_14
262                 value: Expr_BinaryOp_LogicalOr(
263                     left: Scalar_LNumber(
264                         value: 1
265                     )
266                     right: Scalar_LNumber(
267                         value: 0
268                     )
269                 )
270             )
271         )
272     )
273     14: Stmt_Const(
274         consts: array(
275             0: Const(
276                 name: T_15
277                 value: Expr_BinaryOp_LogicalXor(
278                     left: Scalar_LNumber(
279                         value: 1
280                     )
281                     right: Scalar_LNumber(
282                         value: 1
283                     )
284                 )
285             )
286         )
287     )
288     15: Stmt_Const(
289         consts: array(
290             0: Const(
291                 name: T_16
292                 value: Expr_BinaryOp_LogicalXor(
293                     left: Scalar_LNumber(
294                         value: 1
295                     )
296                     right: Scalar_LNumber(
297                         value: 0
298                     )
299                 )
300             )
301         )
302     )
303     16: Stmt_Const(
304         consts: array(
305             0: Const(
306                 name: T_17
307                 value: Expr_BinaryOp_Smaller(
308                     left: Scalar_LNumber(
309                         value: 1
310                     )
311                     right: Scalar_LNumber(
312                         value: 0
313                     )
314                 )
315             )
316         )
317     )
318     17: Stmt_Const(
319         consts: array(
320             0: Const(
321                 name: T_18
322                 value: Expr_BinaryOp_SmallerOrEqual(
323                     left: Scalar_LNumber(
324                         value: 0
325                     )
326                     right: Scalar_LNumber(
327                         value: 0
328                     )
329                 )
330             )
331         )
332     )
333     18: Stmt_Const(
334         consts: array(
335             0: Const(
336                 name: T_19
337                 value: Expr_BinaryOp_Greater(
338                     left: Scalar_LNumber(
339                         value: 1
340                     )
341                     right: Scalar_LNumber(
342                         value: 0
343                     )
344                 )
345             )
346         )
347     )
348     19: Stmt_Const(
349         consts: array(
350             0: Const(
351                 name: T_20
352                 value: Expr_BinaryOp_GreaterOrEqual(
353                     left: Scalar_LNumber(
354                         value: 1
355                     )
356                     right: Scalar_LNumber(
357                         value: 0
358                     )
359                 )
360             )
361         )
362     )
363     20: Stmt_Const(
364         consts: array(
365             0: Const(
366                 name: T_21
367                 value: Expr_BinaryOp_Identical(
368                     left: Scalar_LNumber(
369                         value: 1
370                     )
371                     right: Scalar_LNumber(
372                         value: 1
373                     )
374                 )
375             )
376         )
377     )
378     21: Stmt_Const(
379         consts: array(
380             0: Const(
381                 name: T_22
382                 value: Expr_BinaryOp_NotIdentical(
383                     left: Scalar_LNumber(
384                         value: 1
385                     )
386                     right: Scalar_LNumber(
387                         value: 1
388                     )
389                 )
390             )
391         )
392     )
393     22: Stmt_Const(
394         consts: array(
395             0: Const(
396                 name: T_23
397                 value: Expr_BinaryOp_NotEqual(
398                     left: Scalar_LNumber(
399                         value: 0
400                     )
401                     right: Scalar_String(
402                         value: 0
403                     )
404                 )
405             )
406         )
407     )
408     23: Stmt_Const(
409         consts: array(
410             0: Const(
411                 name: T_24
412                 value: Expr_BinaryOp_Equal(
413                     left: Scalar_LNumber(
414                         value: 1
415                     )
416                     right: Scalar_String(
417                         value: 1
418                     )
419                 )
420             )
421         )
422     )
423     24: Stmt_Const(
424         consts: array(
425             0: Const(
426                 name: T_25
427                 value: Expr_BinaryOp_Plus(
428                     left: Scalar_LNumber(
429                         value: 1
430                     )
431                     right: Expr_BinaryOp_Mul(
432                         left: Scalar_LNumber(
433                             value: 2
434                         )
435                         right: Scalar_LNumber(
436                             value: 3
437                         )
438                     )
439                 )
440             )
441         )
442     )
443     25: Stmt_Const(
444         consts: array(
445             0: Const(
446                 name: T_26
447                 value: Expr_BinaryOp_Plus(
448                     left: Expr_BinaryOp_Plus(
449                         left: Scalar_String(
450                             value: 1
451                         )
452                         right: Scalar_LNumber(
453                             value: 2
454                         )
455                     )
456                     right: Scalar_String(
457                         value: 3
458                     )
459                 )
460             )
461         )
462     )
463     26: Stmt_Const(
464         consts: array(
465             0: Const(
466                 name: T_27
467                 value: Expr_BinaryOp_Pow(
468                     left: Scalar_LNumber(
469                         value: 2
470                     )
471                     right: Scalar_LNumber(
472                         value: 3
473                     )
474                 )
475             )
476         )
477     )
478     27: Stmt_Const(
479         consts: array(
480             0: Const(
481                 name: T_28
482                 value: Expr_ArrayDimFetch(
483                     var: Expr_Array(
484                         items: array(
485                             0: Expr_ArrayItem(
486                                 key: null
487                                 value: Scalar_LNumber(
488                                     value: 1
489                                 )
490                                 byRef: false
491                             )
492                             1: Expr_ArrayItem(
493                                 key: null
494                                 value: Scalar_LNumber(
495                                     value: 2
496                                 )
497                                 byRef: false
498                             )
499                             2: Expr_ArrayItem(
500                                 key: null
501                                 value: Scalar_LNumber(
502                                     value: 3
503                                 )
504                                 byRef: false
505                             )
506                         )
507                     )
508                     dim: Scalar_LNumber(
509                         value: 1
510                     )
511                 )
512             )
513         )
514     )
515     28: Stmt_Const(
516         consts: array(
517             0: Const(
518                 name: T_29
519                 value: Expr_BinaryOp_Minus(
520                     left: Scalar_LNumber(
521                         value: 12
522                     )
523                     right: Scalar_LNumber(
524                         value: 13
525                     )
526                 )
527             )
528         )
529     )
530     29: Stmt_Const(
531         consts: array(
532             0: Const(
533                 name: T_30
534                 value: Expr_BinaryOp_BitwiseXor(
535                     left: Scalar_LNumber(
536                         value: 12
537                     )
538                     right: Scalar_LNumber(
539                         value: 13
540                     )
541                 )
542             )
543         )
544     )
545     30: Stmt_Const(
546         consts: array(
547             0: Const(
548                 name: T_31
549                 value: Expr_BinaryOp_BitwiseAnd(
550                     left: Scalar_LNumber(
551                         value: 12
552                     )
553                     right: Scalar_LNumber(
554                         value: 13
555                     )
556                 )
557             )
558         )
559     )
560     31: Stmt_Const(
561         consts: array(
562             0: Const(
563                 name: T_32
564                 value: Expr_BinaryOp_BitwiseOr(
565                     left: Scalar_LNumber(
566                         value: 12
567                     )
568                     right: Scalar_LNumber(
569                         value: 13
570                     )
571                 )
572             )
573         )
574     )
575     32: Stmt_Const(
576         consts: array(
577             0: Const(
578                 name: T_33
579                 value: Expr_BinaryOp_Mod(
580                     left: Scalar_LNumber(
581                         value: 12
582                     )
583                     right: Scalar_LNumber(
584                         value: 3
585                     )
586                 )
587             )
588         )
589     )
590     33: Stmt_Const(
591         consts: array(
592             0: Const(
593                 name: T_34
594                 value: Expr_BinaryOp_ShiftRight(
595                     left: Scalar_LNumber(
596                         value: 100
597                     )
598                     right: Scalar_LNumber(
599                         value: 4
600                     )
601                 )
602             )
603         )
604     )
605     34: Stmt_Const(
606         consts: array(
607             0: Const(
608                 name: T_35
609                 value: Expr_BooleanNot(
610                     expr: Expr_ConstFetch(
611                         name: Name(
612                             parts: array(
613                                 0: false
614                             )
615                         )
616                     )
617                 )
618             )
619         )
620     )
621 )