1Static calls
2-----
3<?php
4
5// method name variations
6A::b();
7A::{'b'}();
8A::$b();
9A::$b['c']();
10A::$b['c']['d']();
11
12// array dereferencing
13A::b()['c'];
14
15// class name variations
16static::b();
17$a::b();
18${'a'}::b();
19$a['b']::c();
20-----
21array(
22    0: Stmt_Expression(
23        expr: Expr_StaticCall(
24            class: Name(
25                name: A
26            )
27            name: Identifier(
28                name: b
29            )
30            args: array(
31            )
32        )
33        comments: array(
34            0: // method name variations
35        )
36    )
37    1: Stmt_Expression(
38        expr: Expr_StaticCall(
39            class: Name(
40                name: A
41            )
42            name: Scalar_String(
43                value: b
44            )
45            args: array(
46            )
47        )
48    )
49    2: Stmt_Expression(
50        expr: Expr_StaticCall(
51            class: Name(
52                name: A
53            )
54            name: Expr_Variable(
55                name: b
56            )
57            args: array(
58            )
59        )
60    )
61    3: Stmt_Expression(
62        expr: Expr_FuncCall(
63            name: Expr_ArrayDimFetch(
64                var: Expr_StaticPropertyFetch(
65                    class: Name(
66                        name: A
67                    )
68                    name: VarLikeIdentifier(
69                        name: b
70                    )
71                )
72                dim: Scalar_String(
73                    value: c
74                )
75            )
76            args: array(
77            )
78        )
79    )
80    4: Stmt_Expression(
81        expr: Expr_FuncCall(
82            name: Expr_ArrayDimFetch(
83                var: Expr_ArrayDimFetch(
84                    var: Expr_StaticPropertyFetch(
85                        class: Name(
86                            name: A
87                        )
88                        name: VarLikeIdentifier(
89                            name: b
90                        )
91                    )
92                    dim: Scalar_String(
93                        value: c
94                    )
95                )
96                dim: Scalar_String(
97                    value: d
98                )
99            )
100            args: array(
101            )
102        )
103    )
104    5: Stmt_Expression(
105        expr: Expr_ArrayDimFetch(
106            var: Expr_StaticCall(
107                class: Name(
108                    name: A
109                )
110                name: Identifier(
111                    name: b
112                )
113                args: array(
114                )
115            )
116            dim: Scalar_String(
117                value: c
118            )
119        )
120        comments: array(
121            0: // array dereferencing
122        )
123    )
124    6: Stmt_Expression(
125        expr: Expr_StaticCall(
126            class: Name(
127                name: static
128            )
129            name: Identifier(
130                name: b
131            )
132            args: array(
133            )
134        )
135        comments: array(
136            0: // class name variations
137        )
138    )
139    7: Stmt_Expression(
140        expr: Expr_StaticCall(
141            class: Expr_Variable(
142                name: a
143            )
144            name: Identifier(
145                name: b
146            )
147            args: array(
148            )
149        )
150    )
151    8: Stmt_Expression(
152        expr: Expr_StaticCall(
153            class: Expr_Variable(
154                name: Scalar_String(
155                    value: a
156                )
157            )
158            name: Identifier(
159                name: b
160            )
161            args: array(
162            )
163        )
164    )
165    9: Stmt_Expression(
166        expr: Expr_StaticCall(
167            class: Expr_ArrayDimFetch(
168                var: Expr_Variable(
169                    name: a
170                )
171                dim: Scalar_String(
172                    value: b
173                )
174            )
175            name: Identifier(
176                name: c
177            )
178            args: array(
179            )
180        )
181    )
182)
183