tree-sitter-php
Version:
PHP grammar for tree-sitter
2,625 lines (2,624 loc) • 71.1 kB
JSON
[
{
"type": "_expression",
"named": true,
"subtypes": [
{
"type": "_primary_expression",
"named": true
},
{
"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": "exponentiation_expression",
"named": true
},
{
"type": "include_expression",
"named": true
},
{
"type": "include_once_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": "float",
"named": true
},
{
"type": "heredoc",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "null",
"named": true
},
{
"type": "string",
"named": true
}
]
},
{
"type": "_primary_expression",
"named": true,
"subtypes": [
{
"type": "_literal",
"named": true
},
{
"type": "anonymous_function_creation_expression",
"named": true
},
{
"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": "function_call_expression",
"named": true
},
{
"type": "member_access_expression",
"named": true
},
{
"type": "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": "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": "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": "throw_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": "optional_type",
"named": true
},
{
"type": "primitive_type",
"named": true
},
{
"type": "type_name",
"named": true
}
]
},
{
"type": "anonymous_function_creation_expression",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "compound_statement",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "formal_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "_type",
"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": "variable_name",
"named": true
}
]
}
},
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "variadic_unpacking",
"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": "_expression",
"named": true
}
]
}
},
{
"type": "assignment_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_creation_expression",
"named": true
},
{
"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": "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": "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": "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
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "base_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "qualified_name",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"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
},
{
"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": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "dynamic_variable_name",
"named": true
},
{
"type": "member_access_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
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "break_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"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": "_primary_expression",
"named": true
},
{
"type": "clone_expression",
"named": true
},
{
"type": "exponentiation_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": true,
"types": [
{
"type": "variable_name",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_name",
"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": "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": "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": {
"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": "base_clause",
"named": true
},
{
"type": "class_interface_clause",
"named": true
},
{
"type": "class_modifier",
"named": true
}
]
}
},
{
"type": "class_interface_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "qualified_name",
"named": true
}
]
}
},
{
"type": "class_modifier",
"named": true,
"fields": {}
},
{
"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": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "const_element",
"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": "_statement",
"named": true
},
{
"type": "declare_directive",
"named": true
}
]
}
},
{
"type": "default_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"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": "_expression",
"named": true
},
{
"type": "dynamic_variable_name",
"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": "_statement",
"named": true
},
{
"type": "colon_block",
"named": true
}
]
}
}
},
{
"type": "else_if_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "colon_block",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "parenthesized_expression",
"named": true
}
]
}
}
},
{
"type": "empty_statement",
"named": true,
"fields": {}
},
{
"type": "exponentiation_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_primary_expression",
"named": true
},
{
"type": "clone_expression",
"named": true
},
{
"type": "exponentiation_expression",
"named": true
}
]
}
},
{
"type": "expression_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "finally_clause",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "compound_statement",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "_statement",
"named": true
},
{
"type": "sequence_expression",
"named": true
}
]
}
},
{
"type": "foreach_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "_statement",
"named": true
},
{
"type": "colon_block",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"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": "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": "function_call_expression",
"named": true
},
{
"type": "heredoc",
"named": true
},
{
"type": "member_call_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": {
"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": "_type",
"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": "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": "_statement",
"named": true
},
{
"type": "colon_block",
"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": {
"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": "list_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_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": "scoped_call_expression",
"named": true
},
{
"type": "scoped_property_access_expression",
"named": true
},
{
"type": "subscript_expression",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "member_access_expression",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "dynamic_variable_name",
"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": "function_call_expression",
"named": true
},
{
"type": "heredoc",
"named": true
},
{
"type": "member_access_expression",
"named": true
},
{
"type": "member_call_expression",
"named": true
},
{
"type": "parenthesized_expression",
"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": "_expression",
"named": true
},
{
"type": "dynamic_variable_name",
"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": "function_call_expression",
"named": true
},
{
"type": "heredoc",
"named": true
},
{
"type": "member_access_expression",
"named": true
},
{
"type": "member_call_expression",
"named": true
},
{
"type": "parenthesized_expression",
"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": {
"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": "_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "class_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": "namespace_aliasing_clause",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "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_name_as_prefix",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "namespace_name",
"named": true
}
]
}
},
{
"type": "namespace_use_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "namespace_aliasing_clause",
"named": true
},
{
"type": "qualified_name",
"named": true
}
]
}
},
{
"type": "namespace_use_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "namespace_name",
"named": true
},
{
"type": "namespace_use_clause",
"named": true
},
{
"type": "namespace_use_group",
"named": true
}
]
}
},
{
"type": "namespace_use_group",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "namespace_use_group_clause",
"named": true
}
]
}
},
{
"type": "namespace_use_group_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "namespace_aliasing_clause",
"named": true
},
{
"type": "namespace_name",
"named": true
}
]
}
},
{
"type": "object_creation_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "arguments",
"named": true
},
{
"type": "base_clause",
"named": true
},
{
"type": "class_interface_clause",
"named": true
},
{
"type": "declaration_list",
"named": true
},
{
"type": "dynamic_variable_name",
"named": true
},
{
"type": "member_access_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": "primitive_type",
"named": true
},
{
"type": "type_name",
"named": true
}
]
}
},
{
"type": "pair",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"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": "_statement",
"named": true
},
{
"type": "php_tag",
"named": true
},
{
"type": "text",
"named": true
}
]
}
},
{
"type": "property_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "class_modifier",
"named": true
},
{
"type": "property_element",
"named": true
},
{
"type": "static_modifier",
"named": true
},
{
"type": "var_modifier",
"named": true
},
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "property_element",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "property_initializer",
"named": true
},
{
"type": "variable_name",
"named": true
}
]
}
},
{
"type": "property_initializer",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "qualified_name",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "name",
"named": true
},
{
"type": "namespace_name_as_prefix",
"named": true
}
]
}
},
{
"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": "_expression",
"named": true
},
{
"type": "dynamic_variable_name",
"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": "function_call_expression",
"named": true
},
{
"type": "heredoc",
"named": true
},
{
"type": "member_access_expression",
"named": true
},
{
"type": "member_call_expression",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "qualified_name",