[
{
"type": "expression",
"named": true,
"subtypes": [
{
"type": "binary_expression",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "builtin_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "cast_expression",
"named": true
},
{
"type": "dereference_expression",
"named": true
},
{
"type": "enum_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_expression",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "inline_assembly_expression",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "literal",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "no_initializer",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "sequence_literal",
"named": true
},
{
"type": "slice_expression",
"named": true
},
{
"type": "struct_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "when_expression",
"named": true
}
]
},
{
"type": "statement",
"named": true,
"subtypes": [
{
"type": "assignment_statement",
"named": true
},
{
"type": "attribute",
"named": true
},
{
"type": "binding_declaration",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "compile_time_when",
"named": true
},
{
"type": "compiler_assert_directive",
"named": true
},
{
"type": "compiler_error_directive",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "function_definition",
"named": true
},
{
"type": "multi_binding_declaration",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "type_definition",
"named": true
}
]
},
{
"type": "type",
"named": true,
"subtypes": [
{
"type": "array_type",
"named": true
},
{
"type": "captured_type",
"named": true
},
{
"type": "dynamic_trait_type",
"named": true
},
{
"type": "enum_type",
"named": true
},
{
"type": "flags_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "named_type",
"named": true
},
{
"type": "opaque_type",
"named": true
},
{
"type": "pointer_type",
"named": true
},
{
"type": "representation_type",
"named": true
},
{
"type": "slice_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "trait_type",
"named": true
},
{
"type": "union_type",
"named": true
},
{
"type": "when_type",
"named": true
}
]
},
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "array_type",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"length": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "assembly_operand",
"named": true,
"fields": {
"constraint": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_literal",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_literal",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assembly_keyword",
"named": true
}
]
}
},
{
"type": "assignment_statement",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "%=",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "|=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "attribute",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "link_attribute",
"named": true
},
{
"type": "ordinary_attribute",
"named": true
}
]
}
},
{
"type": "attribute_argument",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "attribute_name",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "attribute_name",
"named": true
}
]
}
},
{
"type": "auto_attribute",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "attribute_name",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": true,
"required": true,
"types": [
{
"type": "!=",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "binding_declaration",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"compile_time": {
"multiple": false,
"required": false,
"types": [
{
"type": "$",
"named": false
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "boolean_literal",
"named": true,
"fields": {}
},
{
"type": "builtin_expression",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "builtin_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "c_string_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "string_content",
"named": true
}
]
}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "captured_type",
"named": true,
"fields": {
"constraint": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "cast_expression",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "character_literal",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
}
]
}
},
{
"type": "compile_time_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "import_declaration",
"named": true
},
{
"type": "module_declaration",
"named": true
},
{
"type": "statement",
"named": true
}
]
}
},
{
"type": "compile_time_when",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "compile_time_block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": true,
"required": true,
"types": [
{
"type": "compile_time_block",
"named": true
}
]
}
}
},
{
"type": "compiler_assert_directive",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"message": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "builtin_name",
"named": true
}
]
}
},
{
"type": "compiler_error_directive",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "builtin_name",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "defer_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "dereference_expression",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "dynamic_trait_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "named_type",
"named": true
}
]
}
},
{
"type": "enum_literal",
"named": true,
"fields": {
"variant": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "enum_member",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "integer_literal",
"named": true
}
]
}
}
},
{
"type": "enum_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "enum_member",
"named": true
}
]
}
},
{
"type": "expression_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "field_expression",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "field_initializer",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "no_initializer",
"named": true
}
]
}
},
{
"type": "flag_initializer",
"named": true,
"fields": {
"member": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "flags_member",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "flags_type",
"named": true,
"fields": {
"underlying": {
"multiple": false,
"required": true,
"types": [
{
"type": "named_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "flags_member",
"named": true
},
{
"type": "type_keyword",
"named": true
}
]
}
},
{
"type": "for_clause",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment_statement",
"named": true
},
{
"type": "binding_declaration",
"named": true
},
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "for_each_clause",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "for_each_destructure",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"end": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"index": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"iterable": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "iteration_attribute",
"named": true
}
]
}
},
{
"type": "for_each_destructure",
"named": true,
"fields": {
"binding": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "wildcard",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
},
{
"type": "for_clause",
"named": true
},
{
"type": "for_each_clause",
"named": true
}
]
}
},
{
"type": "function_definition",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "=",
"named": false
},
{
"type": "expression",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_name",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "return_type",
"named": true
}
]
}
}
},
{
"type": "function_name",
"named": true,
"fields": {
"function": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"method": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"owner": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "function_type",
"named": true,
"fields": {
"return_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "if_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": true,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
}
},
{
"type": "import_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "import_spec",
"named": true
}
]
}
},
{
"type": "import_spec",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "module_path",
"named": true
}
]
}
}
},
{
"type": "index_expression",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "inline_assembly_expression",
"named": true,
"fields": {
"template": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assembly_operand",
"named": true
},
{
"type": "builtin_name",
"named": true
}
]
}
},
{
"type": "iteration_attribute",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "attribute_name",
"named": true
}
]
}
},
{
"type": "lambda_expression",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "lambda_parameter_list",
"named": true
}
]
}
}
},
{
"type": "lambda_parameter",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "lambda_parameter_name",
"named": true
}
]
}
},
{
"type": "lambda_parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "lambda_parameter",
"named": true
}
]
}
},
{
"type": "lambda_parameter_name",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "link_attribute",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "attribute_name",
"named": true
},
{
"type": "link_item",
"named": true
}
]
}
},
{
"type": "link_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "link_item",
"named": true
}
]
}
},
{
"type": "link_entry",
"named": true,
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "link_kind",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
}
},
{
"type": "link_item",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "compiler_error_directive",
"named": true
},
{
"type": "link_entry",
"named": true
},
{
"type": "link_when",
"named": true
}
]
}
},
{
"type": "link_when",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "link_block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": true,
"required": true,
"types": [
{
"type": "link_block",
"named": true
}
]
}
}
},
{
"type": "literal",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "c_string_literal",
"named": true
},
{
"type": "character_literal",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "integer_literal",
"named": true
},
{
"type": "nil_literal",
"named": true
},
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "match_arm",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"guard": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "match_pattern",
"named": true
}
]
}
}
},
{
"type": "match_expression",
"named": true,
"fields": {
"binding": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"subject": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "match_arm",
"named": true
}
]
}
},
{
"type": "match_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "match_pattern_term",
"named": true
}
]
}
},
{
"type": "match_pattern_atom",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "literal",
"named": true
},
{
"type": "variant_pattern",
"named": true
},
{
"type": "wildcard",
"named": true
}
]
}
},
{
"type": "match_pattern_term",
"named": true,
"fields": {
"end": {
"multiple": false,
"required": false,
"types": [
{
"type": "literal",
"named": true
}
]
},
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "literal",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "match_pattern_atom",
"named": true
}
]
}
},
{
"type": "module_declaration",
"named": true,
"fields": {
"attribute": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "module_path",
"named": true
}
]
}
}
},
{
"type": "module_path",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "multi_binding_declaration",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "named_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_arguments",
"named": true
},
{
"type": "type_path",
"named": true
}
]
}
},
{
"type": "ordinary_attribute",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "attribute_name",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute_argument",
"named": true
}
]
}
},
{
"type": "parameter",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "parameter_name",
"named": true
}
]
}
},
{
"type": "parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "parameter",
"named": true
},
{
"type": "receiver_parameter",
"named": true
},
{
"type": "type_parameter",
"named": true
},
{
"type": "variadic_parameter",
"named": true
}
]
}
},
{
"type": "parameter_name",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "pattern_binding",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "payload_field",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "pointer_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "receiver_parameter",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "reference_expression",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "representation_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "builtin_name",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
{
"type": "return_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "return_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "sequence_literal",
"named": true,
"fields": {
"count": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
}
},
{
"type": "slice_expression",
"named": true,
"fields": {
"end": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "slice_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "binding_declaration",
"named": true
},
{
"type": "compile_time_when",
"named": true
},
{
"type": "compiler_assert_directive",
"named": true
},
{
"type": "compiler_error_directive",
"named": true
},
{
"type": "function_definition",
"named": true
},
{
"type": "import_declaration",
"named": true
},
{
"type": "module_declaration",
"named": true
},
{
"type": "multi_binding_declaration",
"named": true
},
{
"type": "type_definition",
"named": true
}
]
}
},
{
"type": "string_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "string_content",
"named": true
}
]
}
},
{
"type": "struct_field",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "struct_literal",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "call_expression",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "named_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "field_initializer",
"named": true
},
{
"type": "flag_initializer",
"named": true
}
]
}
},
{
"type": "struct_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "struct_field",
"named": true
}
]
}
},
{
"type": "trait_method",
"named": true,
"fields": {
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "=",
"named": false
},
{
"type": "expression",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"receiver": {
"multiple": false,
"required": true,
"types": [
{
"type": "receiver_parameter",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "return_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "trait_parameter",
"named": true
},
{
"type": "type_parameter",
"named": true
}
]
}
},
{
"type": "trait_parameter",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "trait_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "trait_method",
"named": true
}
]
}
},
{
"type": "type_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
},
{
"type": "type_definition",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameter_list",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "type_identifier",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "type_parameter",
"named": true,
"fields": {
"constraint": {
"multiple": false,
"required": false,
"types": [
{
"type": "type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "type_parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_parameter",
"named": true
}
]
}
},
{
"type": "type_path",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "union_field",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "union_type",
"named": true,
"fields": {
"tag": {
"multiple": false,
"required": false,
"types": [
{
"type": "auto_attribute",
"named": true
},
{
"type": "type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "union_field",
"named": true
},
{
"type": "union_variant",
"named": true
}
]
}
},
{
"type": "union_variant",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "payload_field",
"named": true
}
]
}
},
{
"type": "variadic_parameter",
"named": true,
"fields": {}
},
{
"type": "variant_pattern",
"named": true,
"fields": {
"variant": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "pattern_binding",
"named": true
}
]
}
},
{
"type": "when_expression",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "when_expression_block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": true,
"required": true,
"types": [
{
"type": "when_expression_block",
"named": true
}
]
}
}
},
{
"type": "when_expression_block",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "compiler_error_directive",
"named": true
},
{
"type": "expression",
"named": true
}
]
}
}
},
{
"type": "when_type",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "when_type_block",
"named": true
}
]
},
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "expression",
"named": true
}
]
},
"consequence": {
"multiple": true,
"required": true,
"types": [
{
"type": "when_type_block",
"named": true
}
]
}
}
},
{
"type": "when_type_block",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "compiler_error_directive",
"named": true
},
{
"type": "type",
"named": true
}
]
}
}
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "\"",
"named": false
},
{
"type": "$",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "%=",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "'",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "..",
"named": false
},
{
"type": "...",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": "=>",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": "@",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "alias",
"named": false
},
{
"type": "as",
"named": false
},
{
"type": "assembly_keyword",
"named": true
},
{
"type": "block_comment",
"named": true,
"extra": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "builtin_name",
"named": true
},
{
"type": "c\"",
"named": false
},
{
"type": "continue_statement",
"named": true
},
{
"type": "defer",
"named": false
},
{
"type": "dyn",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "false",
"named": false
},
{
"type": "float_literal",
"named": true
},
{
"type": "for",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "integer_literal",
"named": true
},
{
"type": "let",
"named": false
},
{
"type": "line_comment",
"named": true,
"extra": true
},
{
"type": "link_kind",
"named": true
},
{
"type": "match",
"named": false
},
{
"type": "module",
"named": false
},
{
"type": "mut",
"named": false
},
{
"type": "nil_literal",
"named": true
},
{
"type": "no_initializer",
"named": true
},
{
"type": "opaque_type",
"named": true
},
{
"type": "pub",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "string_content",
"named": true
},
{
"type": "struct",
"named": false
},
{
"type": "trait",
"named": false
},
{
"type": "true",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "type_keyword",
"named": true
},
{
"type": "union",
"named": false
},
{
"type": "when",
"named": false
},
{
"type": "wildcard",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "~",
"named": false
}
]