use super::LanguageSemantics;
pub static PHP_SEMANTICS: LanguageSemantics = LanguageSemantics {
language: "php",
function_def_kinds: &[
"function_definition",
"method_declaration",
"anonymous_function_creation_expression",
"arrow_function",
],
if_kinds: &["if_statement"],
loop_kinds: &[
"for_statement",
"foreach_statement",
"while_statement",
"do_statement",
],
variable_declaration_kinds: &["property_declaration", "static_variable_declaration"],
assignment_kinds: &["assignment_expression"],
augmented_assignment_kinds: &["augmented_assignment_expression"],
return_kinds: &["return_statement"],
call_kinds: &[
"function_call_expression",
"method_call_expression",
"object_creation_expression",
"scoped_call_expression",
],
try_catch_kinds: &["try_statement"],
throw_kinds: &["throw_expression"],
string_literal_kinds: &["string", "encapsed_string", "heredoc", "nowdoc"],
numeric_literal_kinds: &["integer", "float"],
boolean_literal_kinds: &["boolean"],
null_literal_kinds: &["null"],
parameter_kinds: &["simple_parameter", "variadic_parameter"],
class_kinds: &[
"class_declaration",
"interface_declaration",
"trait_declaration",
"enum_declaration",
],
import_kinds: &["namespace_use_declaration"],
block_scope_kinds: &["compound_statement"],
break_kinds: &["break_statement"],
continue_kinds: &["continue_statement"],
switch_kinds: &["switch_statement", "match_expression"],
case_kinds: &["switch_case", "switch_default_case", "match_condition_list"],
member_access_kinds: &[
"member_access_expression",
"subscript_expression",
"class_constant_access_expression",
],
binary_expression_kinds: &["binary_expression"],
identifier_kinds: &["name", "variable_name"],
unsafe_block_kinds: &[],
defer_kinds: &[],
spawn_kinds: &[],
condition_field: "condition",
consequence_field: "body",
alternative_field: "alternative",
body_field: "body",
initializer_field: "value",
left_field: "left",
right_field: "right",
name_field: "name",
arguments_field: "arguments",
value_field: "value",
operator_field: "operator",
object_field: "object",
property_field: "name",
function_field: "function",
parameters_field: "parameters",
return_type_field: "return_type",
type_field: "type",
handler_field: "catch_clause",
finalizer_field: "finally_clause",
};