Security update for Core, with self-updated composer
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / expr / uvs / misc.test
1 Uniform variable syntax in PHP 7 (misc)
2 -----
3 <?php
4
5 A::A[0];
6 A::A[0][1][2];
7 "string"->length();
8 (clone $obj)->b[0](1);
9 [0, 1][0] = 1;
10 -----
11 !!php7
12 array(
13     0: Expr_ArrayDimFetch(
14         var: Expr_ClassConstFetch(
15             class: Name(
16                 parts: array(
17                     0: A
18                 )
19             )
20             name: A
21         )
22         dim: Scalar_LNumber(
23             value: 0
24         )
25     )
26     1: Expr_ArrayDimFetch(
27         var: Expr_ArrayDimFetch(
28             var: Expr_ArrayDimFetch(
29                 var: Expr_ClassConstFetch(
30                     class: Name(
31                         parts: array(
32                             0: A
33                         )
34                     )
35                     name: A
36                 )
37                 dim: Scalar_LNumber(
38                     value: 0
39                 )
40             )
41             dim: Scalar_LNumber(
42                 value: 1
43             )
44         )
45         dim: Scalar_LNumber(
46             value: 2
47         )
48     )
49     2: Expr_MethodCall(
50         var: Scalar_String(
51             value: string
52         )
53         name: length
54         args: array(
55         )
56     )
57     3: Expr_FuncCall(
58         name: Expr_ArrayDimFetch(
59             var: Expr_PropertyFetch(
60                 var: Expr_Clone(
61                     expr: Expr_Variable(
62                         name: obj
63                     )
64                 )
65                 name: b
66             )
67             dim: Scalar_LNumber(
68                 value: 0
69             )
70         )
71         args: array(
72             0: Arg(
73                 value: Scalar_LNumber(
74                     value: 1
75                 )
76                 byRef: false
77                 unpack: false
78             )
79         )
80     )
81     4: Expr_Assign(
82         var: Expr_ArrayDimFetch(
83             var: Expr_Array(
84                 items: array(
85                     0: Expr_ArrayItem(
86                         key: null
87                         value: Scalar_LNumber(
88                             value: 0
89                         )
90                         byRef: false
91                     )
92                     1: Expr_ArrayItem(
93                         key: null
94                         value: Scalar_LNumber(
95                             value: 1
96                         )
97                         byRef: false
98                     )
99                 )
100             )
101             dim: Scalar_LNumber(
102                 value: 0
103             )
104         )
105         expr: Scalar_LNumber(
106             value: 1
107         )
108     )
109 )