[
{
"type": "annotation",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "annotation_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
},
{
"type": "annotation_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "annotation",
"named": true
}
]
}
},
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "call_argument",
"named": true
}
]
}
},
{
"type": "asm_body",
"named": true,
"fields": {
"rearrange": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body_rearrange",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
},
{
"type": "asm_body_rearrange",
"named": true,
"fields": {
"params": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body_rearrange_params",
"named": true
}
]
},
"return": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body_rearrange_return",
"named": true
}
]
}
}
},
{
"type": "asm_body_rearrange_params",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "asm_body_rearrange_return",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "number_literal",
"named": true
}
]
}
},
{
"type": "assert_statement",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"excNo": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "assignment",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "binary_operator",
"named": true,
"fields": {
"operator_name": {
"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": ">=",
"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
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
},
{
"type": "block_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assert_statement",
"named": true
},
{
"type": "block_statement",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "do_while_statement",
"named": true
},
{
"type": "empty_statement",
"named": true
},
{
"type": "expression_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "match_statement",
"named": true
},
{
"type": "repeat_statement",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "throw_statement",
"named": true
},
{
"type": "try_catch_statement",
"named": true
},
{
"type": "while_statement",
"named": true
}
]
}
},
{
"type": "boolean_literal",
"named": true,
"fields": {}
},
{
"type": "call_argument",
"named": true,
"fields": {
"expr": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "cast_as_operator",
"named": true,
"fields": {
"casted_to": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"expr": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "catch_clause",
"named": true,
"fields": {
"catch_body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"catch_var1": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"catch_var2": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "constant_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "do_while_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "dot_access",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "numeric_index",
"named": true
}
]
},
"obj": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "empty_statement",
"named": true,
"fields": {}
},
{
"type": "enum_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "enum_member_declaration",
"named": true
}
]
}
},
{
"type": "enum_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"backed_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "enum_body",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "enum_member_declaration",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "expression_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
},
{
"type": "fun_callable_type",
"named": true,
"fields": {
"param_types": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "function_call",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"callee": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "function_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"asm_body": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"builtin_specifier": {
"multiple": false,
"required": false,
"types": [
{
"type": "builtin_specifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "generic_instantiation",
"named": true,
"fields": {
"expr": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"instantiationTs": {
"multiple": false,
"required": true,
"types": [
{
"type": "instantiationT_list",
"named": true
}
]
}
}
},
{
"type": "get_method_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"asm_body": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
}
]
},
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
},
{
"type": "block_statement",
"named": true
},
{
"type": "builtin_specifier",
"named": true
}
]
},
"builtin_specifier": {
"multiple": false,
"required": false,
"types": [
{
"type": "builtin_specifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "global_var_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
},
{
"type": "if_statement",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "import_directive",
"named": true,
"fields": {
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "string_literal",
"named": true
}
]
}
}
},
{
"type": "instance_argument",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "instantiationT_list",
"named": true,
"fields": {
"types": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "is_type_operator",
"named": true,
"fields": {
"expr": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!is",
"named": false
},
{
"type": "is",
"named": false
}
]
},
"rhs_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "lambda_expression",
"named": true,
"fields": {
"asm_body": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
}
]
},
"body": {
"multiple": true,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
},
{
"type": "block_statement",
"named": true
},
{
"type": "builtin_specifier",
"named": true
}
]
},
"builtin_specifier": {
"multiple": false,
"required": false,
"types": [
{
"type": "builtin_specifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "lazy_expression",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "match_arm",
"named": true,
"fields": {
"block": {
"multiple": false,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"expr": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"pattern_else": {
"multiple": false,
"required": false,
"types": [
{
"type": "else",
"named": false
}
]
},
"pattern_expr": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"pattern_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"return": {
"multiple": false,
"required": false,
"types": [
{
"type": "return_statement",
"named": true
}
]
},
"throw": {
"multiple": false,
"required": false,
"types": [
{
"type": "throw_statement",
"named": true
}
]
}
}
},
{
"type": "match_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "match_arm",
"named": true
}
]
}
},
{
"type": "match_expression",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "match_body",
"named": true
}
]
},
"expr": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "match_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "match_expression",
"named": true
}
]
}
},
{
"type": "method_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"asm_body": {
"multiple": false,
"required": false,
"types": [
{
"type": "asm_body",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"builtin_specifier": {
"multiple": false,
"required": false,
"types": [
{
"type": "builtin_specifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"receiver": {
"multiple": false,
"required": true,
"types": [
{
"type": "method_receiver",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "method_receiver",
"named": true,
"fields": {
"receiver_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "not_null_operator",
"named": true,
"fields": {
"inner": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "nullable_type",
"named": true,
"fields": {
"inner": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "object_literal",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "object_literal_body",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "object_literal_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "instance_argument",
"named": true
}
]
}
},
{
"type": "parameter_declaration",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"mutate": {
"multiple": false,
"required": false,
"types": [
{
"type": "mutate",
"named": false
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "parameter_declaration",
"named": true
}
]
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {
"inner": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "parenthesized_type",
"named": true,
"fields": {
"inner": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "repeat_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"count": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "return_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "set_assignment",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"operator_name": {
"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": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "constant_declaration",
"named": true
},
{
"type": "empty_statement",
"named": true
},
{
"type": "enum_declaration",
"named": true
},
{
"type": "function_declaration",
"named": true
},
{
"type": "get_method_declaration",
"named": true
},
{
"type": "global_var_declaration",
"named": true
},
{
"type": "import_directive",
"named": true
},
{
"type": "method_declaration",
"named": true
},
{
"type": "struct_declaration",
"named": true
},
{
"type": "tolk_required_version",
"named": true
},
{
"type": "type_alias_declaration",
"named": true
}
]
}
},
{
"type": "struct_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "struct_field_declaration",
"named": true
}
]
}
},
{
"type": "struct_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "struct_body",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"pack_prefix": {
"multiple": false,
"required": false,
"types": [
{
"type": "number_literal",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "struct_field_declaration",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"modifiers": {
"multiple": false,
"required": false,
"types": [
{
"type": "struct_field_modifiers",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "struct_field_modifiers",
"named": true,
"fields": {}
},
{
"type": "tensor_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
},
{
"type": "tensor_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "tensor_vars_declaration",
"named": true,
"fields": {
"vars": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "tensor_vars_declaration",
"named": true
},
{
"type": "tuple_vars_declaration",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
}
}
},
{
"type": "ternary_operator",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "throw_statement",
"named": true,
"fields": {
"excNo": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "tolk_required_version",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "version_value",
"named": true
}
]
}
}
},
{
"type": "try_catch_statement",
"named": true,
"fields": {
"catch": {
"multiple": false,
"required": true,
"types": [
{
"type": "catch_clause",
"named": true
}
]
},
"try_body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
}
]
}
}
},
{
"type": "tuple_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
},
{
"type": "tuple_vars_declaration",
"named": true,
"fields": {
"vars": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "tensor_vars_declaration",
"named": true
},
{
"type": "tuple_vars_declaration",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
}
}
},
{
"type": "type_alias_declaration",
"named": true,
"fields": {
"annotations": {
"multiple": false,
"required": false,
"types": [
{
"type": "annotation_list",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type_parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
},
"underlying_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "builtin_specifier",
"named": true
},
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "type_instantiatedTs",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "instantiationT_list",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "type_parameter",
"named": true,
"fields": {
"default": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "type_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_parameter",
"named": true
}
]
}
},
{
"type": "typed_tuple",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
},
{
"type": "unary_operator",
"named": true,
"fields": {
"argument": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
},
"operator_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
{
"type": "union_type",
"named": true,
"fields": {
"lhs": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
},
"rhs": {
"multiple": false,
"required": true,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "var_declaration",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"redef": {
"multiple": false,
"required": false,
"types": [
{
"type": "redef",
"named": false
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "fun_callable_type",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "nullable_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
},
{
"type": "tensor_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "type_instantiatedTs",
"named": true
},
{
"type": "union_type",
"named": true
}
]
}
}
},
{
"type": "var_declaration_lhs",
"named": true,
"fields": {
"kind": {
"multiple": false,
"required": true,
"types": [
{
"type": "val",
"named": false
},
{
"type": "var",
"named": false
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "tensor_vars_declaration",
"named": true
},
{
"type": "tuple_vars_declaration",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
}
},
{
"type": "while_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "assignment",
"named": true
},
{
"type": "binary_operator",
"named": true
},
{
"type": "boolean_literal",
"named": true
},
{
"type": "cast_as_operator",
"named": true
},
{
"type": "dot_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "generic_instantiation",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "is_type_operator",
"named": true
},
{
"type": "lambda_expression",
"named": true
},
{
"type": "lazy_expression",
"named": true
},
{
"type": "match_expression",
"named": true
},
{
"type": "not_null_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "object_literal",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "set_assignment",
"named": true
},
{
"type": "string_literal",
"named": true
},
{
"type": "tensor_expression",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "typed_tuple",
"named": true
},
{
"type": "unary_operator",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "var_declaration_lhs",
"named": true
}
]
}
}
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "!is",
"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": "asm",
"named": false
},
{
"type": "assert",
"named": false
},
{
"type": "break_statement",
"named": true
},
{
"type": "builtin_specifier",
"named": true
},
{
"type": "catch",
"named": false
},
{
"type": "comment",
"named": true,
"extra": true
},
{
"type": "const",
"named": false
},
{
"type": "continue_statement",
"named": true
},
{
"type": "do",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "fun",
"named": false
},
{
"type": "get",
"named": false
},
{
"type": "global",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "is",
"named": false
},
{
"type": "lazy",
"named": false
},
{
"type": "match",
"named": false
},
{
"type": "mutate",
"named": false
},
{
"type": "null_literal",
"named": true
},
{
"type": "number_literal",
"named": true
},
{
"type": "numeric_index",
"named": true
},
{
"type": "private",
"named": false
},
{
"type": "readonly",
"named": false
},
{
"type": "redef",
"named": false
},
{
"type": "repeat",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "string_literal",
"named": true
},
{
"type": "struct",
"named": false
},
{
"type": "throw",
"named": false
},
{
"type": "tolk",
"named": false
},
{
"type": "true",
"named": false
},
{
"type": "try",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "type_identifier",
"named": true
},
{
"type": "underscore",
"named": true
},
{
"type": "val",
"named": false
},
{
"type": "var",
"named": false
},
{
"type": "version_value",
"named": true
},
{
"type": "while",
"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
}
]