Constant tree_sitter_erlang::NODE_TYPES
source · pub const NODE_TYPES: &str = "[\n {\n \"type\": \"_arity_value\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_bit_expr\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n },\n {\n \"type\": \"binary_op_expr\",\n \"named\": true\n },\n {\n \"type\": \"unary_op_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_bit_type\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_name\",\n \"named\": true\n },\n {\n \"type\": \"bit_type_unit\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_catch_pat\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n },\n {\n \"type\": \"binary_op_expr\",\n \"named\": true\n },\n {\n \"type\": \"map_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_index_expr\",\n \"named\": true\n },\n {\n \"type\": \"unary_op_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_concatable\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"macro_string\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"cr_clause\",\n \"named\": true\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_deprecated_details\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"deprecated_fa\",\n \"named\": true\n },\n {\n \"type\": \"deprecated_fas\",\n \"named\": true\n },\n {\n \"type\": \"deprecated_module\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_deprecated_fun_arity\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"deprecated_wildcard\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_desc\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"atom\",\n \"named\": true\n },\n {\n \"type\": \"multi_string\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_expr\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n },\n {\n \"type\": \"ann_type\",\n \"named\": true\n },\n {\n \"type\": \"binary_op_expr\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"catch_expr\",\n \"named\": true\n },\n {\n \"type\": \"cond_match_expr\",\n \"named\": true\n },\n {\n \"type\": \"dotdotdot\",\n \"named\": true\n },\n {\n \"type\": \"map_expr\",\n \"named\": true\n },\n {\n \"type\": \"map_expr_update\",\n \"named\": true\n },\n {\n \"type\": \"match_expr\",\n \"named\": true\n },\n {\n \"type\": \"pipe\",\n \"named\": true\n },\n {\n \"type\": \"range_type\",\n \"named\": true\n },\n {\n \"type\": \"record_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_field_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_index_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_update_expr\",\n \"named\": true\n },\n {\n \"type\": \"remote\",\n \"named\": true\n },\n {\n \"type\": \"unary_op_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_expr_max\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"anonymous_fun\",\n \"named\": true\n },\n {\n \"type\": \"atom\",\n \"named\": true\n },\n {\n \"type\": \"binary\",\n \"named\": true\n },\n {\n \"type\": \"binary_comprehension\",\n \"named\": true\n },\n {\n \"type\": \"block_expr\",\n \"named\": true\n },\n {\n \"type\": \"case_expr\",\n \"named\": true\n },\n {\n \"type\": \"char\",\n \"named\": true\n },\n {\n \"type\": \"concatables\",\n \"named\": true\n },\n {\n \"type\": \"external_fun\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"fun_type\",\n \"named\": true\n },\n {\n \"type\": \"if_expr\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"internal_fun\",\n \"named\": true\n },\n {\n \"type\": \"list\",\n \"named\": true\n },\n {\n \"type\": \"list_comprehension\",\n \"named\": true\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"macro_string\",\n \"named\": true\n },\n {\n \"type\": \"map_comprehension\",\n \"named\": true\n },\n {\n \"type\": \"maybe_expr\",\n \"named\": true\n },\n {\n \"type\": \"paren_expr\",\n \"named\": true\n },\n {\n \"type\": \"receive_expr\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"try_expr\",\n \"named\": true\n },\n {\n \"type\": \"tuple\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_form\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_preprocessor_directive\",\n \"named\": true\n },\n {\n \"type\": \"behaviour_attribute\",\n \"named\": true\n },\n {\n \"type\": \"callback\",\n \"named\": true\n },\n {\n \"type\": \"compile_options_attribute\",\n \"named\": true\n },\n {\n \"type\": \"deprecated_attribute\",\n \"named\": true\n },\n {\n \"type\": \"export_attribute\",\n \"named\": true\n },\n {\n \"type\": \"export_type_attribute\",\n \"named\": true\n },\n {\n \"type\": \"feature_attribute\",\n \"named\": true\n },\n {\n \"type\": \"file_attribute\",\n \"named\": true\n },\n {\n \"type\": \"fun_decl\",\n \"named\": true\n },\n {\n \"type\": \"import_attribute\",\n \"named\": true\n },\n {\n \"type\": \"module_attribute\",\n \"named\": true\n },\n {\n \"type\": \"opaque\",\n \"named\": true\n },\n {\n \"type\": \"optional_callbacks_attribute\",\n \"named\": true\n },\n {\n \"type\": \"record_decl\",\n \"named\": true\n },\n {\n \"type\": \"shebang\",\n \"named\": true\n },\n {\n \"type\": \"spec\",\n \"named\": true\n },\n {\n \"type\": \"ssr_definition\",\n \"named\": true\n },\n {\n \"type\": \"type_alias\",\n \"named\": true\n },\n {\n \"type\": \"wild_attribute\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_function_or_macro_clause\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"function_clause\",\n \"named\": true\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_include_detail\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_lc_expr\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n },\n {\n \"type\": \"b_generator\",\n \"named\": true\n },\n {\n \"type\": \"generator\",\n \"named\": true\n },\n {\n \"type\": \"map_generator\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_macro_def_replacement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n },\n {\n \"type\": \"replacement_cr_clauses\",\n \"named\": true\n },\n {\n \"type\": \"replacement_expr_guard\",\n \"named\": true\n },\n {\n \"type\": \"replacement_function_clauses\",\n \"named\": true\n },\n {\n \"type\": \"replacement_guard_and\",\n \"named\": true\n },\n {\n \"type\": \"replacement_guard_or\",\n \"named\": true\n },\n {\n \"type\": \"replacement_parens\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_macro_name\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"atom\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_map_expr_base\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n },\n {\n \"type\": \"map_expr\",\n \"named\": true\n },\n {\n \"type\": \"map_expr_update\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_name\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"atom\",\n \"named\": true\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_preprocessor_directive\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"pp_define\",\n \"named\": true\n },\n {\n \"type\": \"pp_elif\",\n \"named\": true\n },\n {\n \"type\": \"pp_else\",\n \"named\": true\n },\n {\n \"type\": \"pp_endif\",\n \"named\": true\n },\n {\n \"type\": \"pp_if\",\n \"named\": true\n },\n {\n \"type\": \"pp_ifdef\",\n \"named\": true\n },\n {\n \"type\": \"pp_ifndef\",\n \"named\": true\n },\n {\n \"type\": \"pp_include\",\n \"named\": true\n },\n {\n \"type\": \"pp_include_lib\",\n \"named\": true\n },\n {\n \"type\": \"pp_undef\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_record_expr_base\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n },\n {\n \"type\": \"record_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_field_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_index_expr\",\n \"named\": true\n },\n {\n \"type\": \"record_update_expr\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_string_like\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"macro_call_expr\",\n \"named\": true\n },\n {\n \"type\": \"macro_string\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"ann_type\",\n \"named\": true,\n \"fields\": {\n \"ty\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"var\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"ann_var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ann_var\",\n \"named\": true,\n \"fields\": {\n \"var\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"anonymous_fun\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"fun_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"arity\",\n \"named\": true,\n \"fields\": {\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arity_value\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"attr_name\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"b_generator\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"behaviour_attribute\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bin_element\",\n \"named\": true,\n \"fields\": {\n \"element\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_bit_expr\",\n \"named\": true\n }\n ]\n },\n \"size\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_size_expr\",\n \"named\": true\n }\n ]\n },\n \"types\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bit_type_list\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"binary\",\n \"named\": true,\n \"fields\": {\n \"elements\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"bin_element\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"binary_comprehension\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n }\n ]\n },\n \"lc_exprs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"lc_exprs\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"binary_op_expr\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_catch_pat\",\n \"named\": true\n },\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_catch_pat\",\n \"named\": true\n },\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bit_size_expr\",\n \"named\": true,\n \"fields\": {\n \"size\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_bit_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bit_type_list\",\n \"named\": true,\n \"fields\": {\n \"types\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_bit_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"bit_type_unit\",\n \"named\": true,\n \"fields\": {\n \"size\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_arity_value\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"block_expr\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"call\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_args\",\n \"named\": true\n }\n ]\n },\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"callback\",\n \"named\": true,\n \"fields\": {\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"module\",\n \"named\": true\n }\n ]\n },\n \"sigs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_sig\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"case_expr\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true\n }\n ]\n },\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\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\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"class\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"try_class\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n },\n \"pat\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_catch_pat\",\n \"named\": true\n }\n ]\n },\n \"stack\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"try_stack\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"catch_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"clause_body\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"compile_options_attribute\",\n \"named\": true,\n \"fields\": {\n \"options\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"concatables\",\n \"named\": true,\n \"fields\": {\n \"elems\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_concatable\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"cond_match_expr\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"cr_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n },\n \"pat\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"deprecated_attribute\",\n \"named\": true,\n \"fields\": {\n \"attr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_deprecated_details\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"deprecated_fa\",\n \"named\": true,\n \"fields\": {\n \"arity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_deprecated_fun_arity\",\n \"named\": true\n }\n ]\n },\n \"desc\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"deprecation_desc\",\n \"named\": true\n }\n ]\n },\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"atom\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"deprecated_fas\",\n \"named\": true,\n \"fields\": {\n \"fa\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"deprecated_fa\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"deprecated_module\",\n \"named\": true,\n \"fields\": {\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"atom\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"deprecation_desc\",\n \"named\": true,\n \"fields\": {\n \"desc\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_desc\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"export_attribute\",\n \"named\": true,\n \"fields\": {\n \"funs\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"fa\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"export_type_attribute\",\n \"named\": true,\n \"fields\": {\n \"types\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"fa\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"expr_args\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"external_fun\",\n \"named\": true,\n \"fields\": {\n \"arity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arity\",\n \"named\": true\n }\n ]\n },\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"module\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"fa\",\n \"named\": true,\n \"fields\": {\n \"arity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arity\",\n \"named\": true\n }\n ]\n },\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"feature_attribute\",\n \"named\": true,\n \"fields\": {\n \"feature\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"flag\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"field_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"field_type\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"file_attribute\",\n \"named\": true,\n \"fields\": {\n \"original_file\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n },\n \"original_line\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"integer\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"fun_clause\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_args\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"fun_decl\",\n \"named\": true,\n \"fields\": {\n \"clause\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_function_or_macro_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"fun_type\",\n \"named\": true,\n \"fields\": {\n \"sig\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"fun_type_sig\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"fun_type_sig\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_args\",\n \"named\": true\n }\n ]\n },\n \"ty\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"function_clause\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_args\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"generator\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"guard\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"guard_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"guard_clause\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"if_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"if_expr\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"if_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"import_attribute\",\n \"named\": true,\n \"fields\": {\n \"funs\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"fa\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"internal_fun\",\n \"named\": true,\n \"fields\": {\n \"arity\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arity\",\n \"named\": true\n }\n ]\n },\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"lc_exprs\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_lc_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"list\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"list_comprehension\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"lc_exprs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"lc_exprs\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"macro_call_args\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"macro_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"macro_call_expr\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"macro_call_args\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"macro_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"macro_lhs\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"var_args\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"macro_string\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"map_comprehension\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"map_field\",\n \"named\": true\n }\n ]\n },\n \"lc_exprs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"lc_exprs\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"map_expr\",\n \"named\": true,\n \"fields\": {\n \"fields\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"map_field\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"map_expr_update\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_map_expr_base\",\n \"named\": true\n }\n ]\n },\n \"fields\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"map_field\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"map_field\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"map_generator\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"map_field\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"match_expr\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"maybe_expr\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true\n }\n ]\n },\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"module\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"module_attribute\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"multi_string\",\n \"named\": true,\n \"fields\": {\n \"elems\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_string_like\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"opaque\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n },\n \"ty\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"optional_callbacks_attribute\",\n \"named\": true,\n \"fields\": {\n \"callbacks\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"fa\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"paren_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pipe\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_define\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"macro_lhs\",\n \"named\": true\n }\n ]\n },\n \"replacement\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_macro_def_replacement\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_elif\",\n \"named\": true,\n \"fields\": {\n \"cond\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_else\",\n \"named\": true,\n \"fields\": {\n }\n },\n {\n \"type\": \"pp_endif\",\n \"named\": true,\n \"fields\": {\n }\n },\n {\n \"type\": \"pp_if\",\n \"named\": true,\n \"fields\": {\n \"cond\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_ifdef\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_ifndef\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_include\",\n \"named\": true,\n \"fields\": {\n \"file\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_include_detail\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_include_lib\",\n \"named\": true,\n \"fields\": {\n \"file\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_include_detail\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pp_undef\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_macro_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"range_type\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"receive_after\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"clause_body\",\n \"named\": true\n }\n ]\n },\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"receive_expr\",\n \"named\": true,\n \"fields\": {\n \"after\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"receive_after\",\n \"named\": true\n }\n ]\n },\n \"clauses\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_decl\",\n \"named\": true,\n \"fields\": {\n \"fields\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"record_field\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_expr\",\n \"named\": true,\n \"fields\": {\n \"fields\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"record_field\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_field\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_expr\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n },\n \"ty\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"field_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_field_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_record_expr_base\",\n \"named\": true\n }\n ]\n },\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_field_name\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_field_name\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_index_expr\",\n \"named\": true,\n \"fields\": {\n \"field\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_field_name\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_name\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"record_update_expr\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_record_expr_base\",\n \"named\": true\n }\n ]\n },\n \"fields\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"record_field\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"record_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"remote\",\n \"named\": true,\n \"fields\": {\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"remote_module\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"remote_module\",\n \"named\": true,\n \"fields\": {\n \"module\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr_max\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_cr_clauses\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_expr_guard\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_function_clauses\",\n \"named\": true,\n \"fields\": {\n \"clauses\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_function_or_macro_clause\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_guard_and\",\n \"named\": true,\n \"fields\": {\n \"guard\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_guard_or\",\n \"named\": true,\n \"fields\": {\n \"guard\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"replacement_guard_and\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"replacement_parens\",\n \"named\": true,\n \"fields\": {\n }\n },\n {\n \"type\": \"source_file\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"forms_only\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_form\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"spec\",\n \"named\": true,\n \"fields\": {\n \"fun\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n },\n \"module\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"module\",\n \"named\": true\n }\n ]\n },\n \"sigs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_sig\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ssr_definition\",\n \"named\": true,\n \"fields\": {\n \"lhs\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n },\n \"rhs\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"ssr_replacement\",\n \"named\": true\n }\n ]\n },\n \"when\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"ssr_when\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ssr_replacement\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"ssr_when\",\n \"named\": true,\n \"fields\": {\n \"guard\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"guard\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"string\",\n \"named\": true,\n \"fields\": {\n }\n },\n {\n \"type\": \"try_after\",\n \"named\": true,\n \"fields\": {\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"try_class\",\n \"named\": true,\n \"fields\": {\n \"class\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"try_expr\",\n \"named\": true,\n \"fields\": {\n \"after\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"try_after\",\n \"named\": true\n }\n ]\n },\n \"catch\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"catch_clause\",\n \"named\": true\n }\n ]\n },\n \"clauses\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_cr_clause_or_macro\",\n \"named\": true\n }\n ]\n },\n \"exprs\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"try_stack\",\n \"named\": true,\n \"fields\": {\n \"class\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"tuple\",\n \"named\": true,\n \"fields\": {\n \"expr\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_alias\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type_name\",\n \"named\": true\n }\n ]\n },\n \"ty\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_guards\",\n \"named\": true,\n \"fields\": {\n \"guards\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"ann_type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_name\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"var_args\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"type_sig\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"expr_args\",\n \"named\": true\n }\n ]\n },\n \"guard\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type_guards\",\n \"named\": true\n }\n ]\n },\n \"ty\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"unary_op_expr\",\n \"named\": true,\n \"fields\": {\n \"operand\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"var_args\",\n \"named\": true,\n \"fields\": {\n \"args\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"var\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"wild_attribute\",\n \"named\": true,\n \"fields\": {\n \"name\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"attr_name\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expr\",\n \"named\": true\n }\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\": \"after\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"andalso\",\n \"named\": false\n },\n {\n \"type\": \"atom\",\n \"named\": true\n },\n {\n \"type\": \"band\",\n \"named\": false\n },\n {\n \"type\": \"begin\",\n \"named\": false\n },\n {\n \"type\": \"behavior\",\n \"named\": false\n },\n {\n \"type\": \"behaviour\",\n \"named\": false\n },\n {\n \"type\": \"bnot\",\n \"named\": false\n },\n {\n \"type\": \"bor\",\n \"named\": false\n },\n {\n \"type\": \"bsl\",\n \"named\": false\n },\n {\n \"type\": \"bsr\",\n \"named\": false\n },\n {\n \"type\": \"bxor\",\n \"named\": false\n },\n {\n \"type\": \"callback\",\n \"named\": false\n },\n {\n \"type\": \"case\",\n \"named\": false\n },\n {\n \"type\": \"catch\",\n \"named\": false\n },\n {\n \"type\": \"char\",\n \"named\": true\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"compile\",\n \"named\": false\n },\n {\n \"type\": \"define\",\n \"named\": false\n },\n {\n \"type\": \"deprecated\",\n \"named\": false\n },\n {\n \"type\": \"deprecated_wildcard\",\n \"named\": true\n },\n {\n \"type\": \"div\",\n \"named\": false\n },\n {\n \"type\": \"dotdotdot\",\n \"named\": true\n },\n {\n \"type\": \"elif\",\n \"named\": false\n },\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"end\",\n \"named\": false\n },\n {\n \"type\": \"endif\",\n \"named\": false\n },\n {\n \"type\": \"export\",\n \"named\": false\n },\n {\n \"type\": \"export_type\",\n \"named\": false\n },\n {\n \"type\": \"feature\",\n \"named\": false\n },\n {\n \"type\": \"file\",\n \"named\": false\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"fun\",\n \"named\": false\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"ifdef\",\n \"named\": false\n },\n {\n \"type\": \"ifndef\",\n \"named\": false\n },\n {\n \"type\": \"import\",\n \"named\": false\n },\n {\n \"type\": \"include\",\n \"named\": false\n },\n {\n \"type\": \"include_lib\",\n \"named\": false\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"maybe\",\n \"named\": false\n },\n {\n \"type\": \"module\",\n \"named\": false\n },\n {\n \"type\": \"not\",\n \"named\": false\n },\n {\n \"type\": \"of\",\n \"named\": false\n },\n {\n \"type\": \"opaque\",\n \"named\": false\n },\n {\n \"type\": \"optional_callbacks\",\n \"named\": false\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"orelse\",\n \"named\": false\n },\n {\n \"type\": \"receive\",\n \"named\": false\n },\n {\n \"type\": \"record\",\n \"named\": false\n },\n {\n \"type\": \"rem\",\n \"named\": false\n },\n {\n \"type\": \"shebang\",\n \"named\": true\n },\n {\n \"type\": \"spec\",\n \"named\": false\n },\n {\n \"type\": \"ssr\",\n \"named\": false\n },\n {\n \"type\": \"try\",\n \"named\": false\n },\n {\n \"type\": \"type\",\n \"named\": false\n },\n {\n \"type\": \"undef\",\n \"named\": false\n },\n {\n \"type\": \"unit\",\n \"named\": false\n },\n {\n \"type\": \"var\",\n \"named\": true\n },\n {\n \"type\": \"when\",\n \"named\": false\n },\n {\n \"type\": \"xor\",\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 \"@generated\": true\n }\n]";Expand description
The content of the node-types.json file for this grammar.