comparison vendor/nikic/php-parser/test/code/parser/expr/fetchAndCall/objectAccess.test @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children 5fb285c0d0e3
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
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 )