4 "script_declarations":{
8 "kind":"markup_section",
24 "kind":"markup_suffix",
25 "markup_suffix_less_than_question":{
39 "markup_suffix_name":{
50 {"kind":"whitespace","text":" ","offset":4,"width":1},
51 {"kind":"single_line_comment","text":"// strict","offset":5,"width":9},
52 {"kind":"end_of_line","text":"\n","offset":14,"width":1}
60 "kind":"function_declaration",
61 "function_attribute_spec":{"kind":"missing"},
62 "function_declaration_header":{
63 "kind":"function_declaration_header",
64 "function_modifiers":{"kind":"missing"},
74 "leading":[{"kind":"end_of_line","text":"\n","offset":15,"width":1}],
75 "trailing":[{"kind":"whitespace","text":" ","offset":24,"width":1}],
93 "function_type_parameter_list":{"kind":"missing"},
94 "function_left_paren":{
108 "function_parameter_list":{
114 "kind":"parameter_declaration",
115 "parameter_attribute":{"kind":"missing"},
116 "parameter_visibility":{"kind":"missing"},
117 "parameter_call_convention":{"kind":"missing"},
119 "kind":"simple_type_specifier",
120 "simple_type_specifier":{
130 "trailing":[{"kind":"whitespace","text":" ","offset":32,"width":1}],
149 "parameter_default_value":{"kind":"missing"}
151 "list_separator":{"kind":"missing"}
155 "function_right_paren":{
169 "function_capability":{"kind":"missing"},
180 "trailing":[{"kind":"whitespace","text":" ","offset":37,"width":1}],
185 "kind":"simple_type_specifier",
186 "simple_type_specifier":{
196 "trailing":[{"kind":"whitespace","text":" ","offset":41,"width":1}],
201 "function_where_clause":{"kind":"missing"}
204 "kind":"compound_statement",
205 "compound_left_brace":{
215 "trailing":[{"kind":"end_of_line","text":"\n","offset":43,"width":1}],
219 "compound_statements":{
223 "kind":"return_statement",
233 "leading":[{"kind":"whitespace","text":" ","offset":44,"width":2}],
234 "trailing":[{"kind":"whitespace","text":" ","offset":52,"width":1}],
238 "return_expression":{
240 "variable_expression":{
265 "trailing":[{"kind":"end_of_line","text":"\n","offset":56,"width":1}],
272 "compound_right_brace":{
282 "trailing":[{"kind":"end_of_line","text":"\n","offset":58,"width":1}],
289 "kind":"function_declaration",
290 "function_attribute_spec":{"kind":"missing"},
291 "function_declaration_header":{
292 "kind":"function_declaration_header",
293 "function_modifiers":{"kind":"missing"},
303 "leading":[{"kind":"end_of_line","text":"\n","offset":59,"width":1}],
304 "trailing":[{"kind":"whitespace","text":" ","offset":68,"width":1}],
322 "function_type_parameter_list":{"kind":"missing"},
323 "function_left_paren":{
337 "function_parameter_list":{
343 "kind":"parameter_declaration",
344 "parameter_attribute":{"kind":"missing"},
345 "parameter_visibility":{"kind":"missing"},
346 "parameter_call_convention":{"kind":"missing"},
348 "kind":"nullable_type_specifier",
349 "nullable_question":{
364 "kind":"simple_type_specifier",
365 "simple_type_specifier":{
375 "trailing":[{"kind":"whitespace","text":" ","offset":75,"width":1}],
395 "parameter_default_value":{"kind":"missing"}
397 "list_separator":{"kind":"missing"}
401 "function_right_paren":{
415 "function_capability":{"kind":"missing"},
426 "trailing":[{"kind":"whitespace","text":" ","offset":80,"width":1}],
431 "kind":"simple_type_specifier",
432 "simple_type_specifier":{
442 "trailing":[{"kind":"whitespace","text":" ","offset":84,"width":1}],
447 "function_where_clause":{"kind":"missing"}
450 "kind":"compound_statement",
451 "compound_left_brace":{
461 "trailing":[{"kind":"end_of_line","text":"\n","offset":86,"width":1}],
465 "compound_statements":{
469 "kind":"expression_statement",
470 "expression_statement_expression":{
471 "kind":"binary_expression",
472 "binary_left_operand":{
474 "variable_expression":{
483 "leading":[{"kind":"whitespace","text":" ","offset":87,"width":2}],
484 "trailing":[{"kind":"whitespace","text":" ","offset":91,"width":1}],
499 "trailing":[{"kind":"whitespace","text":" ","offset":95,"width":1}],
503 "binary_right_operand":{
505 "literal_expression":{
508 "kind":"decimal_literal",
521 "expression_statement_semicolon":{
531 "trailing":[{"kind":"end_of_line","text":"\n","offset":98,"width":1}],
537 "kind":"expression_statement",
538 "expression_statement_expression":{
539 "kind":"binary_expression",
540 "binary_left_operand":{
542 "variable_expression":{
551 "leading":[{"kind":"whitespace","text":" ","offset":99,"width":2}],
552 "trailing":[{"kind":"whitespace","text":" ","offset":103,"width":1}],
567 "trailing":[{"kind":"whitespace","text":" ","offset":105,"width":1}],
571 "binary_right_operand":{
573 "literal_expression":{
576 "kind":"decimal_literal",
589 "expression_statement_semicolon":{
599 "trailing":[{"kind":"end_of_line","text":"\n","offset":108,"width":1}],
605 "kind":"return_statement",
615 "leading":[{"kind":"whitespace","text":" ","offset":109,"width":2}],
616 "trailing":[{"kind":"whitespace","text":" ","offset":117,"width":1}],
620 "return_expression":{
621 "kind":"binary_expression",
622 "binary_left_operand":{
624 "variable_expression":{
634 "trailing":[{"kind":"whitespace","text":" ","offset":120,"width":1}],
649 "trailing":[{"kind":"whitespace","text":" ","offset":124,"width":1}],
653 "binary_right_operand":{
654 "kind":"binary_expression",
655 "binary_left_operand":{
657 "variable_expression":{
667 "trailing":[{"kind":"whitespace","text":" ","offset":127,"width":1}],
682 "trailing":[{"kind":"whitespace","text":" ","offset":130,"width":1}],
686 "binary_right_operand":{
687 "kind":"function_call_expression",
688 "function_call_receiver":{
702 "function_call_type_args":{"kind":"missing"},
703 "function_call_left_paren":{
717 "function_call_argument_list":{"kind":"missing"},
718 "function_call_right_paren":{
745 "trailing":[{"kind":"end_of_line","text":"\n","offset":137,"width":1}],
752 "compound_right_brace":{
762 "trailing":[{"kind":"end_of_line","text":"\n","offset":139,"width":1}],
769 "kind":"end_of_file",
770 "end_of_file_token":{
773 "kind":"end_of_file",
788 "program_text":"<?hh // strict\n\nfunction foo(int $y): int {\n return $y;\n}\n\nfunction f(?int $x): int {\n $x ??= 0;\n $y = 3;\n return $x ??= $y |> foo();\n}\n",
789 "version":"2020-12-09-0001"