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":{"kind":"missing"},
70 "leading":[{"kind":"end_of_line","text":"\n","offset":5,"width":1}],
71 "trailing":[{"kind":"whitespace","text":" ","offset":14,"width":1}],
89 "function_type_parameter_list":{"kind":"missing"},
90 "function_left_paren":{
104 "function_parameter_list":{
110 "kind":"parameter_declaration",
111 "parameter_attribute":{"kind":"missing"},
112 "parameter_visibility":{"kind":"missing"},
113 "parameter_call_convention":{"kind":"missing"},
114 "parameter_type":{"kind":"missing"},
125 "trailing":[{"kind":"whitespace","text":" ","offset":21,"width":1}],
129 "parameter_default_value":{
130 "kind":"simple_initializer",
131 "simple_initializer_equal":{
141 "trailing":[{"kind":"whitespace","text":" ","offset":23,"width":1}],
145 "simple_initializer_value":{
147 "literal_expression":{
150 "kind":"decimal_literal",
174 "trailing":[{"kind":"whitespace","text":" ","offset":26,"width":1}],
182 "kind":"parameter_declaration",
183 "parameter_attribute":{"kind":"missing"},
184 "parameter_visibility":{"kind":"missing"},
185 "parameter_call_convention":{"kind":"missing"},
186 "parameter_type":{"kind":"missing"},
201 "parameter_default_value":{"kind":"missing"}
203 "list_separator":{"kind":"missing"}
207 "function_right_paren":{
217 "trailing":[{"kind":"whitespace","text":" ","offset":32,"width":1}],
221 "function_capability":{"kind":"missing"},
222 "function_colon":{"kind":"missing"},
223 "function_type":{"kind":"missing"},
224 "function_where_clause":{"kind":"missing"}
227 "kind":"compound_statement",
228 "compound_left_brace":{
239 {"kind":"whitespace","text":" ","offset":34,"width":1},
241 "kind":"single_line_comment",
242 "text":"// missing value is illegal in hack, legal in php",
246 {"kind":"end_of_line","text":"\n","offset":84,"width":1}
251 "compound_statements":{
255 "kind":"expression_statement",
256 "expression_statement_expression":{
257 "kind":"binary_expression",
258 "binary_left_operand":{
259 "kind":"subscript_expression",
260 "subscript_receiver":{
262 "variable_expression":{
271 "leading":[{"kind":"whitespace","text":" ","offset":85,"width":4}],
277 "subscript_left_bracket":{
291 "subscript_index":{"kind":"missing"},
292 "subscript_right_bracket":{
302 "trailing":[{"kind":"whitespace","text":" ","offset":93,"width":1}],
317 "trailing":[{"kind":"whitespace","text":" ","offset":95,"width":1}],
321 "binary_right_operand":{
322 "kind":"object_creation_expression",
323 "object_creation_new_keyword":{
333 "trailing":[{"kind":"whitespace","text":" ","offset":99,"width":1}],
337 "object_creation_object":{
338 "kind":"constructor_call",
339 "constructor_call_type":{
353 "constructor_call_left_paren":{"kind":"missing"},
354 "constructor_call_argument_list":{"kind":"missing"},
355 "constructor_call_right_paren":{"kind":"missing"}
359 "expression_statement_semicolon":{
370 {"kind":"whitespace","text":" ","offset":102,"width":1},
372 "kind":"single_line_comment",
373 "text":"// error2038 in hack, but legal in php",
377 {"kind":"end_of_line","text":"\n","offset":141,"width":1}
385 "compound_right_brace":{
395 "trailing":[{"kind":"end_of_line","text":"\n","offset":143,"width":1}],
402 "kind":"end_of_file",
403 "end_of_file_token":{
406 "kind":"end_of_file",
421 "program_text":"<?hh\n\nfunction f($foo = 1, $bar) { // missing value is illegal in hack, legal in php\n $a[] = new E; // error2038 in hack, but legal in php\n}\n",
422 "version":"2020-12-09-0001"