4 "script_declarations":{
8 "kind":"markup_section",
24 "kind":"markup_suffix",
25 "markup_suffix_less_than_question":{
39 "markup_suffix_name":{
49 "trailing":[{"kind":"end_of_line","text":"\n","offset":4,"width":1}],
56 "kind":"function_declaration",
57 "function_attribute_spec":{"kind":"missing"},
58 "function_declaration_header":{
59 "kind":"function_declaration_header",
60 "function_modifiers":{
72 "leading":[{"kind":"end_of_line","text":"\n","offset":5,"width":1}],
73 "trailing":[{"kind":"whitespace","text":" ","offset":11,"width":1}],
89 "trailing":[{"kind":"whitespace","text":" ","offset":20,"width":1}],
107 "function_type_parameter_list":{"kind":"missing"},
108 "function_left_paren":{
122 "function_parameter_list":{"kind":"missing"},
123 "function_right_paren":{
137 "function_capability":{"kind":"missing"},
148 "trailing":[{"kind":"whitespace","text":" ","offset":27,"width":1}],
153 "kind":"generic_type_specifier",
154 "generic_class_type":{
168 "generic_argument_list":{
169 "kind":"type_arguments",
170 "type_arguments_left_angle":{
184 "type_arguments_types":{
190 "kind":"simple_type_specifier",
191 "simple_type_specifier":{
206 "list_separator":{"kind":"missing"}
210 "type_arguments_right_angle":{
220 "trailing":[{"kind":"whitespace","text":" ","offset":43,"width":1}],
226 "function_where_clause":{"kind":"missing"}
229 "kind":"compound_statement",
230 "compound_left_brace":{
240 "trailing":[{"kind":"end_of_line","text":"\n","offset":45,"width":1}],
244 "compound_statements":{
248 "kind":"expression_statement",
249 "expression_statement_expression":{
250 "kind":"binary_expression",
251 "binary_left_operand":{
253 "variable_expression":{
262 "leading":[{"kind":"whitespace","text":" ","offset":46,"width":2}],
263 "trailing":[{"kind":"whitespace","text":" ","offset":50,"width":1}],
278 "trailing":[{"kind":"whitespace","text":" ","offset":52,"width":1}],
282 "binary_right_operand":{
283 "kind":"binary_expression",
284 "binary_left_operand":{
285 "kind":"parenthesized_expression",
286 "parenthesized_expression_left_paren":{
300 "parenthesized_expression_expression":{
301 "kind":"prefix_unary_expression",
302 "prefix_unary_operator":{
312 "trailing":[{"kind":"whitespace","text":" ","offset":59,"width":1}],
316 "prefix_unary_operand":{
317 "kind":"function_call_expression",
318 "function_call_receiver":{
332 "function_call_type_args":{"kind":"missing"},
333 "function_call_left_paren":{
347 "function_call_argument_list":{
353 "kind":"binary_expression",
354 "binary_left_operand":{
356 "variable_expression":{
366 "trailing":[{"kind":"whitespace","text":" ","offset":67,"width":1}],
381 "trailing":[{"kind":"whitespace","text":" ","offset":69,"width":1}],
385 "binary_right_operand":{
387 "literal_expression":{
390 "kind":"decimal_literal",
403 "list_separator":{"kind":"missing"}
407 "function_call_right_paren":{
423 "parenthesized_expression_right_paren":{
433 "trailing":[{"kind":"whitespace","text":" ","offset":74,"width":1}],
448 "trailing":[{"kind":"whitespace","text":" ","offset":76,"width":1}],
452 "binary_right_operand":{
454 "variable_expression":{
471 "expression_statement_semicolon":{
481 "trailing":[{"kind":"end_of_line","text":"\n","offset":80,"width":1}],
488 "compound_right_brace":{
498 "trailing":[{"kind":"end_of_line","text":"\n","offset":82,"width":1}],
505 "kind":"end_of_file",
506 "end_of_file_token":{
509 "kind":"end_of_file",
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"