pub const NODE_TYPES: &str = "[\n {\n \"type\": \"_attribute_expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"array\",\n \"named\": true\n },\n {\n \"type\": \"base_call\",\n \"named\": true\n },\n {\n \"type\": \"binary_operator\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"dictionary\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"get_node\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"node_path\",\n \"named\": true\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"subscript\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"unary_operator\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_compound_statement\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"class_definition\",\n \"named\": true\n },\n {\n \"type\": \"constructor_definition\",\n \"named\": true\n },\n {\n \"type\": \"enum_definition\",\n \"named\": true\n },\n {\n \"type\": \"for_statement\",\n \"named\": true\n },\n {\n \"type\": \"function_definition\",\n \"named\": true\n },\n {\n \"type\": \"if_statement\",\n \"named\": true\n },\n {\n \"type\": \"match_statement\",\n \"named\": true\n },\n {\n \"type\": \"while_statement\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"_primary_expression\",\n \"named\": true\n },\n {\n \"type\": \"await_expression\",\n \"named\": true\n },\n {\n \"type\": \"conditional_expression\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_parameters\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"default_parameter\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"typed_default_parameter\",\n \"named\": true\n },\n {\n \"type\": \"typed_parameter\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_pattern\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"pattern_array\",\n \"named\": true\n },\n {\n \"type\": \"pattern_binding\",\n \"named\": true\n },\n {\n \"type\": \"pattern_dictionary\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"underscore\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"_primary_expression\",\n \"named\": true,\n \"subtypes\": [\n {\n \"type\": \"array\",\n \"named\": true\n },\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"base_call\",\n \"named\": true\n },\n {\n \"type\": \"binary_operator\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"dictionary\",\n \"named\": true\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"get_node\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"node_path\",\n \"named\": true\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"string_name\",\n \"named\": true\n },\n {\n \"type\": \"subscript\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"unary_operator\",\n \"named\": true\n }\n ]\n },\n {\n \"type\": \"()\",\n \"named\": false,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_parameters\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"annotation\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"annotations\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"annotation\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"arguments\",\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\": \"lambda\",\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\": \"lambda\",\n \"named\": true\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\": \"_expression\",\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\": \"lambda\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"attribute\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_attribute_expression\",\n \"named\": true\n },\n {\n \"type\": \"attribute_call\",\n \"named\": true\n },\n {\n \"type\": \"attribute_subscript\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"attribute_call\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"attribute_subscript\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_primary_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"augmented_assignment\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"await_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"base_call\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"binary_operator\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_primary_expression\",\n \"named\": true\n }\n ]\n },\n \"op\": {\n \"multiple\": true,\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\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"in\",\n \"named\": false\n },\n {\n \"type\": \"is\",\n \"named\": false\n },\n {\n \"type\": \"not\",\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\": \"_primary_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"body\",\n \"named\": false,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_compound_statement\",\n \"named\": true\n },\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"breakpoint_statement\",\n \"named\": true\n },\n {\n \"type\": \"class_name_statement\",\n \"named\": true\n },\n {\n \"type\": \"const_statement\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"export_variable_statement\",\n \"named\": true\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true\n },\n {\n \"type\": \"extends_statement\",\n \"named\": true\n },\n {\n \"type\": \"onready_variable_statement\",\n \"named\": true\n },\n {\n \"type\": \"pass_statement\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"signal_statement\",\n \"named\": true\n },\n {\n \"type\": \"tool_statement\",\n \"named\": true\n },\n {\n \"type\": \"variable_statement\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"break_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"call\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_primary_expression\",\n \"named\": true\n },\n {\n \"type\": \"arguments\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"class_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n },\n \"extends\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"extends_statement\",\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\": \"class_name_statement\",\n \"named\": true,\n \"fields\": {\n \"icon_path\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"name\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"conditional_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"const_statement\",\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 \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inferred_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"constructor_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n },\n \"constructor_arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"arguments\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameters\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"default_parameter\",\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 \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"dictionary\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"pair\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"elif_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\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\": \"else_clause\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enum_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"enumerator_list\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"name\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enumerator\",\n \"named\": true,\n \"fields\": {\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n },\n \"right\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"binary_operator\",\n \"named\": true\n },\n {\n \"type\": \"call\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true\n },\n {\n \"type\": \"subscript\",\n \"named\": true\n },\n {\n \"type\": \"unary_operator\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"enumerator_list\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"enumerator\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"export_variable_statement\",\n \"named\": true,\n \"fields\": {\n \"export_arguments\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"arguments\",\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 \"setget\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"setget\",\n \"named\": true\n }\n ]\n },\n \"static\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"static_keyword\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inferred_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotations\",\n \"named\": true\n },\n {\n \"type\": \"remote_keyword\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"assignment\",\n \"named\": true\n },\n {\n \"type\": \"augmented_assignment\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"extends_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"string\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"for_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n },\n \"left\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\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 },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"function_definition\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n },\n \"name\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"name\",\n \"named\": true\n }\n ]\n },\n \"parameters\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameters\",\n \"named\": true\n }\n ]\n },\n \"return_type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotations\",\n \"named\": true\n },\n {\n \"type\": \"remote_keyword\",\n \"named\": true\n },\n {\n \"type\": \"static_keyword\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"get_body\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"getter\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"identifier\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"if_statement\",\n \"named\": true,\n \"fields\": {\n \"alternative\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"elif_clause\",\n \"named\": true\n },\n {\n \"type\": \"else_clause\",\n \"named\": true\n }\n ]\n },\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\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\": \"inferred_type\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"lambda\",\n \"named\": true,\n \"fields\": {\n \"return_type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n },\n {\n \"type\": \"name\",\n \"named\": true\n },\n {\n \"type\": \"parameters\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"match_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"pattern_section\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"match_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"match_body\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"name\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"onready_variable_statement\",\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 \"setget\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"setget\",\n \"named\": true\n }\n ]\n },\n \"static\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"static_keyword\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inferred_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotations\",\n \"named\": true\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\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"parameters\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_parameters\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"parenthesized_expression\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pass_statement\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"pattern_array\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_pattern\",\n \"named\": true\n },\n {\n \"type\": \"pattern_open_ending\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pattern_binding\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pattern_dictionary\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"pattern_open_ending\",\n \"named\": true\n },\n {\n \"type\": \"pattern_pair\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"pattern_guard\",\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\": \"pattern_pair\",\n \"named\": true,\n \"fields\": {\n \"key\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern\",\n \"named\": true\n }\n ]\n }\n }\n },\n {\n \"type\": \"pattern_section\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_pattern\",\n \"named\": true\n },\n {\n \"type\": \"pattern_guard\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"remote_keyword\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"return_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"set_body\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"parameters\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"setget\",\n \"named\": true,\n \"fields\": {\n \"get\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"get_body\",\n \"named\": true\n },\n {\n \"type\": \"getter\",\n \"named\": true\n }\n ]\n },\n \"set\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"set_body\",\n \"named\": true\n },\n {\n \"type\": \"setter\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"getter\",\n \"named\": true\n },\n {\n \"type\": \"setter\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"setter\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"signal_statement\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"name\",\n \"named\": true\n },\n {\n \"type\": \"parameters\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"source\",\n \"named\": true,\n \"root\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_compound_statement\",\n \"named\": true\n },\n {\n \"type\": \"annotation\",\n \"named\": true\n },\n {\n \"type\": \"break_statement\",\n \"named\": true\n },\n {\n \"type\": \"breakpoint_statement\",\n \"named\": true\n },\n {\n \"type\": \"class_name_statement\",\n \"named\": true\n },\n {\n \"type\": \"const_statement\",\n \"named\": true\n },\n {\n \"type\": \"continue_statement\",\n \"named\": true\n },\n {\n \"type\": \"export_variable_statement\",\n \"named\": true\n },\n {\n \"type\": \"expression_statement\",\n \"named\": true\n },\n {\n \"type\": \"extends_statement\",\n \"named\": true\n },\n {\n \"type\": \"onready_variable_statement\",\n \"named\": true\n },\n {\n \"type\": \"pass_statement\",\n \"named\": true\n },\n {\n \"type\": \"return_statement\",\n \"named\": true\n },\n {\n \"type\": \"signal_statement\",\n \"named\": true\n },\n {\n \"type\": \"tool_statement\",\n \"named\": true\n },\n {\n \"type\": \"variable_statement\",\n \"named\": true\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 }\n },\n {\n \"type\": \"string_name\",\n \"named\": true,\n \"fields\": {}\n },\n {\n \"type\": \"subscript\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"type\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"attribute\",\n \"named\": true\n },\n {\n \"type\": \"identifier\",\n \"named\": true\n },\n {\n \"type\": \"subscript\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typed_default_parameter\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"typed_parameter\",\n \"named\": true,\n \"fields\": {\n \"type\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"identifier\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"unary_operator\",\n \"named\": true,\n \"fields\": {},\n \"children\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"_primary_expression\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"value\",\n \"named\": false,\n \"fields\": {},\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"variable_statement\",\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 \"setget\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"setget\",\n \"named\": true\n }\n ]\n },\n \"static\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"static_keyword\",\n \"named\": true\n }\n ]\n },\n \"type\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"inferred_type\",\n \"named\": true\n },\n {\n \"type\": \"type\",\n \"named\": true\n }\n ]\n },\n \"value\": {\n \"multiple\": false,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"_expression\",\n \"named\": true\n },\n {\n \"type\": \"lambda\",\n \"named\": true\n }\n ]\n }\n },\n \"children\": {\n \"multiple\": true,\n \"required\": false,\n \"types\": [\n {\n \"type\": \"annotations\",\n \"named\": true\n },\n {\n \"type\": \"remote_keyword\",\n \"named\": true\n }\n ]\n }\n },\n {\n \"type\": \"while_statement\",\n \"named\": true,\n \"fields\": {\n \"body\": {\n \"multiple\": false,\n \"required\": true,\n \"types\": [\n {\n \"type\": \"body\",\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\": \"!\",\n \"named\": false\n },\n {\n \"type\": \"!=\",\n \"named\": false\n },\n {\n \"type\": \"\\\"\",\n \"named\": false\n },\n {\n \"type\": \"%\",\n \"named\": false\n },\n {\n \"type\": \"%=\",\n \"named\": false\n },\n {\n \"type\": \"&\",\n \"named\": false\n },\n {\n \"type\": \"&&\",\n \"named\": false\n },\n {\n \"type\": \"&=\",\n \"named\": false\n },\n {\n \"type\": \"(\",\n \"named\": false\n },\n {\n \"type\": \")\",\n \"named\": false\n },\n {\n \"type\": \"*\",\n \"named\": false\n },\n {\n \"type\": \"*=\",\n \"named\": false\n },\n {\n \"type\": \"+\",\n \"named\": false\n },\n {\n \"type\": \"+=\",\n \"named\": false\n },\n {\n \"type\": \",\",\n \"named\": false\n },\n {\n \"type\": \"-\",\n \"named\": false\n },\n {\n \"type\": \"-=\",\n \"named\": false\n },\n {\n \"type\": \"->\",\n \"named\": false\n },\n {\n \"type\": \".\",\n \"named\": false\n },\n {\n \"type\": \"/\",\n \"named\": false\n },\n {\n \"type\": \"/=\",\n \"named\": false\n },\n {\n \"type\": \":\",\n \"named\": false\n },\n {\n \"type\": \":=\",\n \"named\": false\n },\n {\n \"type\": \";\",\n \"named\": false\n },\n {\n \"type\": \"<\",\n \"named\": false\n },\n {\n \"type\": \"<<\",\n \"named\": false\n },\n {\n \"type\": \"<<=\",\n \"named\": false\n },\n {\n \"type\": \"<=\",\n \"named\": false\n },\n {\n \"type\": \"=\",\n \"named\": false\n },\n {\n \"type\": \"==\",\n \"named\": false\n },\n {\n \"type\": \">\",\n \"named\": false\n },\n {\n \"type\": \">=\",\n \"named\": false\n },\n {\n \"type\": \">>\",\n \"named\": false\n },\n {\n \"type\": \">>=\",\n \"named\": false\n },\n {\n \"type\": \"@\",\n \"named\": false\n },\n {\n \"type\": \"[\",\n \"named\": false\n },\n {\n \"type\": \"]\",\n \"named\": false\n },\n {\n \"type\": \"^\",\n \"named\": false\n },\n {\n \"type\": \"^=\",\n \"named\": false\n },\n {\n \"type\": \"_init\",\n \"named\": false\n },\n {\n \"type\": \"and\",\n \"named\": false\n },\n {\n \"type\": \"as\",\n \"named\": false\n },\n {\n \"type\": \"await\",\n \"named\": false\n },\n {\n \"type\": \"break\",\n \"named\": false\n },\n {\n \"type\": \"breakpoint_statement\",\n \"named\": true\n },\n {\n \"type\": \"class\",\n \"named\": false\n },\n {\n \"type\": \"class_name\",\n \"named\": false\n },\n {\n \"type\": \"comment\",\n \"named\": true\n },\n {\n \"type\": \"const\",\n \"named\": false\n },\n {\n \"type\": \"continue\",\n \"named\": false\n },\n {\n \"type\": \"elif\",\n \"named\": false\n },\n {\n \"type\": \"else\",\n \"named\": false\n },\n {\n \"type\": \"enum\",\n \"named\": false\n },\n {\n \"type\": \"escape_sequence\",\n \"named\": true\n },\n {\n \"type\": \"export\",\n \"named\": false\n },\n {\n \"type\": \"extends\",\n \"named\": false\n },\n {\n \"type\": \"false\",\n \"named\": true\n },\n {\n \"type\": \"float\",\n \"named\": true\n },\n {\n \"type\": \"for\",\n \"named\": false\n },\n {\n \"type\": \"func\",\n \"named\": false\n },\n {\n \"type\": \"get\",\n \"named\": false\n },\n {\n \"type\": \"get_node\",\n \"named\": true\n },\n {\n \"type\": \"if\",\n \"named\": false\n },\n {\n \"type\": \"in\",\n \"named\": false\n },\n {\n \"type\": \"integer\",\n \"named\": true\n },\n {\n \"type\": \"is\",\n \"named\": false\n },\n {\n \"type\": \"master\",\n \"named\": false\n },\n {\n \"type\": \"mastersync\",\n \"named\": false\n },\n {\n \"type\": \"match\",\n \"named\": false\n },\n {\n \"type\": \"node_path\",\n \"named\": true\n },\n {\n \"type\": \"not\",\n \"named\": false\n },\n {\n \"type\": \"null\",\n \"named\": true\n },\n {\n \"type\": \"onready\",\n \"named\": false\n },\n {\n \"type\": \"or\",\n \"named\": false\n },\n {\n \"type\": \"pass\",\n \"named\": false\n },\n {\n \"type\": \"pattern_open_ending\",\n \"named\": true\n },\n {\n \"type\": \"puppet\",\n \"named\": false\n },\n {\n \"type\": \"puppetsync\",\n \"named\": false\n },\n {\n \"type\": \"remote\",\n \"named\": false\n },\n {\n \"type\": \"remotesync\",\n \"named\": false\n },\n {\n \"type\": \"return\",\n \"named\": false\n },\n {\n \"type\": \"set\",\n \"named\": false\n },\n {\n \"type\": \"setget\",\n \"named\": false\n },\n {\n \"type\": \"signal\",\n \"named\": false\n },\n {\n \"type\": \"static_keyword\",\n \"named\": true\n },\n {\n \"type\": \"tool_statement\",\n \"named\": true\n },\n {\n \"type\": \"true\",\n \"named\": true\n },\n {\n \"type\": \"underscore\",\n \"named\": true\n },\n {\n \"type\": \"var\",\n \"named\": false\n },\n {\n \"type\": \"when\",\n \"named\": false\n },\n {\n \"type\": \"while\",\n \"named\": false\n },\n {\n \"type\": \"{\",\n \"named\": false\n },\n {\n \"type\": \"|\",\n \"named\": false\n },\n {\n \"type\": \"|=\",\n \"named\": 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.