use super::Mapping;
use crate::ir::NodeKind::*;
pub static MAPPING: Mapping = Mapping {
language: "java",
extensions: &["java"],
grammar: || tree_sitter_java::LANGUAGE.into(),
grammar_crate: ("tree-sitter-java", "0.23.5"),
kinds: &[
("block", Block),
("constructor_body", Block),
("expression_statement", Statement),
("local_variable_declaration", Declaration),
("if_statement", Branch),
("for_statement", Loop),
("enhanced_for_statement", Loop),
("while_statement", Loop),
("do_statement", Loop),
("switch_block_statement_group", Case),
("switch_rule", Case),
("catch_clause", Catch),
("return_statement", Return),
("break_statement", Jump),
("continue_statement", Jump),
("throw_statement", Jump),
("yield_statement", Jump),
("method_invocation", Call),
("object_creation_expression", Call),
("assignment_expression", Assignment),
("binary_expression", Binary),
("unary_expression", Unary),
("update_expression", Unary),
("ternary_expression", Conditional),
("field_access", Expression),
("array_access", Expression),
("parenthesized_expression", Expression),
("cast_expression", Expression),
("identifier", Identifier),
("decimal_integer_literal", Literal),
("hex_integer_literal", Literal),
("octal_integer_literal", Literal),
("binary_integer_literal", Literal),
("decimal_floating_point_literal", Literal),
("hex_floating_point_literal", Literal),
("character_literal", Literal),
("string_literal", Literal),
("true", Literal),
("false", Literal),
("null_literal", Literal),
("import_declaration", Import),
("method_declaration", Function),
("constructor_declaration", Function),
("compact_constructor_declaration", Function),
("lambda_expression", Function),
],
callee_fields: &["name", "type"],
logical_operators: &["&&", "||"],
default_case_keyword: Some("default"),
else_field: Some("alternative"),
comments: &["line_comment", "block_comment"],
literals: &[
"decimal_integer_literal",
"hex_integer_literal",
"octal_integer_literal",
"binary_integer_literal",
"decimal_floating_point_literal",
"hex_floating_point_literal",
"character_literal",
"string_literal",
"true",
"false",
"null_literal",
],
interpolations: &[],
identifiers: &["identifier", "type_identifier"],
name_fields: &["name"],
decorators: &[],
docstring: None,
parameter_fields: &["parameters"],
ignored_parameters: &[],
};