Constant tree_sitter_ruby::NODE_TYPES
source · pub const NODE_TYPES: &str = "[\n {\n \"type\": \"_arg\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_primary\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"binary\",\n \"named\": true\n },\n {\n \"type\": \"conditional\",\n \"named\": true\n },\n {\n \"type\": \"operator_assignment\",\n \"named\": true\n },\n {\n \"type\": \"range\",\n \"named\": true\n },\n {\n \"type\": \"unary\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_call_operator\",\n \"named\": true,\n \"subtypes\": [\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 \"type\": \"_expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"binary\",\n \"named\": true\n },\n {\n \"type\": \"break\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"match_pattern\",\n \"named\": true\n },\n {\n \"type\": \"next\",\n \"named\": true\n },\n {\n \"type\": \"operator_assignment\",\n \"named\": true\n },\n {\n \"type\": \"return\",\n \"named\": true\n },\n {\n \"type\": \"test_pattern\",\n \"named\": true\n },\n {\n \"type\": \"unary\",\n \"named\": true\n },\n {\n \"type\": \"yield\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_lhs\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_variable\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"element_reference\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"nil\",\n \"named\": true\n },\n {\n \"type\": \"scope_resolution\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_method_name\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_nonlocal_variable\",\n \"named\": true\n },\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"delimited_symbol\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"operator\",\n \"named\": true\n },\n {\n \"type\": \"setter\",\n \"named\": true\n },\n {\n \"type\": \"simple_symbol\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_nonlocal_variable\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"class_variable\",\n \"named\": true\n },\n {\n \"type\": \"global_variable\",\n \"named\": true\n },\n {\n \"type\": \"instance_variable\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern_constant\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"scope_resolution\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern_expr\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_pattern_expr_basic\",\n \"named\": true\n },\n {\n \"type\": \"alternative_pattern\",\n \"named\": true\n },\n {\n \"type\": \"as_pattern\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern_expr_basic\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_pattern_constant\",\n \"named\": true\n },\n {\n \"type\": \"_pattern_primitive\",\n \"named\": true\n },\n {\n \"type\": \"array_pattern\",\n \"named\": true\n },\n {\n \"type\": \"expression_reference_pattern\",\n \"named\": true\n },\n {\n \"type\": \"find_pattern\",\n \"named\": true\n },\n {\n \"type\": \"hash_pattern\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_pattern\",\n \"named\": true\n },\n {\n \"type\": \"range\",\n \"named\": true\n },\n {\n \"type\": \"variable_reference_pattern\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern_primitive\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_simple_numeric\",\n \"named\": true\n },\n {\n \"type\": \"delimited_symbol\",\n \"named\": true\n },\n {\n \"type\": \"encoding\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"file\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_beginning\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"line\",\n \"named\": true\n },\n {\n \"type\": \"nil\",\n \"named\": true\n },\n {\n \"type\": \"regex\",\n \"named\": true\n },\n {\n \"type\": \"self\",\n \"named\": true\n },\n {\n \"type\": \"simple_symbol\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"string_array\",\n \"named\": true\n },\n {\n \"type\": \"subshell\",\n \"named\": true\n },\n {\n \"type\": \"symbol_array\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"unary\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern_top_expr_body\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n },\n {\n \"type\": \"array_pattern\",\n \"named\": true\n },\n {\n \"type\": \"find_pattern\",\n \"named\": true\n },\n {\n \"type\": \"hash_pattern\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_primary\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n },\n {\n \"type\": \"_simple_numeric\",\n \"named\": true\n },\n {\n \"type\": \"array\",\n \"named\": true\n },\n {\n \"type\": \"begin\",\n \"named\": true\n },\n {\n \"type\": \"break\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"case\",\n \"named\": true\n },\n {\n \"type\": \"case_match\",\n \"named\": true\n },\n {\n \"type\": \"chained_string\",\n \"named\": true\n },\n {\n \"type\": \"character\",\n \"named\": true\n },\n {\n \"type\": \"class\",\n \"named\": true\n },\n {\n \"type\": \"delimited_symbol\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": true\n },\n {\n \"type\": \"hash\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_beginning\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n },\n {\n \"type\": \"method\",\n \"named\": true\n },\n {\n \"type\": \"module\",\n \"named\": true\n },\n {\n \"type\": \"next\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_statements\",\n \"named\": true\n },\n {\n \"type\": \"redo\",\n \"named\": true\n },\n {\n \"type\": \"regex\",\n \"named\": true\n },\n {\n \"type\": \"retry\",\n \"named\": true\n },\n {\n \"type\": \"return\",\n \"named\": true\n },\n {\n \"type\": \"simple_symbol\",\n \"named\": true\n },\n {\n \"type\": \"singleton_class\",\n \"named\": true\n },\n {\n \"type\": \"singleton_method\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"string_array\",\n \"named\": true\n },\n {\n \"type\": \"subshell\",\n \"named\": true\n },\n {\n \"type\": \"symbol_array\",\n \"named\": true\n },\n {\n \"type\": \"unary\",\n \"named\": true\n },\n {\n \"type\": \"unless\",\n \"named\": true\n },\n {\n \"type\": \"until\",\n \"named\": true\n },\n {\n \"type\": \"while\",\n \"named\": true\n },\n {\n \"type\": \"yield\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_simple_numeric\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"complex\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"rational\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_statement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"alias\",\n \"named\": true\n },\n {\n \"type\": \"begin_block\",\n \"named\": true\n },\n {\n \"type\": \"end_block\",\n \"named\": true\n },\n {\n \"type\": \"if_modifier\",\n \"named\": true\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true\n },\n {\n \"type\": \"undef\",\n \"named\": true\n },\n {\n \"type\": \"unless_modifier\",\n \"named\": true\n },\n {\n \"type\": \"until_modifier\",\n \"named\": true\n },\n {\n \"type\": \"while_modifier\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_variable\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_nonlocal_variable\",\n \"named\": true\n },\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"self\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"alias\",\n \"named\": true,\n \"fields\": {\n \"alias\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_method_name\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_method_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"alternative_pattern\",\n \"named\": true,\n \"fields\": {\n \"alternatives\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_expr_basic\",\n \"named\": true\n }\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 \"type\": \"block_argument\",\n \"named\": true\n },\n {\n \"type\": \"forward_argument\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_argument\",\n \"named\": true\n },\n {\n \"type\": \"pair\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"array\",\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 \"type\": \"block_argument\",\n \"named\": true\n },\n {\n \"type\": \"forward_argument\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_argument\",\n \"named\": true\n },\n {\n \"type\": \"pair\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"array_pattern\",\n \"named\": true,\n \"fields\": {\n \"class\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_constant\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"as_pattern\",\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 \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"assignment\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n },\n {\n \"type\": \"left_assignment_list\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true\n },\n {\n \"type\": \"right_assignment_list\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bare_string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"bare_symbol\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"begin\",\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 \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true\n },\n {\n \"type\": \"ensure\",\n \"named\": true\n },\n {\n \"type\": \"rescue\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"begin_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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"binary\",\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 \"type\": \"_simple_numeric\",\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 \"type\": \"^\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"or\",\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 \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_body\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block_argument\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"block_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"block_parameter\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block_parameters\",\n \"named\": true,\n \"fields\": {\n \"locals\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameter\",\n \"named\": true\n },\n {\n \"type\": \"destructured_parameter\",\n \"named\": true\n },\n {\n \"type\": \"forward_parameter\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"keyword_parameter\",\n \"named\": true\n },\n {\n \"type\": \"optional_parameter\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"body_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true\n },\n {\n \"type\": \"ensure\",\n \"named\": true\n },\n {\n \"type\": \"rescue\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"break\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"call\",\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 \"block\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block\",\n \"named\": true\n },\n {\n \"type\": \"do_block\",\n \"named\": true\n }\n ]\n },\n \"method\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_variable\",\n \"named\": true\n },\n {\n \"type\": \"operator\",\n \"named\": true\n }\n ]\n },\n \"operator\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_call_operator\",\n \"named\": true\n }\n ]\n },\n \"receiver\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_primary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"case\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"when\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"case_match\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"in_clause\",\n \"named\": true\n }\n ]\n },\n \"else\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"chained_string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"body_statement\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"scope_resolution\",\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 }\n },\n {\n \"type\": \"complex\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"rational\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"conditional\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"constant\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"delimited_symbol\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"destructured_left_assignment\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n },\n {\n \"type\": \"destructured_left_assignment\",\n \"named\": true\n },\n {\n \"type\": \"rest_assignment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"destructured_parameter\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameter\",\n \"named\": true\n },\n {\n \"type\": \"destructured_parameter\",\n \"named\": true\n },\n {\n \"type\": \"forward_parameter\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"keyword_parameter\",\n \"named\": true\n },\n {\n \"type\": \"optional_parameter\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"do\",\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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"do_block\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"body_statement\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"element_reference\",\n \"named\": true,\n \"fields\": {\n \"object\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_primary\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"block_argument\",\n \"named\": true\n },\n {\n \"type\": \"forward_argument\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_argument\",\n \"named\": true\n },\n {\n \"type\": \"pair\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"else\",\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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"elsif\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"elsif\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"end_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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"ensure\",\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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exception_variable\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"exceptions\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expression_reference_pattern\",\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\": \"find_pattern\",\n \"named\": true,\n \"fields\": {\n \"class\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_constant\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"for\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"do\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n },\n {\n \"type\": \"left_assignment_list\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"in\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"forward_argument\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"forward_parameter\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"hash\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"hash_splat_argument\",\n \"named\": true\n },\n {\n \"type\": \"pair\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"hash_key_symbol\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"hash_pattern\",\n \"named\": true,\n \"fields\": {\n \"class\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_constant\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true\n },\n {\n \"type\": \"keyword_pattern\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"hash_splat_argument\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"heredoc_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_content\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_end\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"identifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"if\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"elsif\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"if_guard\",\n \"named\": true,\n \"fields\": {\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\": \"if_modifier\",\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\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"in\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"in_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"if_guard\",\n \"named\": true\n },\n {\n \"type\": \"unless_guard\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_top_expr_body\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"interpolation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_nonlocal_variable\",\n \"named\": true\n },\n {\n \"type\": \"_statement\",\n \"named\": true\n },\n {\n \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"keyword_parameter\",\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 \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"keyword_pattern\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"hash_key_symbol\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"lambda\",\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 \"type\": \"do_block\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"lambda_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"lambda_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameter\",\n \"named\": true\n },\n {\n \"type\": \"destructured_parameter\",\n \"named\": true\n },\n {\n \"type\": \"forward_parameter\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"keyword_parameter\",\n \"named\": true\n },\n {\n \"type\": \"optional_parameter\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"left_assignment_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n },\n {\n \"type\": \"destructured_left_assignment\",\n \"named\": true\n },\n {\n \"type\": \"rest_assignment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"match_pattern\",\n \"named\": true,\n \"fields\": {\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_top_expr_body\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"method\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"body_statement\",\n \"named\": true\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_method_name\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"method_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"method_parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"block_parameter\",\n \"named\": true\n },\n {\n \"type\": \"destructured_parameter\",\n \"named\": true\n },\n {\n \"type\": \"forward_parameter\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_nil\",\n \"named\": true\n },\n {\n \"type\": \"hash_splat_parameter\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"keyword_parameter\",\n \"named\": true\n },\n {\n \"type\": \"optional_parameter\",\n \"named\": true\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"module\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"body_statement\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constant\",\n \"named\": true\n },\n {\n \"type\": \"scope_resolution\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"next\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"nil\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"operator\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"operator_assignment\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lhs\",\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 },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"optional_parameter\",\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 \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pair\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"hash_key_symbol\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"parenthesized_pattern\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_expr\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"parenthesized_statements\",\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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pattern\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\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 \"type\": \"empty_statement\",\n \"named\": true\n },\n {\n \"type\": \"uninterpreted\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"range\",\n \"named\": true,\n \"fields\": {\n \"begin\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"_pattern_primitive\",\n \"named\": true\n }\n ]\n },\n \"end\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"_pattern_primitive\",\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 }\n }\n },\n {\n \"type\": \"rational\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"redo\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"regex\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"rescue\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n },\n \"exceptions\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exceptions\",\n \"named\": true\n }\n ]\n },\n \"variable\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"exception_variable\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n },\n \"handler\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"rest_assignment\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_lhs\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"retry\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"return\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"right_assignment_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"scope_resolution\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"constant\",\n \"named\": true\n }\n ]\n },\n \"scope\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern_constant\",\n \"named\": true\n },\n {\n \"type\": \"_primary\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"setter\",\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 }\n },\n {\n \"type\": \"singleton_class\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"body_statement\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"singleton_method\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"body_statement\",\n \"named\": true\n },\n {\n \"type\": \"rescue_modifier\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_method_name\",\n \"named\": true\n }\n ]\n },\n \"object\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n },\n {\n \"type\": \"_variable\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"method_parameters\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"splat_argument\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"splat_parameter\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"string\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"string_array\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bare_string\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"subshell\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"interpolation\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\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\": \"_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"symbol_array\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bare_symbol\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"test_pattern\",\n \"named\": true,\n \"fields\": {\n \"pattern\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern_top_expr_body\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arg\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"then\",\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 \"type\": \"empty_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unary\",\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 \"type\": \"_simple_numeric\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_statements\",\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\": \"defined?\",\n \"named\": false\n },\n {\n \"type\": \"not\",\n \"named\": false\n },\n {\n \"type\": \"~\",\n \"named\": false\n }\n ]\n }\n }\n },\n {\n \"type\": \"undef\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_method_name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unless\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"else\",\n \"named\": true\n },\n {\n \"type\": \"elsif\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n },\n \"consequence\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"unless_guard\",\n \"named\": true,\n \"fields\": {\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\": \"unless_modifier\",\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\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"until\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"do\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"until_modifier\",\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\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"variable_reference_pattern\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_nonlocal_variable\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"when\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"then\",\n \"named\": true\n }\n ]\n },\n \"pattern\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"pattern\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"while\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"do\",\n \"named\": true\n }\n ]\n },\n \"condition\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_statement\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"while_modifier\",\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\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"yield\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"argument_list\",\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\": \"%i(\",\n \"named\": false\n },\n {\n \"type\": \"%w(\",\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\": \">>=\",\n \"named\": false\n },\n {\n \"type\": \"?\",\n \"named\": false\n },\n {\n \"type\": \"BEGIN\",\n \"named\": false\n },\n {\n \"type\": \"END\",\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\": \"__END__\",\n \"named\": false\n },\n {\n \"type\": \"`\",\n \"named\": false\n },\n {\n \"type\": \"alias\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"begin\",\n \"named\": false\n },\n {\n \"type\": \"break\",\n \"named\": false\n },\n {\n \"type\": \"case\",\n \"named\": false\n },\n {\n \"type\": \"character\",\n \"named\": true\n },\n {\n \"type\": \"class\",\n \"named\": false\n },\n {\n \"type\": \"class_variable\",\n \"named\": true\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"def\",\n \"named\": false\n },\n {\n \"type\": \"defined?\",\n \"named\": false\n },\n {\n \"type\": \"do\",\n \"named\": false\n },\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"elsif\",\n \"named\": false\n },\n {\n \"type\": \"encoding\",\n \"named\": true\n },\n {\n \"type\": \"end\",\n \"named\": false\n },\n {\n \"type\": \"ensure\",\n \"named\": false\n },\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"file\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": false\n },\n {\n \"type\": \"global_variable\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_beginning\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_content\",\n \"named\": true\n },\n {\n \"type\": \"heredoc_end\",\n \"named\": true\n },\n {\n \"type\": \"i\",\n \"named\": false\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"in\",\n \"named\": false\n },\n {\n \"type\": \"instance_variable\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"line\",\n \"named\": true\n },\n {\n \"type\": \"module\",\n \"named\": false\n },\n {\n \"type\": \"next\",\n \"named\": false\n },\n {\n \"type\": \"nil\",\n \"named\": false\n },\n {\n \"type\": \"not\",\n \"named\": false\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"r\",\n \"named\": false\n },\n {\n \"type\": \"redo\",\n \"named\": false\n },\n {\n \"type\": \"rescue\",\n \"named\": false\n },\n {\n \"type\": \"retry\",\n \"named\": false\n },\n {\n \"type\": \"return\",\n \"named\": false\n },\n {\n \"type\": \"ri\",\n \"named\": false\n },\n {\n \"type\": \"self\",\n \"named\": true\n },\n {\n \"type\": \"simple_symbol\",\n \"named\": true\n },\n {\n \"type\": \"string_content\",\n \"named\": true\n },\n {\n \"type\": \"super\",\n \"named\": true\n },\n {\n \"type\": \"then\",\n \"named\": false\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"undef\",\n \"named\": false\n },\n {\n \"type\": \"uninterpreted\",\n \"named\": true\n },\n {\n \"type\": \"unless\",\n \"named\": false\n },\n {\n \"type\": \"until\",\n \"named\": false\n },\n {\n \"type\": \"when\",\n \"named\": false\n },\n {\n \"type\": \"while\",\n \"named\": false\n },\n {\n \"type\": \"yield\",\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]";
Expand description
The content of the node-types.json
file for this grammar.