pub const NODE_TYPES: &'static str = "[\n {\n \"type\": \"_literal\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"decimal_floating_point_literal\",\n \"named\": true\n },\n {\n \"type\": \"decimal_integer_literal\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"null_literal\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_simple_type\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"boolean_type\",\n \"named\": true\n },\n {\n \"type\": \"floating_point_type\",\n \"named\": true\n },\n {\n \"type\": \"generic_type\",\n \"named\": true\n },\n {\n \"type\": \"integral_type\",\n \"named\": true\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"void_type\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_type\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n },\n {\n \"type\": \"annotated_type\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_unannotated_type\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_simple_type\",\n \"named\": true\n },\n {\n \"type\": \"array_type\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"comment\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"block_comment\",\n \"named\": true\n },\n {\n \"type\": \"line_comment\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"database_query\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"soql_query\",\n \"named\": true\n },\n {\n \"type\": \"sosl_query\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"declaration\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"class_declaration\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"dml_statement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"dml_delete_statement\",\n \"named\": true\n },\n {\n \"type\": \"dml_insert_statement\",\n \"named\": true\n },\n {\n \"type\": \"dml_undelete_statemetn\",\n \"named\": true\n },\n {\n \"type\": \"dml_update_statement\",\n \"named\": true\n },\n {\n \"type\": \"dml_upsert_statement\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"assignment_expression\",\n \"named\": true\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true\n },\n {\n \"type\": \"cast_expression\",\n \"named\": true\n },\n {\n \"type\": \"instanceof_expression\",\n \"named\": true\n },\n {\n \"type\": \"primary_expression\",\n \"named\": true\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true\n },\n {\n \"type\": \"update_expression\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"primary_expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_literal\",\n \"named\": true\n },\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"array_creation_expression\",\n \"named\": true\n },\n {\n \"type\": \"class_literal\",\n \"named\": true\n },\n {\n \"type\": \"database_query\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"method_invocation\",\n \"named\": true\n },\n {\n \"type\": \"object_creation_expression\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"statement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"declaration\",\n \"named\": true\n },\n {\n \"type\": \"dml_statement\",\n \"named\": true\n },\n {\n \"type\": \"do_statement\",\n \"named\": true\n },\n {\n \"type\": \"enhanced_for_statement\",\n \"named\": true\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true\n },\n {\n \"type\": \"for_statement\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"local_variable_declaration\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"switch_expression\",\n \"named\": true\n },\n {\n \"type\": \"throw_statement\",\n \"named\": true\n },\n {\n \"type\": \"try_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"access_modifiers\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"aggregation_function\",\n \"named\": true,\n \"fields\": {\n \"aggr_function\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"alias\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"annotated_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n },\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"annotation\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"annotation_argument_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"annotation_argument_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"element_value_array_initializer\",\n \"named\": true\n },\n {\n \"type\": \"element_value_pair\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"argument_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"array_access\",\n \"named\": true,\n \"fields\": {\n \"array\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n },\n \"index\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"array_creation_expression\",\n \"named\": true,\n \"fields\": {\n \"dimensions\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n },\n {\n \"type\": \"dimensions_expr\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_simple_type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_initializer\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"array_initializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_initializer\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"array_type\",\n \"named\": true,\n \"fields\": {\n \"dimensions\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"element\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"assignment_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"array_access\",\n \"named\": true\n },\n {\n \"type\": \"field_access\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"%=\",\n \"named\": false\n },\n {\n \"type\": \"&=\",\n \"named\": false\n },\n {\n \"type\": \"*=\",\n \"named\": false\n },\n {\n \"type\": \"+=\",\n \"named\": false\n },\n {\n \"type\": \"-=\",\n \"named\": false\n },\n {\n \"type\": \"/=\",\n \"named\": false\n },\n {\n \"type\": \"<<=\",\n \"named\": false\n },\n {\n \"type\": \"=\",\n \"named\": false\n },\n {\n \"type\": \">>=\",\n \"named\": false\n },\n {\n \"type\": \">>>=\",\n \"named\": false\n },\n {\n \"type\": \"^=\",\n \"named\": false\n },\n {\n \"type\": \"|=\",\n \"named\": false\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"binary_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"%\",\n \"named\": false\n },\n {\n \"type\": \"&\",\n \"named\": false\n },\n {\n \"type\": \"&&\",\n \"named\": false\n },\n {\n \"type\": \"*\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"/\",\n \"named\": false\n },\n {\n \"type\": \"<\",\n \"named\": false\n },\n {\n \"type\": \"<<\",\n \"named\": false\n },\n {\n \"type\": \"<=\",\n \"named\": false\n },\n {\n \"type\": \"==\",\n \"named\": false\n },\n {\n \"type\": \"===\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \">>\",\n \"named\": false\n },\n {\n \"type\": \">>>\",\n \"named\": false\n },\n {\n \"type\": \"^\",\n \"named\": false\n },\n {\n \"type\": \"|\",\n \"named\": false\n },\n {\n \"type\": \"||\",\n \"named\": false\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"break_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"cast_expression\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"catch_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"catch_formal_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"catch_formal_parameter\",\n \"named\": true,\n \"fields\": {\n \"dimensions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"catch_type\",\n \"named\": true\n },\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"catch_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"class_declaration\",\n \"named\": true\n },\n {\n \"type\": \"constructor_declaration\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true\n },\n {\n \"type\": \"method_declaration\",\n \"named\": true\n },\n {\n \"type\": \"static_initializer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"class_body\",\n \"named\": true\n }\n ]\n },\n \"interfaces\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"super_interfaces\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"superclass\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"superclass\",\n \"named\": true\n }\n ]\n },\n \"type_parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameters\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"access_modifiers\",\n \"named\": true\n },\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class_literal\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"complex_field_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"complex_field_expression\",\n \"named\": true\n },\n {\n \"type\": \"field_expression\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"complex_field_expression\",\n \"named\": true\n },\n {\n \"type\": \"field_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"constant_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"variable_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constructor_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"explicit_constructor_invocation\",\n \"named\": true\n },\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"constructor_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constructor_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"formal_parameters\",\n \"named\": true\n }\n ]\n },\n \"type_parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameters\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"default_switch_statement_group\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"dimensions\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"dimensions_expr\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"dml_delete_statement\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"dml_insert_statement\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"dml_undelete_statemetn\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"dml_update_statement\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"dml_upsert_statement\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"do_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"element_value_array_initializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"element_value_array_initializer\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"element_value_pair\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"element_value_array_initializer\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enhanced_for_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n },\n \"dimensions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"enum_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"enum_body_declarations\",\n \"named\": true\n },\n {\n \"type\": \"enum_constant\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"enum_body_declarations\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"class_declaration\",\n \"named\": true\n },\n {\n \"type\": \"constructor_declaration\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true\n },\n {\n \"type\": \"method_declaration\",\n \"named\": true\n },\n {\n \"type\": \"static_initializer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"enum_constant\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"class_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"enum_body\",\n \"named\": true\n }\n ]\n },\n \"interfaces\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"super_interfaces\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"explicit_constructor_invocation\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n },\n \"constructor\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"super\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n }\n ]\n },\n \"object\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n },\n \"type_arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_arguments\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"extends_interfaces\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"interface_type_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_access\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n }\n ]\n },\n \"object\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"variable_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_expression\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"=\",\n \"named\": false\n }\n ]\n },\n \"value\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"_literal\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"field_name\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"finally_clause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"floating_point_type\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"for_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"init\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n },\n {\n \"type\": \"local_variable_declaration\",\n \"named\": true\n }\n ]\n },\n \"update\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"formal_parameter\",\n \"named\": true,\n \"fields\": {\n \"dimensions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"formal_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"formal_parameter\",\n \"named\": true\n },\n {\n \"type\": \"receiver_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"from_clause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"from_clause_source\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"from_clause_source\",\n \"named\": true,\n \"fields\": {\n \"alias\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"relationship_name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"generic_type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_arguments\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"group_by_clause\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"having_clause\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"if_statement\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"instanceof_expression\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"integral_type\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"interface_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"class_declaration\",\n \"named\": true\n },\n {\n \"type\": \"constant_declaration\",\n \"named\": true\n },\n {\n \"type\": \"enum_declaration\",\n \"named\": true\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true\n },\n {\n \"type\": \"method_declaration\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"interface_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"interface_body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"type_parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameters\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"extends_interfaces\",\n \"named\": true\n },\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"interface_type_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"limit_clause\",\n \"named\": true,\n \"fields\": {\n \"limit\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"_literal\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"local_variable_declaration\",\n \"named\": true,\n \"fields\": {\n \"declarator\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"variable_declarator\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"method_declaration\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n },\n \"dimensions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"formal_parameters\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n }\n ]\n },\n \"type_parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_parameters\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n },\n {\n \"type\": \"modifiers\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"method_invocation\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"object\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"primary_expression\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n },\n \"type_arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_arguments\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"modifiers\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"object_creation_expression\",\n \"named\": true,\n \"fields\": {\n \"arguments\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_simple_type\",\n \"named\": true\n }\n ]\n },\n \"type_arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_arguments\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"class_body\",\n \"named\": true\n },\n {\n \"type\": \"primary_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"offset_clause\",\n \"named\": true,\n \"fields\": {\n \"offset\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"_literal\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"order_by_clause\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"program\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"queried_value\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"aggregation_function\",\n \"named\": true\n },\n {\n \"type\": \"field_name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"receiver_parameter\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_unannotated_type\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"return_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"scope\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"scoped_identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"generic_type\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n },\n {\n \"type\": \"scoped_type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"select_clause\",\n \"named\": true,\n \"fields\": {\n \"relationship_query\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"soql_query\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"aggregation_function\",\n \"named\": true\n },\n {\n \"type\": \"field_name\",\n \"named\": true\n },\n {\n \"type\": \"typeof_clause\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"sobject_switch_statement_group\",\n \"named\": true,\n \"fields\": {\n \"code\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n },\n \"sobject_type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"var_name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"soql_query\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"from_clause\",\n \"named\": true\n },\n {\n \"type\": \"group_by_clause\",\n \"named\": true\n },\n {\n \"type\": \"having_clause\",\n \"named\": true\n },\n {\n \"type\": \"limit_clause\",\n \"named\": true\n },\n {\n \"type\": \"offset_clause\",\n \"named\": true\n },\n {\n \"type\": \"order_by_clause\",\n \"named\": true\n },\n {\n \"type\": \"select_clause\",\n \"named\": true\n },\n {\n \"type\": \"where_clause\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"sosl_entity_definition\",\n \"named\": true,\n \"fields\": {\n \"sobject\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"sosl_find_clause\",\n \"named\": true,\n \"fields\": {\n \"search_query\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \"_literal\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"sosl_in_clause\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"sosl_query\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"sosl_find_clause\",\n \"named\": true\n },\n {\n \"type\": \"sosl_in_clause\",\n \"named\": true\n },\n {\n \"type\": \"sosl_returning_clause\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"sosl_returning_clause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"sosl_entity_definition\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"static_initializer\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"super_interfaces\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"interface_type_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"superclass\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"switch_block\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"default_switch_statement_group\",\n \"named\": true\n },\n {\n \"type\": \"sobject_switch_statement_group\",\n \"named\": true\n },\n {\n \"type\": \"switch_block_statement_group\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"switch_block_statement_group\",\n \"named\": true,\n \"fields\": {\n \"condition\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"switch_expression\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"switch_block\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ternary_expression\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"throw_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"try_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"catch_clause\",\n \"named\": true\n },\n {\n \"type\": \"finally_clause\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_arguments\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n },\n {\n \"type\": \"wildcard\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_bound\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_parameter\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n },\n {\n \"type\": \"type_bound\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typeof_clause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"field_name\",\n \"named\": true\n },\n {\n \"type\": \"typeof_clause_branch\",\n \"named\": true\n },\n {\n \"type\": \"typeof_clause_else_branch\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typeof_clause_branch\",\n \"named\": true,\n \"fields\": {\n \"object_type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"queried_value\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typeof_clause_else_branch\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"queried_value\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unary_expression\",\n \"named\": true,\n \"fields\": {\n \"operand\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"!\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"~\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"update_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variable_declarator\",\n \"named\": true,\n \"fields\": {\n \"dimensions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"dimensions\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"array_initializer\",\n \"named\": true\n },\n {\n \"type\": \"expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"where_clause\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"complex_field_expression\",\n \"named\": true\n },\n {\n \"type\": \"field_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"while_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"statement\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"wildcard\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_type\",\n \"named\": true\n },\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"marker_annotation\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"!\",\n \"named\": false\n },\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"%\",\n \"named\": false\n },\n {\n \"type\": \"%=\",\n \"named\": false\n },\n {\n \"type\": \"&\",\n \"named\": false\n },\n {\n \"type\": \"&&\",\n \"named\": false\n },\n {\n \"type\": \"&=\",\n \"named\": false\n },\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \"*\",\n \"named\": false\n },\n {\n \"type\": \"*=\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"++\",\n \"named\": false\n },\n {\n \"type\": \"+=\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"--\",\n \"named\": false\n },\n {\n \"type\": \"-=\",\n \"named\": false\n },\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"/\",\n \"named\": false\n },\n {\n \"type\": \"/=\",\n \"named\": false\n },\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"<\",\n \"named\": false\n },\n {\n \"type\": \"<<\",\n \"named\": false\n },\n {\n \"type\": \"<<=\",\n \"named\": false\n },\n {\n \"type\": \"<=\",\n \"named\": false\n },\n {\n \"type\": \"=\",\n \"named\": false\n },\n {\n \"type\": \"==\",\n \"named\": false\n },\n {\n \"type\": \"===\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \">>\",\n \"named\": false\n },\n {\n \"type\": \">>=\",\n \"named\": false\n },\n {\n \"type\": \">>>\",\n \"named\": false\n },\n {\n \"type\": \">>>=\",\n \"named\": false\n },\n {\n \"type\": \"?\",\n \"named\": false\n },\n {\n \"type\": \"@\",\n \"named\": false\n },\n {\n \"type\": \"[\",\n \"named\": false\n },\n {\n \"type\": \"]\",\n \"named\": false\n },\n {\n \"type\": \"^\",\n \"named\": false\n },\n {\n \"type\": \"^=\",\n \"named\": false\n },\n {\n \"type\": \"block_comment\",\n \"named\": true\n },\n {\n \"type\": \"boolean_type\",\n \"named\": true\n },\n {\n \"type\": \"class\",\n \"named\": false\n },\n {\n \"type\": \"decimal_floating_point_literal\",\n \"named\": true\n },\n {\n \"type\": \"decimal_integer_literal\",\n \"named\": true\n },\n {\n \"type\": \"default\",\n \"named\": false\n },\n {\n \"type\": \"extends\",\n \"named\": false\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"implements\",\n \"named\": false\n },\n {\n \"type\": \"line_comment\",\n \"named\": true\n },\n {\n \"type\": \"new\",\n \"named\": false\n },\n {\n \"type\": \"null_literal\",\n \"named\": true\n },\n {\n \"type\": \"string_literal\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n },\n {\n \"type\": \"this\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"type_identifier\",\n \"named\": true\n },\n {\n \"type\": \"void_type\",\n \"named\": true\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"|\",\n \"named\": false\n },\n {\n \"type\": \"|=\",\n \"named\": false\n },\n {\n \"type\": \"||\",\n \"named\": false\n },\n {\n \"type\": \"}\",\n \"named\": false\n },\n {\n \"type\": \"~\",\n \"named\": false\n }\n]";Expand description
The content of the node-types.json file for this grammar.