584461bdee9c44dee060c4a50eac571c805968f4
[yaffs-website] / vendor / nikic / php-parser / test / code / parser / expr / fetchAndCall / objectAccess.test
1 Object access
2 -----
3 <?php
4
5 // property fetch variations
6 $a->b;
7 $a->b['c'];
8 $a->b{'c'};
9
10 // method call variations
11 $a->b();
12 $a->{'b'}();
13 $a->$b();
14 $a->$b['c']();
15
16 // array dereferencing
17 $a->b()['c'];
18 $a->b(){'c'}; // invalid PHP: drop Support?
19 -----
20 !!php5
21 array(
22     0: Expr_PropertyFetch(
23         var: Expr_Variable(
24             name: a
25             comments: array(
26                 0: // property fetch variations
27             )
28         )
29         name: b
30         comments: array(
31             0: // property fetch variations
32         )
33     )
34     1: Expr_ArrayDimFetch(
35         var: Expr_PropertyFetch(
36             var: Expr_Variable(
37                 name: a
38             )
39             name: b
40         )
41         dim: Scalar_String(
42             value: c
43         )
44     )
45     2: Expr_ArrayDimFetch(
46         var: Expr_PropertyFetch(
47             var: Expr_Variable(
48                 name: a
49             )
50             name: b
51         )
52         dim: Scalar_String(
53             value: c
54         )
55     )
56     3: Expr_MethodCall(
57         var: Expr_Variable(
58             name: a
59             comments: array(
60                 0: // method call variations
61             )
62         )
63         name: b
64         args: array(
65         )
66         comments: array(
67             0: // method call variations
68         )
69     )
70     4: Expr_MethodCall(
71         var: Expr_Variable(
72             name: a
73         )
74         name: Scalar_String(
75             value: b
76         )
77         args: array(
78         )
79     )
80     5: Expr_MethodCall(
81         var: Expr_Variable(
82             name: a
83         )
84         name: Expr_Variable(
85             name: b
86         )
87         args: array(
88         )
89     )
90     6: Expr_MethodCall(
91         var: Expr_Variable(
92             name: a
93         )
94         name: Expr_ArrayDimFetch(
95             var: Expr_Variable(
96                 name: b
97             )
98             dim: Scalar_String(
99                 value: c
100             )
101         )
102         args: array(
103         )
104     )
105     7: Expr_ArrayDimFetch(
106         var: Expr_MethodCall(
107             var: Expr_Variable(
108                 name: a
109                 comments: array(
110                     0: // array dereferencing
111                 )
112             )
113             name: b
114             args: array(
115             )
116             comments: array(
117                 0: // array dereferencing
118             )
119         )
120         dim: Scalar_String(
121             value: c
122         )
123         comments: array(
124             0: // array dereferencing
125         )
126     )
127     8: Expr_ArrayDimFetch(
128         var: Expr_MethodCall(
129             var: Expr_Variable(
130                 name: a
131             )
132             name: b
133             args: array(
134             )
135         )
136         dim: Scalar_String(
137             value: c
138         )
139     )
140     9: Stmt_Nop(
141         comments: array(
142             0: // invalid PHP: drop Support?
143         )
144     )
145 )