Use JSON for FFP tests
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / concurrent / concurrent_reuse_lval_1.php.json.exp
blobe9b0e60d2055036d408423b55b06e42f58630373
2 "parse_tree":{
3 "kind":"script",
4 "script_declarations":{
5 "kind":"list",
6 "elements":[
8 "kind":"markup_section",
9 "markup_text":{
10 "kind":"token",
11 "token":{
12 "kind":"markup",
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":"f",
98 "offset":21,
99 "leading_width":0,
100 "width":1,
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":22,
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":23,
129 "leading_width":0,
130 "width":1,
131 "trailing_width":1,
132 "leading":[],
133 "trailing":[{"kind":"whitespace","text":" ","offset":24,"width":1}],
134 "line_number":3
137 "function_colon":{"kind":"missing"},
138 "function_type":{"kind":"missing"},
139 "function_where_clause":{"kind":"missing"}
141 "function_body":{
142 "kind":"compound_statement",
143 "compound_left_brace":{
144 "kind":"token",
145 "token":{
146 "kind":"{",
147 "text":"{",
148 "offset":25,
149 "leading_width":0,
150 "width":1,
151 "trailing_width":1,
152 "leading":[],
153 "trailing":[{"kind":"end_of_line","text":"\n","offset":26,"width":1}],
154 "line_number":3
157 "compound_statements":{
158 "kind":"list",
159 "elements":[
161 "kind":"concurrent_statement",
162 "concurrent_keyword":{
163 "kind":"token",
164 "token":{
165 "kind":"concurrent",
166 "text":"concurrent",
167 "offset":27,
168 "leading_width":2,
169 "width":10,
170 "trailing_width":1,
171 "leading":[{"kind":"whitespace","text":" ","offset":27,"width":2}],
172 "trailing":[{"kind":"whitespace","text":" ","offset":39,"width":1}],
173 "line_number":4
176 "concurrent_statement":{
177 "kind":"compound_statement",
178 "compound_left_brace":{
179 "kind":"token",
180 "token":{
181 "kind":"{",
182 "text":"{",
183 "offset":40,
184 "leading_width":0,
185 "width":1,
186 "trailing_width":1,
187 "leading":[],
188 "trailing":[{"kind":"end_of_line","text":"\n","offset":41,"width":1}],
189 "line_number":4
192 "compound_statements":{
193 "kind":"list",
194 "elements":[
196 "kind":"expression_statement",
197 "expression_statement_expression":{
198 "kind":"binary_expression",
199 "binary_left_operand":{
200 "kind":"variable",
201 "variable_expression":{
202 "kind":"token",
203 "token":{
204 "kind":"variable",
205 "text":"$x",
206 "offset":42,
207 "leading_width":4,
208 "width":2,
209 "trailing_width":1,
210 "leading":[{"kind":"whitespace","text":" ","offset":42,"width":4}],
211 "trailing":[{"kind":"whitespace","text":" ","offset":48,"width":1}],
212 "line_number":5
216 "binary_operator":{
217 "kind":"token",
218 "token":{
219 "kind":"=",
220 "text":"=",
221 "offset":49,
222 "leading_width":0,
223 "width":1,
224 "trailing_width":1,
225 "leading":[],
226 "trailing":[{"kind":"whitespace","text":" ","offset":50,"width":1}],
227 "line_number":5
230 "binary_right_operand":{
231 "kind":"prefix_unary_expression",
232 "prefix_unary_operator":{
233 "kind":"token",
234 "token":{
235 "kind":"await",
236 "text":"await",
237 "offset":51,
238 "leading_width":0,
239 "width":5,
240 "trailing_width":1,
241 "leading":[],
242 "trailing":[{"kind":"whitespace","text":" ","offset":56,"width":1}],
243 "line_number":5
246 "prefix_unary_operand":{
247 "kind":"function_call_expression",
248 "function_call_receiver":{
249 "kind":"token",
250 "token":{
251 "kind":"name",
252 "text":"genx",
253 "offset":57,
254 "leading_width":0,
255 "width":4,
256 "trailing_width":0,
257 "leading":[],
258 "trailing":[],
259 "line_number":5
262 "function_call_type_args":{"kind":"missing"},
263 "function_call_left_paren":{
264 "kind":"token",
265 "token":{
266 "kind":"(",
267 "text":"(",
268 "offset":61,
269 "leading_width":0,
270 "width":1,
271 "trailing_width":0,
272 "leading":[],
273 "trailing":[],
274 "line_number":5
277 "function_call_argument_list":{"kind":"missing"},
278 "function_call_right_paren":{
279 "kind":"token",
280 "token":{
281 "kind":")",
282 "text":")",
283 "offset":62,
284 "leading_width":0,
285 "width":1,
286 "trailing_width":0,
287 "leading":[],
288 "trailing":[],
289 "line_number":5
295 "expression_statement_semicolon":{
296 "kind":"token",
297 "token":{
298 "kind":";",
299 "text":";",
300 "offset":63,
301 "leading_width":0,
302 "width":1,
303 "trailing_width":1,
304 "leading":[],
305 "trailing":[{"kind":"end_of_line","text":"\n","offset":64,"width":1}],
306 "line_number":5
311 "kind":"expression_statement",
312 "expression_statement_expression":{
313 "kind":"binary_expression",
314 "binary_left_operand":{
315 "kind":"variable",
316 "variable_expression":{
317 "kind":"token",
318 "token":{
319 "kind":"variable",
320 "text":"$x",
321 "offset":65,
322 "leading_width":4,
323 "width":2,
324 "trailing_width":1,
325 "leading":[{"kind":"whitespace","text":" ","offset":65,"width":4}],
326 "trailing":[{"kind":"whitespace","text":" ","offset":71,"width":1}],
327 "line_number":6
331 "binary_operator":{
332 "kind":"token",
333 "token":{
334 "kind":"=",
335 "text":"=",
336 "offset":72,
337 "leading_width":0,
338 "width":1,
339 "trailing_width":1,
340 "leading":[],
341 "trailing":[{"kind":"whitespace","text":" ","offset":73,"width":1}],
342 "line_number":6
345 "binary_right_operand":{
346 "kind":"prefix_unary_expression",
347 "prefix_unary_operator":{
348 "kind":"token",
349 "token":{
350 "kind":"await",
351 "text":"await",
352 "offset":74,
353 "leading_width":0,
354 "width":5,
355 "trailing_width":1,
356 "leading":[],
357 "trailing":[{"kind":"whitespace","text":" ","offset":79,"width":1}],
358 "line_number":6
361 "prefix_unary_operand":{
362 "kind":"function_call_expression",
363 "function_call_receiver":{
364 "kind":"token",
365 "token":{
366 "kind":"name",
367 "text":"genx",
368 "offset":80,
369 "leading_width":0,
370 "width":4,
371 "trailing_width":0,
372 "leading":[],
373 "trailing":[],
374 "line_number":6
377 "function_call_type_args":{"kind":"missing"},
378 "function_call_left_paren":{
379 "kind":"token",
380 "token":{
381 "kind":"(",
382 "text":"(",
383 "offset":84,
384 "leading_width":0,
385 "width":1,
386 "trailing_width":0,
387 "leading":[],
388 "trailing":[],
389 "line_number":6
392 "function_call_argument_list":{"kind":"missing"},
393 "function_call_right_paren":{
394 "kind":"token",
395 "token":{
396 "kind":")",
397 "text":")",
398 "offset":85,
399 "leading_width":0,
400 "width":1,
401 "trailing_width":0,
402 "leading":[],
403 "trailing":[],
404 "line_number":6
410 "expression_statement_semicolon":{
411 "kind":"token",
412 "token":{
413 "kind":";",
414 "text":";",
415 "offset":86,
416 "leading_width":0,
417 "width":1,
418 "trailing_width":1,
419 "leading":[],
420 "trailing":[{"kind":"end_of_line","text":"\n","offset":87,"width":1}],
421 "line_number":6
427 "compound_right_brace":{
428 "kind":"token",
429 "token":{
430 "kind":"}",
431 "text":"}",
432 "offset":88,
433 "leading_width":2,
434 "width":1,
435 "trailing_width":1,
436 "leading":[{"kind":"whitespace","text":" ","offset":88,"width":2}],
437 "trailing":[{"kind":"end_of_line","text":"\n","offset":91,"width":1}],
438 "line_number":7
445 "compound_right_brace":{
446 "kind":"token",
447 "token":{
448 "kind":"}",
449 "text":"}",
450 "offset":92,
451 "leading_width":0,
452 "width":1,
453 "trailing_width":1,
454 "leading":[],
455 "trailing":[{"kind":"end_of_line","text":"\n","offset":93,"width":1}],
456 "line_number":8
462 "kind":"end_of_file",
463 "end_of_file_token":{
464 "kind":"token",
465 "token":{
466 "kind":"end_of_file",
467 "text":"",
468 "offset":94,
469 "leading_width":0,
470 "width":0,
471 "trailing_width":0,
472 "leading":[],
473 "trailing":[],
474 "line_number":9
481 "program_text":"<?hh\n\nasync function f() {\n concurrent {\n $x = await genx();\n $x = await genx();\n }\n}\n",
482 "version":"2020-04-14-0002"