Delete provisional syntax for capabilities
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / function_pointers / obj_get_expr_with_targ.php.json.exp
blobe4dc35f3f78d6757dec1fc55f36f221026d7ba2a
2 "parse_tree":{
3 "kind":"script",
4 "script_declarations":{
5 "kind":"list",
6 "elements":[
8 "kind":"markup_section",
9 "markup_hashbang":{
10 "kind":"token",
11 "token":{
12 "kind":"hashbang",
13 "text":"",
14 "offset":0,
15 "leading_width":0,
16 "width":0,
17 "trailing_width":0,
18 "leading":[],
19 "trailing":[],
20 "line_number":1
23 "markup_suffix":{
24 "kind":"markup_suffix",
25 "markup_suffix_less_than_question":{
26 "kind":"token",
27 "token":{
28 "kind":"<?",
29 "text":"<?",
30 "offset":0,
31 "leading_width":0,
32 "width":2,
33 "trailing_width":0,
34 "leading":[],
35 "trailing":[],
36 "line_number":1
39 "markup_suffix_name":{
40 "kind":"token",
41 "token":{
42 "kind":"name",
43 "text":"hh",
44 "offset":2,
45 "leading_width":0,
46 "width":2,
47 "trailing_width":1,
48 "leading":[],
49 "trailing":[{"kind":"end_of_line","text":"\n","offset":4,"width":1}],
50 "line_number":1
56 "kind":"function_declaration",
57 "function_attribute_spec":{"kind":"missing"},
58 "function_declaration_header":{
59 "kind":"function_declaration_header",
60 "function_modifiers":{"kind":"missing"},
61 "function_keyword":{
62 "kind":"token",
63 "token":{
64 "kind":"function",
65 "text":"function",
66 "offset":5,
67 "leading_width":1,
68 "width":8,
69 "trailing_width":1,
70 "leading":[{"kind":"end_of_line","text":"\n","offset":5,"width":1}],
71 "trailing":[{"kind":"whitespace","text":" ","offset":14,"width":1}],
72 "line_number":3
75 "function_name":{
76 "kind":"token",
77 "token":{
78 "kind":"name",
79 "text":"test",
80 "offset":15,
81 "leading_width":0,
82 "width":4,
83 "trailing_width":0,
84 "leading":[],
85 "trailing":[],
86 "line_number":3
89 "function_type_parameter_list":{"kind":"missing"},
90 "function_left_paren":{
91 "kind":"token",
92 "token":{
93 "kind":"(",
94 "text":"(",
95 "offset":19,
96 "leading_width":0,
97 "width":1,
98 "trailing_width":0,
99 "leading":[],
100 "trailing":[],
101 "line_number":3
104 "function_parameter_list":{"kind":"missing"},
105 "function_right_paren":{
106 "kind":"token",
107 "token":{
108 "kind":")",
109 "text":")",
110 "offset":20,
111 "leading_width":0,
112 "width":1,
113 "trailing_width":0,
114 "leading":[],
115 "trailing":[],
116 "line_number":3
119 "function_capability":{"kind":"missing"},
120 "function_colon":{
121 "kind":"token",
122 "token":{
123 "kind":":",
124 "text":":",
125 "offset":21,
126 "leading_width":0,
127 "width":1,
128 "trailing_width":1,
129 "leading":[],
130 "trailing":[{"kind":"whitespace","text":" ","offset":22,"width":1}],
131 "line_number":3
134 "function_type":{
135 "kind":"simple_type_specifier",
136 "simple_type_specifier":{
137 "kind":"token",
138 "token":{
139 "kind":"void",
140 "text":"void",
141 "offset":23,
142 "leading_width":0,
143 "width":4,
144 "trailing_width":1,
145 "leading":[],
146 "trailing":[{"kind":"whitespace","text":" ","offset":27,"width":1}],
147 "line_number":3
151 "function_where_clause":{"kind":"missing"}
153 "function_body":{
154 "kind":"compound_statement",
155 "compound_left_brace":{
156 "kind":"token",
157 "token":{
158 "kind":"{",
159 "text":"{",
160 "offset":28,
161 "leading_width":0,
162 "width":1,
163 "trailing_width":1,
164 "leading":[],
165 "trailing":[{"kind":"end_of_line","text":"\n","offset":29,"width":1}],
166 "line_number":3
169 "compound_statements":{
170 "kind":"list",
171 "elements":[
173 "kind":"expression_statement",
174 "expression_statement_expression":{
175 "kind":"function_pointer_expression",
176 "function_pointer_receiver":{
177 "kind":"member_selection_expression",
178 "member_object":{
179 "kind":"variable",
180 "variable_expression":{
181 "kind":"token",
182 "token":{
183 "kind":"variable",
184 "text":"$foo",
185 "offset":30,
186 "leading_width":2,
187 "width":4,
188 "trailing_width":0,
189 "leading":[{"kind":"whitespace","text":" ","offset":30,"width":2}],
190 "trailing":[],
191 "line_number":4
195 "member_operator":{
196 "kind":"token",
197 "token":{
198 "kind":"->",
199 "text":"->",
200 "offset":36,
201 "leading_width":0,
202 "width":2,
203 "trailing_width":0,
204 "leading":[],
205 "trailing":[],
206 "line_number":4
209 "member_name":{
210 "kind":"braced_expression",
211 "braced_expression_left_brace":{
212 "kind":"token",
213 "token":{
214 "kind":"{",
215 "text":"{",
216 "offset":38,
217 "leading_width":0,
218 "width":1,
219 "trailing_width":0,
220 "leading":[],
221 "trailing":[],
222 "line_number":4
225 "braced_expression_expression":{
226 "kind":"function_call_expression",
227 "function_call_receiver":{
228 "kind":"member_selection_expression",
229 "member_object":{
230 "kind":"variable",
231 "variable_expression":{
232 "kind":"token",
233 "token":{
234 "kind":"variable",
235 "text":"$bar",
236 "offset":39,
237 "leading_width":0,
238 "width":4,
239 "trailing_width":0,
240 "leading":[],
241 "trailing":[],
242 "line_number":4
246 "member_operator":{
247 "kind":"token",
248 "token":{
249 "kind":"->",
250 "text":"->",
251 "offset":43,
252 "leading_width":0,
253 "width":2,
254 "trailing_width":0,
255 "leading":[],
256 "trailing":[],
257 "line_number":4
260 "member_name":{
261 "kind":"token",
262 "token":{
263 "kind":"name",
264 "text":"baz",
265 "offset":45,
266 "leading_width":0,
267 "width":3,
268 "trailing_width":0,
269 "leading":[],
270 "trailing":[],
271 "line_number":4
275 "function_call_type_args":{"kind":"missing"},
276 "function_call_left_paren":{
277 "kind":"token",
278 "token":{
279 "kind":"(",
280 "text":"(",
281 "offset":48,
282 "leading_width":0,
283 "width":1,
284 "trailing_width":0,
285 "leading":[],
286 "trailing":[],
287 "line_number":4
290 "function_call_argument_list":{"kind":"missing"},
291 "function_call_right_paren":{
292 "kind":"token",
293 "token":{
294 "kind":")",
295 "text":")",
296 "offset":49,
297 "leading_width":0,
298 "width":1,
299 "trailing_width":0,
300 "leading":[],
301 "trailing":[],
302 "line_number":4
306 "braced_expression_right_brace":{
307 "kind":"token",
308 "token":{
309 "kind":"}",
310 "text":"}",
311 "offset":50,
312 "leading_width":0,
313 "width":1,
314 "trailing_width":0,
315 "leading":[],
316 "trailing":[],
317 "line_number":4
322 "function_pointer_type_args":{
323 "kind":"type_arguments",
324 "type_arguments_left_angle":{
325 "kind":"token",
326 "token":{
327 "kind":"<",
328 "text":"<",
329 "offset":51,
330 "leading_width":0,
331 "width":1,
332 "trailing_width":0,
333 "leading":[],
334 "trailing":[],
335 "line_number":4
338 "type_arguments_types":{
339 "kind":"list",
340 "elements":[
342 "kind":"list_item",
343 "list_item":{
344 "kind":"simple_type_specifier",
345 "simple_type_specifier":{
346 "kind":"token",
347 "token":{
348 "kind":"name",
349 "text":"Qux",
350 "offset":52,
351 "leading_width":0,
352 "width":3,
353 "trailing_width":0,
354 "leading":[],
355 "trailing":[],
356 "line_number":4
360 "list_separator":{"kind":"missing"}
364 "type_arguments_right_angle":{
365 "kind":"token",
366 "token":{
367 "kind":">",
368 "text":">",
369 "offset":55,
370 "leading_width":0,
371 "width":1,
372 "trailing_width":0,
373 "leading":[],
374 "trailing":[],
375 "line_number":4
380 "expression_statement_semicolon":{
381 "kind":"token",
382 "token":{
383 "kind":";",
384 "text":";",
385 "offset":56,
386 "leading_width":0,
387 "width":1,
388 "trailing_width":1,
389 "leading":[],
390 "trailing":[{"kind":"end_of_line","text":"\n","offset":57,"width":1}],
391 "line_number":4
397 "compound_right_brace":{
398 "kind":"token",
399 "token":{
400 "kind":"}",
401 "text":"}",
402 "offset":58,
403 "leading_width":0,
404 "width":1,
405 "trailing_width":1,
406 "leading":[],
407 "trailing":[{"kind":"end_of_line","text":"\n","offset":59,"width":1}],
408 "line_number":5
414 "kind":"end_of_file",
415 "end_of_file_token":{
416 "kind":"token",
417 "token":{
418 "kind":"end_of_file",
419 "text":"",
420 "offset":60,
421 "leading_width":0,
422 "width":0,
423 "trailing_width":0,
424 "leading":[],
425 "trailing":[],
426 "line_number":6
433 "program_text":"<?hh\n\nfunction test(): void {\n $foo->{$bar->baz()}<Qux>;\n}\n",
434 "version":"2020-12-09-0001"