Delete provisional syntax for capabilities
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / await_as_an_expression / error / await_as_an_expression_reuse_lval_1.php.json.exp
bloba521ec084484edd6e4bdff32a504e7c93c561c58
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":{
61 "kind":"list",
62 "elements":[
64 "kind":"token",
65 "token":{
66 "kind":"async",
67 "text":"async",
68 "offset":5,
69 "leading_width":1,
70 "width":5,
71 "trailing_width":1,
72 "leading":[{"kind":"end_of_line","text":"\n","offset":5,"width":1}],
73 "trailing":[{"kind":"whitespace","text":" ","offset":11,"width":1}],
74 "line_number":3
79 "function_keyword":{
80 "kind":"token",
81 "token":{
82 "kind":"function",
83 "text":"function",
84 "offset":12,
85 "leading_width":0,
86 "width":8,
87 "trailing_width":1,
88 "leading":[],
89 "trailing":[{"kind":"whitespace","text":" ","offset":20,"width":1}],
90 "line_number":3
93 "function_name":{
94 "kind":"token",
95 "token":{
96 "kind":"name",
97 "text":"foo",
98 "offset":21,
99 "leading_width":0,
100 "width":3,
101 "trailing_width":0,
102 "leading":[],
103 "trailing":[],
104 "line_number":3
107 "function_type_parameter_list":{"kind":"missing"},
108 "function_left_paren":{
109 "kind":"token",
110 "token":{
111 "kind":"(",
112 "text":"(",
113 "offset":24,
114 "leading_width":0,
115 "width":1,
116 "trailing_width":0,
117 "leading":[],
118 "trailing":[],
119 "line_number":3
122 "function_parameter_list":{"kind":"missing"},
123 "function_right_paren":{
124 "kind":"token",
125 "token":{
126 "kind":")",
127 "text":")",
128 "offset":25,
129 "leading_width":0,
130 "width":1,
131 "trailing_width":0,
132 "leading":[],
133 "trailing":[],
134 "line_number":3
137 "function_capability":{"kind":"missing"},
138 "function_colon":{
139 "kind":"token",
140 "token":{
141 "kind":":",
142 "text":":",
143 "offset":26,
144 "leading_width":0,
145 "width":1,
146 "trailing_width":1,
147 "leading":[],
148 "trailing":[{"kind":"whitespace","text":" ","offset":27,"width":1}],
149 "line_number":3
152 "function_type":{
153 "kind":"generic_type_specifier",
154 "generic_class_type":{
155 "kind":"token",
156 "token":{
157 "kind":"name",
158 "text":"Awaitable",
159 "offset":28,
160 "leading_width":0,
161 "width":9,
162 "trailing_width":0,
163 "leading":[],
164 "trailing":[],
165 "line_number":3
168 "generic_argument_list":{
169 "kind":"type_arguments",
170 "type_arguments_left_angle":{
171 "kind":"token",
172 "token":{
173 "kind":"<",
174 "text":"<",
175 "offset":37,
176 "leading_width":0,
177 "width":1,
178 "trailing_width":0,
179 "leading":[],
180 "trailing":[],
181 "line_number":3
184 "type_arguments_types":{
185 "kind":"list",
186 "elements":[
188 "kind":"list_item",
189 "list_item":{
190 "kind":"simple_type_specifier",
191 "simple_type_specifier":{
192 "kind":"token",
193 "token":{
194 "kind":"void",
195 "text":"void",
196 "offset":38,
197 "leading_width":0,
198 "width":4,
199 "trailing_width":0,
200 "leading":[],
201 "trailing":[],
202 "line_number":3
206 "list_separator":{"kind":"missing"}
210 "type_arguments_right_angle":{
211 "kind":"token",
212 "token":{
213 "kind":">",
214 "text":">",
215 "offset":42,
216 "leading_width":0,
217 "width":1,
218 "trailing_width":1,
219 "leading":[],
220 "trailing":[{"kind":"whitespace","text":" ","offset":43,"width":1}],
221 "line_number":3
226 "function_where_clause":{"kind":"missing"}
228 "function_body":{
229 "kind":"compound_statement",
230 "compound_left_brace":{
231 "kind":"token",
232 "token":{
233 "kind":"{",
234 "text":"{",
235 "offset":44,
236 "leading_width":0,
237 "width":1,
238 "trailing_width":1,
239 "leading":[],
240 "trailing":[{"kind":"end_of_line","text":"\n","offset":45,"width":1}],
241 "line_number":3
244 "compound_statements":{
245 "kind":"list",
246 "elements":[
248 "kind":"expression_statement",
249 "expression_statement_expression":{
250 "kind":"binary_expression",
251 "binary_left_operand":{
252 "kind":"variable",
253 "variable_expression":{
254 "kind":"token",
255 "token":{
256 "kind":"variable",
257 "text":"$x",
258 "offset":46,
259 "leading_width":2,
260 "width":2,
261 "trailing_width":1,
262 "leading":[{"kind":"whitespace","text":" ","offset":46,"width":2}],
263 "trailing":[{"kind":"whitespace","text":" ","offset":50,"width":1}],
264 "line_number":4
268 "binary_operator":{
269 "kind":"token",
270 "token":{
271 "kind":"=",
272 "text":"=",
273 "offset":51,
274 "leading_width":0,
275 "width":1,
276 "trailing_width":1,
277 "leading":[],
278 "trailing":[{"kind":"whitespace","text":" ","offset":52,"width":1}],
279 "line_number":4
282 "binary_right_operand":{
283 "kind":"binary_expression",
284 "binary_left_operand":{
285 "kind":"parenthesized_expression",
286 "parenthesized_expression_left_paren":{
287 "kind":"token",
288 "token":{
289 "kind":"(",
290 "text":"(",
291 "offset":53,
292 "leading_width":0,
293 "width":1,
294 "trailing_width":0,
295 "leading":[],
296 "trailing":[],
297 "line_number":4
300 "parenthesized_expression_expression":{
301 "kind":"prefix_unary_expression",
302 "prefix_unary_operator":{
303 "kind":"token",
304 "token":{
305 "kind":"await",
306 "text":"await",
307 "offset":54,
308 "leading_width":0,
309 "width":5,
310 "trailing_width":1,
311 "leading":[],
312 "trailing":[{"kind":"whitespace","text":" ","offset":59,"width":1}],
313 "line_number":4
316 "prefix_unary_operand":{
317 "kind":"function_call_expression",
318 "function_call_receiver":{
319 "kind":"token",
320 "token":{
321 "kind":"name",
322 "text":"genx",
323 "offset":60,
324 "leading_width":0,
325 "width":4,
326 "trailing_width":0,
327 "leading":[],
328 "trailing":[],
329 "line_number":4
332 "function_call_type_args":{"kind":"missing"},
333 "function_call_left_paren":{
334 "kind":"token",
335 "token":{
336 "kind":"(",
337 "text":"(",
338 "offset":64,
339 "leading_width":0,
340 "width":1,
341 "trailing_width":0,
342 "leading":[],
343 "trailing":[],
344 "line_number":4
347 "function_call_argument_list":{
348 "kind":"list",
349 "elements":[
351 "kind":"list_item",
352 "list_item":{
353 "kind":"binary_expression",
354 "binary_left_operand":{
355 "kind":"variable",
356 "variable_expression":{
357 "kind":"token",
358 "token":{
359 "kind":"variable",
360 "text":"$y",
361 "offset":65,
362 "leading_width":0,
363 "width":2,
364 "trailing_width":1,
365 "leading":[],
366 "trailing":[{"kind":"whitespace","text":" ","offset":67,"width":1}],
367 "line_number":4
371 "binary_operator":{
372 "kind":"token",
373 "token":{
374 "kind":"=",
375 "text":"=",
376 "offset":68,
377 "leading_width":0,
378 "width":1,
379 "trailing_width":1,
380 "leading":[],
381 "trailing":[{"kind":"whitespace","text":" ","offset":69,"width":1}],
382 "line_number":4
385 "binary_right_operand":{
386 "kind":"literal",
387 "literal_expression":{
388 "kind":"token",
389 "token":{
390 "kind":"decimal_literal",
391 "text":"42",
392 "offset":70,
393 "leading_width":0,
394 "width":2,
395 "trailing_width":0,
396 "leading":[],
397 "trailing":[],
398 "line_number":4
403 "list_separator":{"kind":"missing"}
407 "function_call_right_paren":{
408 "kind":"token",
409 "token":{
410 "kind":")",
411 "text":")",
412 "offset":72,
413 "leading_width":0,
414 "width":1,
415 "trailing_width":0,
416 "leading":[],
417 "trailing":[],
418 "line_number":4
423 "parenthesized_expression_right_paren":{
424 "kind":"token",
425 "token":{
426 "kind":")",
427 "text":")",
428 "offset":73,
429 "leading_width":0,
430 "width":1,
431 "trailing_width":1,
432 "leading":[],
433 "trailing":[{"kind":"whitespace","text":" ","offset":74,"width":1}],
434 "line_number":4
438 "binary_operator":{
439 "kind":"token",
440 "token":{
441 "kind":"+",
442 "text":"+",
443 "offset":75,
444 "leading_width":0,
445 "width":1,
446 "trailing_width":1,
447 "leading":[],
448 "trailing":[{"kind":"whitespace","text":" ","offset":76,"width":1}],
449 "line_number":4
452 "binary_right_operand":{
453 "kind":"variable",
454 "variable_expression":{
455 "kind":"token",
456 "token":{
457 "kind":"variable",
458 "text":"$y",
459 "offset":77,
460 "leading_width":0,
461 "width":2,
462 "trailing_width":0,
463 "leading":[],
464 "trailing":[],
465 "line_number":4
471 "expression_statement_semicolon":{
472 "kind":"token",
473 "token":{
474 "kind":";",
475 "text":";",
476 "offset":79,
477 "leading_width":0,
478 "width":1,
479 "trailing_width":1,
480 "leading":[],
481 "trailing":[{"kind":"end_of_line","text":"\n","offset":80,"width":1}],
482 "line_number":4
488 "compound_right_brace":{
489 "kind":"token",
490 "token":{
491 "kind":"}",
492 "text":"}",
493 "offset":81,
494 "leading_width":0,
495 "width":1,
496 "trailing_width":1,
497 "leading":[],
498 "trailing":[{"kind":"end_of_line","text":"\n","offset":82,"width":1}],
499 "line_number":5
505 "kind":"end_of_file",
506 "end_of_file_token":{
507 "kind":"token",
508 "token":{
509 "kind":"end_of_file",
510 "text":"",
511 "offset":83,
512 "leading_width":0,
513 "width":0,
514 "trailing_width":0,
515 "leading":[],
516 "trailing":[],
517 "line_number":6
524 "program_text":"<?hh\n\nasync function foo(): Awaitable<void> {\n $x = (await genx($y = 42)) + $y;\n}\n",
525 "version":"2020-12-09-0001"