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.