tree_sitter_inference

Constant NODE_TYPES

Source
pub const NODE_TYPES: &str = "[\n  {\n    \"type\": \"argument_declaration\",\n    \"named\": true,\n    \"fields\": {\n      \"mut\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"mut_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"argument_list\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"_\",\n            \"named\": false\n          },\n          {\n            \"type\": \"argument_declaration\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"array_index_access_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"array\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"index\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"array_literal\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"array_index_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assign_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bool_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uzumaki_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assert_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_index_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assign_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bool_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uzumaki_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assign_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assign_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"assume_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"binary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"left\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"add_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"and_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bit_and_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bit_or_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bit_xor_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"equals_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"greater_equal_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"greater_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"less_equal_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"less_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"mod_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"mul_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"not_equals_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"or_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"pow_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"shift_left_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"shift_right_operator\",\n            \"named\": true\n          },\n          {\n            \"type\": \"sub_operator\",\n            \"named\": true\n          }\n        ]\n      },\n      \"right\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"block\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assert_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assume_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"break_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"constant_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"exists_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expression_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"forall_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"if_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"loop_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"return_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unique_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"variable_definition_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"bool_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"break_statement\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"constant_definition\",\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      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assign_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"enum_definition\",\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      \"variant\": {\n        \"multiple\": true,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"exists_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"expression_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assign_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_unary_expression\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"external_function_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"argument_list\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"returns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"forall_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rightarrow_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"forall_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        },\n        {\n          \"type\": \"forall_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_call_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"argument\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \":\",\n            \"named\": false\n          },\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"function\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"function_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"argument_list\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"returns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type_parameters\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"type_argument_list\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"forall_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_keyword\",\n          \"named\": true\n        },\n        {\n          \"type\": \"rightarrow_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"function_keyword\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"generic_name\",\n    \"named\": true,\n    \"fields\": {\n      \"base_type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"type_argument_list\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"greater_operator\",\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      \"condition\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"else_arm\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"else_if_arm\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"else_if_condition\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"if_arm\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"less_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"loop_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"body\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"block\",\n            \"named\": true\n          }\n        ]\n      },\n      \"condition\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"member_access_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_access_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"expand_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"number_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"parenthesized_expression\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assign_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bool_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uzumaki_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"prefix_unary_expression\",\n    \"named\": true,\n    \"fields\": {\n      \"operator\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"unary_not\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"array_index_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"array_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"assign_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"binary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"bool_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_call_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"member_access_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"number_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"parenthesized_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"prefix_unary_expression\",\n          \"named\": true\n        },\n        {\n          \"type\": \"string_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"unit_literal\",\n          \"named\": true\n        },\n        {\n          \"type\": \"uzumaki_keyword\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"qualified_name\",\n    \"named\": true,\n    \"fields\": {\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"qualifier\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"attribute_access_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"return_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"expression\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"rightarrow_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"source_file\",\n    \"named\": true,\n    \"root\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"spec_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_statement\",\n          \"named\": true\n        },\n        {\n          \"type\": \"use_directive\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"spec_definition\",\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    \"children\": {\n      \"multiple\": true,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"constant_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"enum_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"external_function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"function_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"struct_definition\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_definition_statement\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"string_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"struct_definition\",\n    \"named\": true,\n    \"fields\": {\n      \"field\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"struct_field\",\n            \"named\": true\n          }\n        ]\n      },\n      \"method\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"function_definition\",\n            \"named\": true\n          }\n        ]\n      },\n      \"struct_name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"struct_field\",\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      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"sub_operator\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"type_argument_list\",\n    \"named\": true,\n    \"fields\": {\n      \"type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_array\",\n    \"named\": true,\n    \"fields\": {\n      \"length\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_definition_statement\",\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    \"children\": {\n      \"multiple\": true,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"assign_operator\",\n          \"named\": true\n        },\n        {\n          \"type\": \"generic_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"identifier\",\n          \"named\": true\n        },\n        {\n          \"type\": \"qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_array\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_bool\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_fn\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_i16\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_i32\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_i64\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_i8\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_qualified_name\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_u16\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_u32\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_u64\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_u8\",\n          \"named\": true\n        },\n        {\n          \"type\": \"type_unit\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_fn\",\n    \"named\": true,\n    \"fields\": {\n      \"arguments\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"argument_list\",\n            \"named\": true\n          }\n        ]\n      },\n      \"returns\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      }\n    }\n  },\n  {\n    \"type\": \"type_qualified_name\",\n    \"named\": true,\n    \"fields\": {\n      \"alias\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"expand_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"type_unit\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"unique_statement\",\n    \"named\": true,\n    \"fields\": {},\n    \"children\": {\n      \"multiple\": false,\n      \"required\": true,\n      \"types\": [\n        {\n          \"type\": \"block\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"unit_literal\",\n    \"named\": true,\n    \"fields\": {}\n  },\n  {\n    \"type\": \"use_directive\",\n    \"named\": true,\n    \"fields\": {\n      \"from_literal\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          }\n        ]\n      },\n      \"imported_type\": {\n        \"multiple\": true,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"segment\": {\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\": \"expand_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"variable_definition_statement\",\n    \"named\": true,\n    \"fields\": {\n      \"mut\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"mut_keyword\",\n            \"named\": true\n          }\n        ]\n      },\n      \"name\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          }\n        ]\n      },\n      \"type\": {\n        \"multiple\": false,\n        \"required\": true,\n        \"types\": [\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_array\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_bool\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_fn\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_i8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_qualified_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u16\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u32\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u64\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_u8\",\n            \"named\": true\n          },\n          {\n            \"type\": \"type_unit\",\n            \"named\": true\n          }\n        ]\n      },\n      \"value\": {\n        \"multiple\": false,\n        \"required\": false,\n        \"types\": [\n          {\n            \"type\": \"array_index_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"array_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"assign_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"binary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"bool_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"function_call_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"generic_name\",\n            \"named\": true\n          },\n          {\n            \"type\": \"identifier\",\n            \"named\": true\n          },\n          {\n            \"type\": \"member_access_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"number_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"parenthesized_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"prefix_unary_expression\",\n            \"named\": true\n          },\n          {\n            \"type\": \"string_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"unit_literal\",\n            \"named\": true\n          },\n          {\n            \"type\": \"uzumaki_keyword\",\n            \"named\": true\n          }\n        ]\n      }\n    },\n    \"children\": {\n      \"multiple\": false,\n      \"required\": false,\n      \"types\": [\n        {\n          \"type\": \"assign_operator\",\n          \"named\": true\n        }\n      ]\n    }\n  },\n  {\n    \"type\": \"\\\"\",\n    \"named\": false\n  },\n  {\n    \"type\": \"(\",\n    \"named\": false\n  },\n  {\n    \"type\": \"()\",\n    \"named\": false\n  },\n  {\n    \"type\": \")\",\n    \"named\": false\n  },\n  {\n    \"type\": \",\",\n    \"named\": false\n  },\n  {\n    \"type\": \"-\",\n    \"named\": false\n  },\n  {\n    \"type\": \"->\",\n    \"named\": false\n  },\n  {\n    \"type\": \":\",\n    \"named\": false\n  },\n  {\n    \"type\": \";\",\n    \"named\": false\n  },\n  {\n    \"type\": \"<\",\n    \"named\": false\n  },\n  {\n    \"type\": \">\",\n    \"named\": false\n  },\n  {\n    \"type\": \"[\",\n    \"named\": false\n  },\n  {\n    \"type\": \"]\",\n    \"named\": false\n  },\n  {\n    \"type\": \"_\",\n    \"named\": false\n  },\n  {\n    \"type\": \"add_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"and_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"assert\",\n    \"named\": false\n  },\n  {\n    \"type\": \"assign_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"assume\",\n    \"named\": false\n  },\n  {\n    \"type\": \"attribute_access_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"bit_and_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"bit_or_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"bit_xor_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"break\",\n    \"named\": false\n  },\n  {\n    \"type\": \"const\",\n    \"named\": false\n  },\n  {\n    \"type\": \"constructor\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else\",\n    \"named\": false\n  },\n  {\n    \"type\": \"else if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"enum\",\n    \"named\": false\n  },\n  {\n    \"type\": \"equals_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"exists\",\n    \"named\": false\n  },\n  {\n    \"type\": \"expand_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"external\",\n    \"named\": false\n  },\n  {\n    \"type\": \"false\",\n    \"named\": false\n  },\n  {\n    \"type\": \"fn\",\n    \"named\": false\n  },\n  {\n    \"type\": \"forall_keyword\",\n    \"named\": true\n  },\n  {\n    \"type\": \"from\",\n    \"named\": false\n  },\n  {\n    \"type\": \"greater_equal_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"if\",\n    \"named\": false\n  },\n  {\n    \"type\": \"less_equal_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"let\",\n    \"named\": false\n  },\n  {\n    \"type\": \"loop\",\n    \"named\": false\n  },\n  {\n    \"type\": \"mod_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"mul_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"mut_keyword\",\n    \"named\": true\n  },\n  {\n    \"type\": \"not_equals_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"or_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"pow_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"proof\",\n    \"named\": false\n  },\n  {\n    \"type\": \"return\",\n    \"named\": false\n  },\n  {\n    \"type\": \"shift_left_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"shift_right_operator\",\n    \"named\": true\n  },\n  {\n    \"type\": \"spec\",\n    \"named\": false\n  },\n  {\n    \"type\": \"struct\",\n    \"named\": false\n  },\n  {\n    \"type\": \"true\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type\",\n    \"named\": false\n  },\n  {\n    \"type\": \"type_bool\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_i16\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_i32\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_i64\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_i8\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_u16\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_u32\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_u64\",\n    \"named\": true\n  },\n  {\n    \"type\": \"type_u8\",\n    \"named\": true\n  },\n  {\n    \"type\": \"unary_not\",\n    \"named\": true\n  },\n  {\n    \"type\": \"unique\",\n    \"named\": false\n  },\n  {\n    \"type\": \"use\",\n    \"named\": false\n  },\n  {\n    \"type\": \"uzumaki\",\n    \"named\": false\n  },\n  {\n    \"type\": \"uzumaki_keyword\",\n    \"named\": true\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.