[ { "type": "expression", "named": true, "subtypes": [ { "type": "assignment_expression", "named": true }, { "type": "augmented_assignment_expression", "named": true }, { "type": "binary_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "clone_expression", "named": true }, { "type": "conditional_expression", "named": true }, { "type": "error_suppression_expression", "named": true }, { "type": "include_expression", "named": true }, { "type": "include_once_expression", "named": true }, { "type": "match_expression", "named": true }, { "type": "primary_expression", "named": true }, { "type": "reference_assignment_expression", "named": true }, { "type": "require_expression", "named": true }, { "type": "require_once_expression", "named": true }, { "type": "unary_op_expression", "named": true }, { "type": "yield_expression", "named": true } ] }, { "type": "literal", "named": true, "subtypes": [ { "type": "boolean", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "float", "named": true }, { "type": "heredoc", "named": true }, { "type": "integer", "named": true }, { "type": "nowdoc", "named": true }, { "type": "null", "named": true }, { "type": "string", "named": true } ] }, { "type": "primary_expression", "named": true, "subtypes": [ { "type": "anonymous_function", "named": true }, { "type": "array_creation_expression", "named": true }, { "type": "arrow_function", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "literal", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "print_intrinsic", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "shell_command_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "throw_expression", "named": true }, { "type": "update_expression", "named": true }, { "type": "variable_name", "named": true } ] }, { "type": "statement", "named": true, "subtypes": [ { "type": "break_statement", "named": true }, { "type": "class_declaration", "named": true }, { "type": "compound_statement", "named": true }, { "type": "const_declaration", "named": true }, { "type": "continue_statement", "named": true }, { "type": "declare_statement", "named": true }, { "type": "do_statement", "named": true }, { "type": "echo_statement", "named": true }, { "type": "empty_statement", "named": true }, { "type": "enum_declaration", "named": true }, { "type": "exit_statement", "named": true }, { "type": "expression_statement", "named": true }, { "type": "for_statement", "named": true }, { "type": "foreach_statement", "named": true }, { "type": "function_definition", "named": true }, { "type": "function_static_declaration", "named": true }, { "type": "global_declaration", "named": true }, { "type": "goto_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "interface_declaration", "named": true }, { "type": "named_label_statement", "named": true }, { "type": "namespace_definition", "named": true }, { "type": "namespace_use_declaration", "named": true }, { "type": "return_statement", "named": true }, { "type": "switch_statement", "named": true }, { "type": "trait_declaration", "named": true }, { "type": "try_statement", "named": true }, { "type": "unset_statement", "named": true }, { "type": "while_statement", "named": true } ] }, { "type": "type", "named": true, "subtypes": [ { "type": "disjunctive_normal_form_type", "named": true }, { "type": "intersection_type", "named": true }, { "type": "named_type", "named": true }, { "type": "optional_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "union_type", "named": true } ] }, { "type": "abstract_modifier", "named": true, "fields": {} }, { "type": "anonymous_class", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "declaration_list", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "abstract_modifier", "named": true }, { "type": "arguments", "named": true }, { "type": "base_clause", "named": true }, { "type": "class_interface_clause", "named": true }, { "type": "final_modifier", "named": true }, { "type": "readonly_modifier", "named": true }, { "type": "static_modifier", "named": true }, { "type": "var_modifier", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "anonymous_function", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "compound_statement", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "formal_parameters", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "bottom_type", "named": true }, { "type": "type", "named": true } ] }, "static_modifier": { "multiple": false, "required": false, "types": [ { "type": "static_modifier", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "anonymous_function_use_clause", "named": true } ] } }, { "type": "anonymous_function_use_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "by_ref", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "argument", "named": true, "fields": { "name": { "multiple": false, "required": false, "types": [ { "type": "name", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variadic_unpacking", "named": true } ] } }, { "type": "arguments", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "argument", "named": true }, { "type": "variadic_placeholder", "named": true } ] } }, { "type": "array_creation_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_element_initializer", "named": true } ] } }, { "type": "array_element_initializer", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "by_ref", "named": true }, { "type": "expression", "named": true }, { "type": "variadic_unpacking", "named": true } ] } }, { "type": "arrow_function", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "formal_parameters", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "bottom_type", "named": true }, { "type": "type", "named": true } ] }, "static_modifier": { "multiple": false, "required": false, "types": [ { "type": "static_modifier", "named": true } ] } } }, { "type": "assignment_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "list_literal", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "attribute", "named": true, "fields": { "parameters": { "multiple": false, "required": false, "types": [ { "type": "arguments", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "attribute_group", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute", "named": true } ] } }, { "type": "attribute_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "attribute_group", "named": true } ] } }, { "type": "augmented_assignment_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] }, "operator": { "multiple": false, "required": true, "types": [ { "type": "%=", "named": false }, { "type": "&=", "named": false }, { "type": "**=", "named": false }, { "type": "*=", "named": false }, { "type": "+=", "named": false }, { "type": "-=", "named": false }, { "type": ".=", "named": false }, { "type": "/=", "named": false }, { "type": "<<=", "named": false }, { "type": ">>=", "named": false }, { "type": "??=", "named": false }, { "type": "^=", "named": false }, { "type": "|=", "named": false } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "base_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "binary_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "operator": { "multiple": false, "required": true, "types": [ { "type": "!=", "named": false }, { "type": "!==", "named": false }, { "type": "%", "named": false }, { "type": "&", "named": false }, { "type": "&&", "named": false }, { "type": "*", "named": false }, { "type": "**", "named": false }, { "type": "+", "named": false }, { "type": "-", "named": false }, { "type": ".", "named": false }, { "type": "/", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "<>", "named": false }, { "type": "==", "named": false }, { "type": "===", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": "??", "named": false }, { "type": "^", "named": false }, { "type": "and", "named": false }, { "type": "instanceof", "named": false }, { "type": "or", "named": false }, { "type": "xor", "named": false }, { "type": "|", "named": false }, { "type": "||", "named": false } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "name", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "boolean", "named": true, "fields": {} }, { "type": "break_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "by_ref", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "case_statement", "named": true, "fields": { "value": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "statement", "named": true } ] } }, { "type": "cast_expression", "named": true, "fields": { "type": { "multiple": false, "required": true, "types": [ { "type": "cast_type", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "clone_expression", "named": true }, { "type": "error_suppression_expression", "named": true }, { "type": "include_expression", "named": true }, { "type": "include_once_expression", "named": true }, { "type": "primary_expression", "named": true }, { "type": "unary_op_expression", "named": true } ] } } }, { "type": "cast_type", "named": true, "fields": {} }, { "type": "catch_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "compound_statement", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "variable_name", "named": true } ] }, "type": { "multiple": false, "required": true, "types": [ { "type": "type_list", "named": true } ] } } }, { "type": "class_constant_access_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "relative_scope", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "class_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "declaration_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "abstract_modifier", "named": true }, { "type": "base_clause", "named": true }, { "type": "class_interface_clause", "named": true }, { "type": "final_modifier", "named": true }, { "type": "readonly_modifier", "named": true }, { "type": "static_modifier", "named": true }, { "type": "var_modifier", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "class_interface_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "clone_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "primary_expression", "named": true } ] } }, { "type": "colon_block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "statement", "named": true } ] } }, { "type": "compound_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "statement", "named": true } ] } }, { "type": "conditional_expression", "named": true, "fields": { "alternative": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] }, "body": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "const_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "abstract_modifier", "named": true }, { "type": "const_element", "named": true }, { "type": "final_modifier", "named": true }, { "type": "readonly_modifier", "named": true }, { "type": "static_modifier", "named": true }, { "type": "var_modifier", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "const_element", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "name", "named": true } ] } }, { "type": "continue_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "declaration_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "const_declaration", "named": true }, { "type": "method_declaration", "named": true }, { "type": "property_declaration", "named": true }, { "type": "use_declaration", "named": true } ] } }, { "type": "declare_directive", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "literal", "named": true } ] } }, { "type": "declare_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "declare_directive", "named": true }, { "type": "statement", "named": true } ] } }, { "type": "default_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "statement", "named": true } ] } }, { "type": "disjunctive_normal_form_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "intersection_type", "named": true }, { "type": "named_type", "named": true }, { "type": "optional_type", "named": true }, { "type": "primitive_type", "named": true } ] } }, { "type": "do_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "statement", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "dynamic_variable_name", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "echo_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "sequence_expression", "named": true } ] } }, { "type": "else_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "colon_block", "named": true }, { "type": "statement", "named": true } ] } } }, { "type": "else_if_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "colon_block", "named": true }, { "type": "statement", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "empty_statement", "named": true, "fields": {} }, { "type": "encapsed_string", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "escape_sequence", "named": true }, { "type": "expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "string_content", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "enum_case", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "encapsed_string", "named": true }, { "type": "heredoc", "named": true }, { "type": "integer", "named": true }, { "type": "nowdoc", "named": true }, { "type": "string", "named": true } ] } } }, { "type": "enum_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "enum_declaration_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "class_interface_clause", "named": true }, { "type": "primitive_type", "named": true } ] } }, { "type": "enum_declaration_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "enum_case", "named": true }, { "type": "method_declaration", "named": true }, { "type": "use_declaration", "named": true } ] } }, { "type": "error_suppression_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "exit_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "expression_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "final_modifier", "named": true, "fields": {} }, { "type": "finally_clause", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "compound_statement", "named": true } ] } } }, { "type": "for_statement", "named": true, "fields": { "body": { "multiple": true, "required": false, "types": [ { "type": "statement", "named": true } ] }, "condition": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "sequence_expression", "named": true } ] }, "initialize": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "sequence_expression", "named": true } ] }, "update": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true }, { "type": "sequence_expression", "named": true } ] } } }, { "type": "foreach_statement", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "colon_block", "named": true }, { "type": "statement", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "by_ref", "named": true }, { "type": "expression", "named": true }, { "type": "list_literal", "named": true }, { "type": "pair", "named": true } ] } }, { "type": "formal_parameters", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "property_promotion_parameter", "named": true }, { "type": "simple_parameter", "named": true }, { "type": "variadic_parameter", "named": true } ] } }, { "type": "function_call_expression", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] }, "function": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "function_definition", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "compound_statement", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "formal_parameters", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "bottom_type", "named": true }, { "type": "type", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] } }, { "type": "function_static_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "static_variable_declaration", "named": true } ] } }, { "type": "global_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "goto_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "heredoc", "named": true, "fields": { "end_tag": { "multiple": false, "required": true, "types": [ { "type": "heredoc_end", "named": true } ] }, "identifier": { "multiple": false, "required": true, "types": [ { "type": "heredoc_start", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "heredoc_body", "named": true } ] } } }, { "type": "heredoc_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "escape_sequence", "named": true }, { "type": "expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "string_content", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "alternative": { "multiple": true, "required": false, "types": [ { "type": "else_clause", "named": true }, { "type": "else_if_clause", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "colon_block", "named": true }, { "type": "statement", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "include_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "include_once_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "interface_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "declaration_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "base_clause", "named": true } ] } }, { "type": "intersection_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "named_type", "named": true }, { "type": "optional_type", "named": true }, { "type": "primitive_type", "named": true } ] } }, { "type": "list_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "by_ref", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "list_literal", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "match_block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "match_conditional_expression", "named": true }, { "type": "match_default_expression", "named": true } ] } }, { "type": "match_condition_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "match_conditional_expression", "named": true, "fields": { "conditional_expressions": { "multiple": false, "required": true, "types": [ { "type": "match_condition_list", "named": true } ] }, "return_expression": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "match_default_expression", "named": true, "fields": { "return_expression": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "match_expression", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "match_block", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "member_access_expression", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variable_name", "named": true } ] }, "object": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "member_call_expression", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variable_name", "named": true } ] }, "object": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "method_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": false, "types": [ { "type": "compound_statement", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] }, "parameters": { "multiple": false, "required": true, "types": [ { "type": "formal_parameters", "named": true } ] }, "return_type": { "multiple": false, "required": false, "types": [ { "type": "bottom_type", "named": true }, { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "abstract_modifier", "named": true }, { "type": "final_modifier", "named": true }, { "type": "readonly_modifier", "named": true }, { "type": "reference_modifier", "named": true }, { "type": "static_modifier", "named": true }, { "type": "var_modifier", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "name", "named": true, "fields": {} }, { "type": "named_label_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "named_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "namespace_definition", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "compound_statement", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "namespace_name", "named": true } ] } } }, { "type": "namespace_name", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "namespace_use_clause", "named": true, "fields": { "alias": { "multiple": false, "required": false, "types": [ { "type": "name", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "const", "named": false }, { "type": "function", "named": false } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "namespace_use_declaration", "named": true, "fields": { "body": { "multiple": false, "required": false, "types": [ { "type": "namespace_use_group", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "const", "named": false }, { "type": "function", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "namespace_name", "named": true }, { "type": "namespace_use_clause", "named": true } ] } }, { "type": "namespace_use_group", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "namespace_use_clause", "named": true } ] } }, { "type": "nowdoc", "named": true, "fields": { "end_tag": { "multiple": false, "required": true, "types": [ { "type": "heredoc_end", "named": true } ] }, "identifier": { "multiple": false, "required": true, "types": [ { "type": "heredoc_start", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "nowdoc_body", "named": true } ] } } }, { "type": "nowdoc_body", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "nowdoc_string", "named": true } ] } }, { "type": "null", "named": true, "fields": {} }, { "type": "nullsafe_member_access_expression", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variable_name", "named": true } ] }, "object": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "nullsafe_member_call_expression", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variable_name", "named": true } ] }, "object": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "object_creation_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "anonymous_class", "named": true }, { "type": "arguments", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "name", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "optional_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "named_type", "named": true }, { "type": "primitive_type", "named": true } ] } }, { "type": "pair", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "by_ref", "named": true }, { "type": "expression", "named": true }, { "type": "list_literal", "named": true } ] } }, { "type": "parenthesized_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "primitive_type", "named": true, "fields": {} }, { "type": "print_intrinsic", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "program", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "php_tag", "named": true }, { "type": "statement", "named": true }, { "type": "text", "named": true } ] } }, { "type": "property_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "abstract_modifier", "named": true }, { "type": "final_modifier", "named": true }, { "type": "property_element", "named": true }, { "type": "property_hook_list", "named": true }, { "type": "readonly_modifier", "named": true }, { "type": "static_modifier", "named": true }, { "type": "var_modifier", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "property_element", "named": true, "fields": { "default_value": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "variable_name", "named": true } ] } } }, { "type": "property_hook", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": false, "types": [ { "type": "compound_statement", "named": true }, { "type": "expression", "named": true } ] }, "final": { "multiple": false, "required": false, "types": [ { "type": "final_modifier", "named": true } ] }, "parameters": { "multiple": false, "required": false, "types": [ { "type": "formal_parameters", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "property_hook_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "property_hook", "named": true } ] } }, { "type": "property_promotion_parameter", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "default_value": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "by_ref", "named": true }, { "type": "variable_name", "named": true } ] }, "readonly": { "multiple": false, "required": false, "types": [ { "type": "readonly_modifier", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] }, "visibility": { "multiple": false, "required": true, "types": [ { "type": "visibility_modifier", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "property_hook_list", "named": true } ] } }, { "type": "qualified_name", "named": true, "fields": { "prefix": { "multiple": true, "required": true, "types": [ { "type": "\\", "named": false }, { "type": "namespace_name", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "readonly_modifier", "named": true, "fields": {} }, { "type": "reference_assignment_expression", "named": true, "fields": { "left": { "multiple": false, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "list_literal", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] }, "right": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "reference_modifier", "named": true, "fields": {} }, { "type": "relative_scope", "named": true, "fields": {} }, { "type": "require_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "require_once_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "return_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } }, { "type": "scoped_call_expression", "named": true, "fields": { "arguments": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "expression", "named": true }, { "type": "name", "named": true }, { "type": "variable_name", "named": true } ] }, "scope": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "relative_scope", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "scoped_property_access_expression", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "variable_name", "named": true } ] }, "scope": { "multiple": false, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "cast_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "relative_scope", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } } }, { "type": "sequence_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "expression", "named": true }, { "type": "sequence_expression", "named": true } ] } }, { "type": "shell_command_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "dynamic_variable_name", "named": true }, { "type": "escape_sequence", "named": true }, { "type": "expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "string_content", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "simple_parameter", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "default_value": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "variable_name", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } } }, { "type": "static_modifier", "named": true, "fields": {} }, { "type": "static_variable_declaration", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "variable_name", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] } } }, { "type": "string", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "escape_sequence", "named": true }, { "type": "string_content", "named": true } ] } }, { "type": "string_content", "named": true, "fields": {} }, { "type": "subscript_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "array_creation_expression", "named": true }, { "type": "class_constant_access_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "encapsed_string", "named": true }, { "type": "expression", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "heredoc", "named": true }, { "type": "integer", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "name", "named": true }, { "type": "nowdoc", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "object_creation_expression", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "string", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "switch_block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "case_statement", "named": true }, { "type": "default_statement", "named": true } ] } }, { "type": "switch_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "switch_block", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "text", "named": true, "fields": {} }, { "type": "text_interpolation", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "php_tag", "named": true }, { "type": "text", "named": true } ] } }, { "type": "throw_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "trait_declaration", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "body": { "multiple": false, "required": true, "types": [ { "type": "declaration_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } } }, { "type": "try_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "compound_statement", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "catch_clause", "named": true }, { "type": "finally_clause", "named": true } ] } }, { "type": "type_list", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "named_type", "named": true } ] } }, { "type": "unary_op_expression", "named": true, "fields": { "argument": { "multiple": false, "required": false, "types": [ { "type": "expression", "named": true } ] }, "operator": { "multiple": false, "required": false, "types": [ { "type": "!", "named": false }, { "type": "+", "named": false }, { "type": "-", "named": false }, { "type": "~", "named": false } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "integer", "named": true } ] } }, { "type": "union_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "named_type", "named": true }, { "type": "optional_type", "named": true }, { "type": "primitive_type", "named": true } ] } }, { "type": "unset_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] } }, { "type": "update_expression", "named": true, "fields": { "argument": { "multiple": false, "required": true, "types": [ { "type": "cast_expression", "named": true }, { "type": "dynamic_variable_name", "named": true }, { "type": "function_call_expression", "named": true }, { "type": "member_access_expression", "named": true }, { "type": "member_call_expression", "named": true }, { "type": "nullsafe_member_access_expression", "named": true }, { "type": "nullsafe_member_call_expression", "named": true }, { "type": "scoped_call_expression", "named": true }, { "type": "scoped_property_access_expression", "named": true }, { "type": "subscript_expression", "named": true }, { "type": "variable_name", "named": true } ] }, "operator": { "multiple": false, "required": true, "types": [ { "type": "++", "named": false }, { "type": "--", "named": false } ] } } }, { "type": "use_as_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "class_constant_access_expression", "named": true }, { "type": "name", "named": true }, { "type": "visibility_modifier", "named": true } ] } }, { "type": "use_declaration", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "name", "named": true }, { "type": "qualified_name", "named": true }, { "type": "use_list", "named": true } ] } }, { "type": "use_instead_of_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "class_constant_access_expression", "named": true }, { "type": "name", "named": true } ] } }, { "type": "use_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "use_as_clause", "named": true }, { "type": "use_instead_of_clause", "named": true } ] } }, { "type": "variable_name", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "name", "named": true } ] } }, { "type": "variadic_parameter", "named": true, "fields": { "attributes": { "multiple": false, "required": false, "types": [ { "type": "attribute_list", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "variable_name", "named": true } ] }, "reference_modifier": { "multiple": false, "required": false, "types": [ { "type": "reference_modifier", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "type", "named": true } ] } } }, { "type": "variadic_placeholder", "named": true, "fields": {} }, { "type": "variadic_unpacking", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "expression", "named": true } ] } }, { "type": "visibility_modifier", "named": true, "fields": {} }, { "type": "while_statement", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "colon_block", "named": true }, { "type": "statement", "named": true } ] }, "condition": { "multiple": false, "required": true, "types": [ { "type": "parenthesized_expression", "named": true } ] } } }, { "type": "yield_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "array_element_initializer", "named": true }, { "type": "expression", "named": true } ] } }, { "type": "!", "named": false }, { "type": "!=", "named": false }, { "type": "!==", "named": false }, { "type": "\"", "named": false }, { "type": "#[", "named": false }, { "type": "$", "named": false }, { "type": "%", "named": false }, { "type": "%=", "named": false }, { "type": "&", "named": false }, { "type": "&&", "named": false }, { "type": "&=", "named": false }, { "type": "'", "named": false }, { "type": "(", "named": false }, { "type": ")", "named": false }, { "type": "*", "named": false }, { "type": "**", "named": false }, { "type": "**=", "named": false }, { "type": "*=", "named": false }, { "type": "+", "named": false }, { "type": "++", "named": false }, { "type": "+=", "named": false }, { "type": ",", "named": false }, { "type": "-", "named": false }, { "type": "--", "named": false }, { "type": "-=", "named": false }, { "type": "->", "named": false }, { "type": ".", "named": false }, { "type": "...", "named": false }, { "type": ".=", "named": false }, { "type": "/", "named": false }, { "type": "/=", "named": false }, { "type": ":", "named": false }, { "type": "::", "named": false }, { "type": ";", "named": false }, { "type": "<", "named": false }, { "type": "<<", "named": false }, { "type": "<<<", "named": false }, { "type": "<<=", "named": false }, { "type": "<=", "named": false }, { "type": "<=>", "named": false }, { "type": "<>", "named": false }, { "type": "=", "named": false }, { "type": "==", "named": false }, { "type": "===", "named": false }, { "type": "=>", "named": false }, { "type": ">", "named": false }, { "type": ">=", "named": false }, { "type": ">>", "named": false }, { "type": ">>=", "named": false }, { "type": "?", "named": false }, { "type": "?->", "named": false }, { "type": "?>", "named": false }, { "type": "??", "named": false }, { "type": "??=", "named": false }, { "type": "@", "named": false }, { "type": "[", "named": false }, { "type": "\\", "named": false }, { "type": "]", "named": false }, { "type": "^", "named": false }, { "type": "^=", "named": false }, { "type": "`", "named": false }, { "type": "abstract", "named": false }, { "type": "and", "named": false }, { "type": "array", "named": false }, { "type": "as", "named": false }, { "type": "bool", "named": false }, { "type": "bottom_type", "named": true }, { "type": "break", "named": false }, { "type": "callable", "named": false }, { "type": "case", "named": false }, { "type": "catch", "named": false }, { "type": "class", "named": false }, { "type": "clone", "named": false }, { "type": "comment", "named": true }, { "type": "const", "named": false }, { "type": "continue", "named": false }, { "type": "declare", "named": false }, { "type": "default", "named": false }, { "type": "do", "named": false }, { "type": "echo", "named": false }, { "type": "else", "named": false }, { "type": "elseif", "named": false }, { "type": "encoding", "named": false }, { "type": "enddeclare", "named": false }, { "type": "endfor", "named": false }, { "type": "endforeach", "named": false }, { "type": "endif", "named": false }, { "type": "endswitch", "named": false }, { "type": "endwhile", "named": false }, { "type": "enum", "named": false }, { "type": "escape_sequence", "named": true }, { "type": "exit", "named": false }, { "type": "extends", "named": false }, { "type": "false", "named": false }, { "type": "final", "named": false }, { "type": "finally", "named": false }, { "type": "float", "named": false }, { "type": "float", "named": true }, { "type": "fn", "named": false }, { "type": "for", "named": false }, { "type": "foreach", "named": false }, { "type": "from", "named": false }, { "type": "function", "named": false }, { "type": "global", "named": false }, { "type": "goto", "named": false }, { "type": "heredoc_end", "named": true }, { "type": "heredoc_start", "named": true }, { "type": "if", "named": false }, { "type": "implements", "named": false }, { "type": "include", "named": false }, { "type": "include_once", "named": false }, { "type": "instanceof", "named": false }, { "type": "insteadof", "named": false }, { "type": "int", "named": false }, { "type": "integer", "named": true }, { "type": "interface", "named": false }, { "type": "iterable", "named": false }, { "type": "list", "named": false }, { "type": "match", "named": false }, { "type": "mixed", "named": false }, { "type": "namespace", "named": false }, { "type": "new", "named": false }, { "type": "nowdoc_string", "named": true }, { "type": "null", "named": false }, { "type": "or", "named": false }, { "type": "parent", "named": false }, { "type": "php_tag", "named": true }, { "type": "print", "named": false }, { "type": "private", "named": false }, { "type": "protected", "named": false }, { "type": "public", "named": false }, { "type": "readonly", "named": false }, { "type": "require", "named": false }, { "type": "require_once", "named": false }, { "type": "return", "named": false }, { "type": "self", "named": false }, { "type": "static", "named": false }, { "type": "strict_types", "named": false }, { "type": "string", "named": false }, { "type": "switch", "named": false }, { "type": "throw", "named": false }, { "type": "ticks", "named": false }, { "type": "trait", "named": false }, { "type": "true", "named": false }, { "type": "try", "named": false }, { "type": "unset", "named": false }, { "type": "use", "named": false }, { "type": "var_modifier", "named": true }, { "type": "void", "named": false }, { "type": "while", "named": false }, { "type": "xor", "named": false }, { "type": "yield", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "|=", "named": false }, { "type": "||", "named": false }, { "type": "}", "named": false }, { "type": "~", "named": false } ]