Delete provisional syntax for capabilities
[hiphop-php.git] / hphp / hack / test / full_fidelity / cases / test_try_statement.php.json.exp
blobc2dee43710054035abe52344a7eb791c4c69e35b
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":0,
68 "width":8,
69 "trailing_width":1,
70 "leading":[],
71 "trailing":[{"kind":"whitespace","text":" ","offset":13,"width":1}],
72 "line_number":2
75 "function_name":{
76 "kind":"token",
77 "token":{
78 "kind":"name",
79 "text":"f",
80 "offset":14,
81 "leading_width":0,
82 "width":1,
83 "trailing_width":0,
84 "leading":[],
85 "trailing":[],
86 "line_number":2
89 "function_type_parameter_list":{"kind":"missing"},
90 "function_left_paren":{
91 "kind":"token",
92 "token":{
93 "kind":"(",
94 "text":"(",
95 "offset":15,
96 "leading_width":0,
97 "width":1,
98 "trailing_width":0,
99 "leading":[],
100 "trailing":[],
101 "line_number":2
104 "function_parameter_list":{"kind":"missing"},
105 "function_right_paren":{
106 "kind":"token",
107 "token":{
108 "kind":")",
109 "text":")",
110 "offset":16,
111 "leading_width":0,
112 "width":1,
113 "trailing_width":0,
114 "leading":[],
115 "trailing":[],
116 "line_number":2
119 "function_capability":{"kind":"missing"},
120 "function_colon":{"kind":"missing"},
121 "function_type":{"kind":"missing"},
122 "function_where_clause":{"kind":"missing"}
124 "function_body":{
125 "kind":"compound_statement",
126 "compound_left_brace":{
127 "kind":"token",
128 "token":{
129 "kind":"{",
130 "text":"{",
131 "offset":17,
132 "leading_width":0,
133 "width":1,
134 "trailing_width":1,
135 "leading":[],
136 "trailing":[{"kind":"end_of_line","text":"\n","offset":18,"width":1}],
137 "line_number":2
140 "compound_statements":{
141 "kind":"list",
142 "elements":[
144 "kind":"try_statement",
145 "try_keyword":{
146 "kind":"token",
147 "token":{
148 "kind":"try",
149 "text":"try",
150 "offset":19,
151 "leading_width":2,
152 "width":3,
153 "trailing_width":1,
154 "leading":[{"kind":"whitespace","text":" ","offset":19,"width":2}],
155 "trailing":[{"kind":"whitespace","text":" ","offset":24,"width":1}],
156 "line_number":3
159 "try_compound_statement":{
160 "kind":"compound_statement",
161 "compound_left_brace":{
162 "kind":"token",
163 "token":{
164 "kind":"{",
165 "text":"{",
166 "offset":25,
167 "leading_width":0,
168 "width":1,
169 "trailing_width":1,
170 "leading":[],
171 "trailing":[{"kind":"end_of_line","text":"\n","offset":26,"width":1}],
172 "line_number":3
175 "compound_statements":{
176 "kind":"list",
177 "elements":[
179 "kind":"expression_statement",
180 "expression_statement_expression":{
181 "kind":"postfix_unary_expression",
182 "postfix_unary_operand":{
183 "kind":"variable",
184 "variable_expression":{
185 "kind":"token",
186 "token":{
187 "kind":"variable",
188 "text":"$a",
189 "offset":27,
190 "leading_width":4,
191 "width":2,
192 "trailing_width":0,
193 "leading":[{"kind":"whitespace","text":" ","offset":27,"width":4}],
194 "trailing":[],
195 "line_number":4
199 "postfix_unary_operator":{
200 "kind":"token",
201 "token":{
202 "kind":"++",
203 "text":"++",
204 "offset":33,
205 "leading_width":0,
206 "width":2,
207 "trailing_width":0,
208 "leading":[],
209 "trailing":[],
210 "line_number":4
214 "expression_statement_semicolon":{
215 "kind":"token",
216 "token":{
217 "kind":";",
218 "text":";",
219 "offset":35,
220 "leading_width":0,
221 "width":1,
222 "trailing_width":1,
223 "leading":[],
224 "trailing":[{"kind":"end_of_line","text":"\n","offset":36,"width":1}],
225 "line_number":4
231 "compound_right_brace":{
232 "kind":"token",
233 "token":{
234 "kind":"}",
235 "text":"}",
236 "offset":37,
237 "leading_width":2,
238 "width":1,
239 "trailing_width":1,
240 "leading":[{"kind":"whitespace","text":" ","offset":37,"width":2}],
241 "trailing":[{"kind":"end_of_line","text":"\n","offset":40,"width":1}],
242 "line_number":5
246 "try_catch_clauses":{
247 "kind":"list",
248 "elements":[
250 "kind":"catch_clause",
251 "catch_keyword":{
252 "kind":"token",
253 "token":{
254 "kind":"catch",
255 "text":"catch",
256 "offset":41,
257 "leading_width":2,
258 "width":5,
259 "trailing_width":1,
260 "leading":[{"kind":"whitespace","text":" ","offset":41,"width":2}],
261 "trailing":[{"kind":"whitespace","text":" ","offset":48,"width":1}],
262 "line_number":6
265 "catch_left_paren":{
266 "kind":"token",
267 "token":{
268 "kind":"(",
269 "text":"(",
270 "offset":49,
271 "leading_width":0,
272 "width":1,
273 "trailing_width":0,
274 "leading":[],
275 "trailing":[],
276 "line_number":6
279 "catch_type":{
280 "kind":"simple_type_specifier",
281 "simple_type_specifier":{
282 "kind":"token",
283 "token":{
284 "kind":"name",
285 "text":"Bar",
286 "offset":50,
287 "leading_width":0,
288 "width":3,
289 "trailing_width":1,
290 "leading":[],
291 "trailing":[{"kind":"whitespace","text":" ","offset":53,"width":1}],
292 "line_number":6
296 "catch_variable":{
297 "kind":"token",
298 "token":{
299 "kind":"variable",
300 "text":"$a",
301 "offset":54,
302 "leading_width":0,
303 "width":2,
304 "trailing_width":0,
305 "leading":[],
306 "trailing":[],
307 "line_number":6
310 "catch_right_paren":{
311 "kind":"token",
312 "token":{
313 "kind":")",
314 "text":")",
315 "offset":56,
316 "leading_width":0,
317 "width":1,
318 "trailing_width":0,
319 "leading":[],
320 "trailing":[],
321 "line_number":6
324 "catch_body":{
325 "kind":"compound_statement",
326 "compound_left_brace":{
327 "kind":"token",
328 "token":{
329 "kind":"{",
330 "text":"{",
331 "offset":57,
332 "leading_width":0,
333 "width":1,
334 "trailing_width":1,
335 "leading":[],
336 "trailing":[{"kind":"end_of_line","text":"\n","offset":58,"width":1}],
337 "line_number":6
340 "compound_statements":{
341 "kind":"list",
342 "elements":[
344 "kind":"expression_statement",
345 "expression_statement_expression":{
346 "kind":"variable",
347 "variable_expression":{
348 "kind":"token",
349 "token":{
350 "kind":"variable",
351 "text":"$b",
352 "offset":59,
353 "leading_width":4,
354 "width":2,
355 "trailing_width":0,
356 "leading":[{"kind":"whitespace","text":" ","offset":59,"width":4}],
357 "trailing":[],
358 "line_number":7
362 "expression_statement_semicolon":{
363 "kind":"token",
364 "token":{
365 "kind":";",
366 "text":";",
367 "offset":65,
368 "leading_width":0,
369 "width":1,
370 "trailing_width":1,
371 "leading":[],
372 "trailing":[{"kind":"end_of_line","text":"\n","offset":66,"width":1}],
373 "line_number":7
379 "compound_right_brace":{
380 "kind":"token",
381 "token":{
382 "kind":"}",
383 "text":"}",
384 "offset":67,
385 "leading_width":2,
386 "width":1,
387 "trailing_width":1,
388 "leading":[{"kind":"whitespace","text":" ","offset":67,"width":2}],
389 "trailing":[{"kind":"end_of_line","text":"\n","offset":70,"width":1}],
390 "line_number":8
397 "try_finally_clause":{
398 "kind":"finally_clause",
399 "finally_keyword":{
400 "kind":"token",
401 "token":{
402 "kind":"finally",
403 "text":"finally",
404 "offset":71,
405 "leading_width":2,
406 "width":7,
407 "trailing_width":1,
408 "leading":[{"kind":"whitespace","text":" ","offset":71,"width":2}],
409 "trailing":[{"kind":"whitespace","text":" ","offset":80,"width":1}],
410 "line_number":9
413 "finally_body":{
414 "kind":"compound_statement",
415 "compound_left_brace":{
416 "kind":"token",
417 "token":{
418 "kind":"{",
419 "text":"{",
420 "offset":81,
421 "leading_width":0,
422 "width":1,
423 "trailing_width":1,
424 "leading":[],
425 "trailing":[{"kind":"end_of_line","text":"\n","offset":82,"width":1}],
426 "line_number":9
429 "compound_statements":{
430 "kind":"list",
431 "elements":[
433 "kind":"expression_statement",
434 "expression_statement_expression":{
435 "kind":"variable",
436 "variable_expression":{
437 "kind":"token",
438 "token":{
439 "kind":"variable",
440 "text":"$c",
441 "offset":83,
442 "leading_width":4,
443 "width":2,
444 "trailing_width":0,
445 "leading":[{"kind":"whitespace","text":" ","offset":83,"width":4}],
446 "trailing":[],
447 "line_number":10
451 "expression_statement_semicolon":{
452 "kind":"token",
453 "token":{
454 "kind":";",
455 "text":";",
456 "offset":89,
457 "leading_width":0,
458 "width":1,
459 "trailing_width":1,
460 "leading":[],
461 "trailing":[{"kind":"end_of_line","text":"\n","offset":90,"width":1}],
462 "line_number":10
468 "compound_right_brace":{
469 "kind":"token",
470 "token":{
471 "kind":"}",
472 "text":"}",
473 "offset":91,
474 "leading_width":2,
475 "width":1,
476 "trailing_width":1,
477 "leading":[{"kind":"whitespace","text":" ","offset":91,"width":2}],
478 "trailing":[{"kind":"end_of_line","text":"\n","offset":94,"width":1}],
479 "line_number":11
487 "compound_right_brace":{
488 "kind":"token",
489 "token":{
490 "kind":"}",
491 "text":"}",
492 "offset":95,
493 "leading_width":0,
494 "width":1,
495 "trailing_width":1,
496 "leading":[],
497 "trailing":[{"kind":"end_of_line","text":"\n","offset":96,"width":1}],
498 "line_number":12
504 "kind":"end_of_file",
505 "end_of_file_token":{
506 "kind":"token",
507 "token":{
508 "kind":"end_of_file",
509 "text":"",
510 "offset":97,
511 "leading_width":0,
512 "width":0,
513 "trailing_width":0,
514 "leading":[],
515 "trailing":[],
516 "line_number":13
523 "program_text":"<?hh\nfunction f(){\n try {\n $a++;\n }\n catch (Bar $a){\n $b;\n }\n finally {\n $c;\n }\n}\n",
524 "version":"2020-12-09-0001"