[
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "named_argument",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "array_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "base_field_initializer",
"named": true,
"fields": {
"base": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_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
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": "bitand",
"named": false
},
{
"type": "bitor",
"named": false
},
{
"type": "xor",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "~",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "block_statement",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "boolean_literal",
"named": true,
"fields": {}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"function": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "comment",
"named": true,
"fields": {}
},
{
"type": "compound_assignment_statement",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_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
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "control_tag",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "compound_assignment_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "decl_statement",
"named": true
},
{
"type": "else_if_statement",
"named": true
},
{
"type": "else_statement",
"named": true
},
{
"type": "endblock_statement",
"named": true
},
{
"type": "endcall_statement",
"named": true
},
{
"type": "endfilter_statement",
"named": true
},
{
"type": "endfor_statement",
"named": true
},
{
"type": "endif_statement",
"named": true
},
{
"type": "endlet_statement",
"named": true
},
{
"type": "endmacro_statement",
"named": true
},
{
"type": "endmatch_statement",
"named": true
},
{
"type": "endwhen_statement",
"named": true
},
{
"type": "extends_statement",
"named": true
},
{
"type": "filter_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "import_statement",
"named": true
},
{
"type": "include_statement",
"named": true
},
{
"type": "let_statement",
"named": true
},
{
"type": "macro_call_statement",
"named": true
},
{
"type": "macro_statement",
"named": true
},
{
"type": "match_statement",
"named": true
},
{
"type": "when_statement",
"named": true
}
]
}
},
{
"type": "decl_statement",
"named": true,
"fields": {
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
}
},
{
"type": "else_if_statement",
"named": true,
"fields": {
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "endblock_statement",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "endmacro_statement",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "endraw_statement",
"named": true,
"fields": {}
},
{
"type": "extends_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "field_expression",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_identifier",
"named": true
},
{
"type": "number_literal",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "filter_expression",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"filter": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "filter_statement",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"filter": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"filter": {
"multiple": false,
"required": false,
"types": [
{
"type": "if_statement",
"named": true
}
]
},
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"condition": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "let_condition",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "import_statement",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
}
},
{
"type": "include_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "index_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "is_defined_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "let_condition",
"named": true,
"fields": {
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "let_statement",
"named": true,
"fields": {
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "macro_call_statement",
"named": true,
"fields": {
"arguments": {
"multiple": true,
"required": false,
"types": [
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "call_expression",
"named": true
}
]
}
},
{
"type": "macro_invocation",
"named": true,
"fields": {
"macro": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "token_tree",
"named": true
}
]
}
},
{
"type": "macro_statement",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "match_statement",
"named": true,
"fields": {
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "named_argument",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "number_literal",
"named": true,
"fields": {}
},
{
"type": "or_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "range_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "raw_statement",
"named": true,
"fields": {}
},
{
"type": "reference_expression",
"named": true,
"fields": {
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "remaining_field",
"named": true,
"fields": {}
},
{
"type": "render_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "scoped_identifier",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"path": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
}
}
},
{
"type": "slice_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
},
{
"type": "source",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "comment",
"named": true
},
{
"type": "content",
"named": true
},
{
"type": "control_tag",
"named": true
},
{
"type": "endraw_statement",
"named": true
},
{
"type": "raw_content",
"named": true
},
{
"type": "raw_statement",
"named": true
},
{
"type": "render_expression",
"named": true
}
]
}
},
{
"type": "struct_expression",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "base_field_initializer",
"named": true
},
{
"type": "struct_field",
"named": true
}
]
}
},
{
"type": "struct_field",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": true,
"required": false,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "struct_pattern",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
},
{
"type": "token_tree",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "named_argument",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "try_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "tuple_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "tuple_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
},
{
"type": "tuple_struct_pattern",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
}
]
}
},
{
"type": "type_cast_expression",
"named": true,
"fields": {
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "primitive_type",
"named": true
},
{
"type": "scoped_identifier",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_expression",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "field_expression",
"named": true
},
{
"type": "filter_expression",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "is_defined_expression",
"named": true
},
{
"type": "macro_invocation",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "range_expression",
"named": true
},
{
"type": "reference_expression",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_expression",
"named": true
},
{
"type": "try_expression",
"named": true
},
{
"type": "tuple_expression",
"named": true
},
{
"type": "type_cast_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
}
},
{
"type": "when_statement",
"named": true,
"fields": {
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "-",
"named": false
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "or_pattern",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"named": true
},
{
"type": "with_pattern",
"named": true
}
]
}
}
},
{
"type": "with_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "boolean_literal",
"named": true
},
{
"type": "char_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "placeholder",
"named": true
},
{
"type": "remaining_field",
"named": true
},
{
"type": "scoped_identifier",
"named": true
},
{
"type": "slice_pattern",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct_pattern",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "tuple_struct_pattern",
"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": ">>=",
"named": false
},
{
"type": "?",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "as",
"named": false
},
{
"type": "bitand",
"named": false
},
{
"type": "bitor",
"named": false
},
{
"type": "block",
"named": false
},
{
"type": "break_statement",
"named": true
},
{
"type": "call",
"named": false
},
{
"type": "char_literal",
"named": true
},
{
"type": "content",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "decl",
"named": false
},
{
"type": "declare",
"named": false
},
{
"type": "defined",
"named": false
},
{
"type": "elif",
"named": false
},
{
"type": "else if",
"named": false
},
{
"type": "else_statement",
"named": true
},
{
"type": "endblock",
"named": false
},
{
"type": "endcall_statement",
"named": true
},
{
"type": "endfilter_statement",
"named": true
},
{
"type": "endfor_statement",
"named": true
},
{
"type": "endif_statement",
"named": true
},
{
"type": "endlet_statement",
"named": true
},
{
"type": "endmacro",
"named": false
},
{
"type": "endmatch_statement",
"named": true
},
{
"type": "endraw",
"named": false
},
{
"type": "endwhen_statement",
"named": true
},
{
"type": "extends",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "field_identifier",
"named": true
},
{
"type": "filter",
"named": false
},
{
"type": "for",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "in",
"named": false
},
{
"type": "include",
"named": false
},
{
"type": "is",
"named": false
},
{
"type": "is not",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "macro",
"named": false
},
{
"type": "match",
"named": false
},
{
"type": "mut",
"named": false
},
{
"type": "or",
"named": false
},
{
"type": "placeholder",
"named": true
},
{
"type": "primitive_type",
"named": true
},
{
"type": "raw",
"named": false
},
{
"type": "raw_content",
"named": true
},
{
"type": "set",
"named": false
},
{
"type": "string_literal",
"named": true
},
{
"type": "true",
"named": false
},
{
"type": "when",
"named": false
},
{
"type": "with",
"named": false
},
{
"type": "xor",
"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
}
]