difftastic/src/node-types.json

5290 lines
97 KiB
JSON

[
{
"type": "anonymous_function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "argument",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "hole",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "argument",
"named": true
},
{
"type": "attribute_value",
"named": true
}
]
}
},
{
"type": "assert",
"named": true,
"fields": {
"message": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "attribute",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "attribute_value",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "bit_string",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "bit_string",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
},
"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": "<=.",
"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": "|>",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "pipeline_echo",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
},
{
"type": "tuple_pattern",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "}",
"named": false
}
]
}
}
},
{
"type": "bit_string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "bit_string_segment",
"named": true
}
]
}
},
{
"type": "bit_string_pattern",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "bit_string_segment",
"named": true
}
]
}
},
{
"type": "bit_string_segment",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"options": {
"multiple": true,
"required": false,
"types": [
{
"type": ":",
"named": false
},
{
"type": "bit_string_segment_options",
"named": true
}
]
},
"value": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "as",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
}
},
{
"type": "bit_string_segment_option",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "bit_string_segment_options",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "bit_string_segment_option",
"named": true
},
{
"type": "integer",
"named": true
}
]
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "assert",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "let_assert",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
},
{
"type": "use",
"named": true
}
]
}
},
{
"type": "boolean_negation",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "case",
"named": true,
"fields": {
"clauses": {
"multiple": false,
"required": false,
"types": [
{
"type": "case_clauses",
"named": true
}
]
},
"subjects": {
"multiple": false,
"required": true,
"types": [
{
"type": "case_subjects",
"named": true
}
]
}
}
},
{
"type": "case_clause",
"named": true,
"fields": {
"guard": {
"multiple": false,
"required": false,
"types": [
{
"type": "case_clause_guard",
"named": true
}
]
},
"patterns": {
"multiple": false,
"required": true,
"types": [
{
"type": "case_clause_patterns",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "case_clause_guard",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "case_clause_pattern",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
},
{
"type": "case_clause_patterns",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "case_clause_pattern",
"named": true
}
]
}
},
{
"type": "case_clauses",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "case_clause",
"named": true
}
]
}
},
{
"type": "case_subjects",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "constant",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "bit_string",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "constructor_name",
"named": true,
"fields": {}
},
{
"type": "data_constructor",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "data_constructor_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "constructor_name",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "attribute",
"named": true
}
]
}
},
{
"type": "data_constructor_argument",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "data_constructor_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "data_constructor_argument",
"named": true
}
]
}
},
{
"type": "data_constructors",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "data_constructor",
"named": true
}
]
}
},
{
"type": "discard",
"named": true,
"fields": {}
},
{
"type": "echo",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "escape_sequence",
"named": true,
"fields": {}
},
{
"type": "external_function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "external_function_body",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "external_function_body",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "string",
"named": true
}
]
}
},
{
"type": "external_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "type_name",
"named": true
},
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "field_access",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "label",
"named": true
}
]
},
"record": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "function",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_parameters",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "function_call",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "function_parameter",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "discard",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "function_parameter_types",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
{
"type": "function_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "function_parameter",
"named": true
}
]
}
},
{
"type": "function_type",
"named": true,
"fields": {
"parameter_types": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_parameter_types",
"named": true
}
]
},
"return_type": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
}
},
{
"type": "hole",
"named": true,
"fields": {}
},
{
"type": "identifier",
"named": true,
"fields": {}
},
{
"type": "import",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "discard",
"named": true
},
{
"type": "identifier",
"named": true
}
]
},
"imports": {
"multiple": false,
"required": false,
"types": [
{
"type": "unqualified_imports",
"named": true
}
]
},
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "module",
"named": true
}
]
}
}
},
{
"type": "integer",
"named": true,
"fields": {}
},
{
"type": "integer_negation",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "label",
"named": true,
"fields": {}
},
{
"type": "let",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "as",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "let_assert",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"message": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
},
"pattern": {
"multiple": true,
"required": true,
"types": [
{
"type": "as",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "list",
"named": true,
"fields": {
"spread": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "list_pattern",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "list_pattern_tail",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
},
{
"type": "list_pattern_tail",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "discard",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "module",
"named": true,
"fields": {}
},
{
"type": "panic",
"named": true,
"fields": {
"message": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "pattern_spread",
"named": true,
"fields": {}
},
{
"type": "pipeline_echo",
"named": true,
"fields": {}
},
{
"type": "record",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "constructor_name",
"named": true
},
{
"type": "remote_constructor_name",
"named": true
}
]
}
}
},
{
"type": "record_pattern",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "record_pattern_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "constructor_name",
"named": true
},
{
"type": "remote_constructor_name",
"named": true
}
]
}
}
},
{
"type": "record_pattern_argument",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"pattern": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
}
},
{
"type": "record_pattern_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "pattern_spread",
"named": true
},
{
"type": "record_pattern_argument",
"named": true
}
]
}
},
{
"type": "record_update",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "record_update_arguments",
"named": true
}
]
},
"constructor": {
"multiple": false,
"required": true,
"types": [
{
"type": "constructor_name",
"named": true
},
{
"type": "remote_constructor_name",
"named": true
}
]
},
"spread": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "record_update_argument",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": true,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "record_update_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "record_update_argument",
"named": true
}
]
}
},
{
"type": "remote_constructor_name",
"named": true,
"fields": {
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "constructor_name",
"named": true
}
]
}
}
},
{
"type": "remote_type_identifier",
"named": true,
"fields": {
"module": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "source_file",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "assert",
"named": true
},
{
"type": "attribute",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "constant",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "external_function",
"named": true
},
{
"type": "external_type",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "import",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "let",
"named": true
},
{
"type": "let_assert",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "target_group",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_definition",
"named": true
},
{
"type": "use",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
},
{
"type": "quoted_content",
"named": true
}
]
}
},
{
"type": "target",
"named": true,
"fields": {}
},
{
"type": "target_group",
"named": true,
"fields": {
"target": {
"multiple": false,
"required": true,
"types": [
{
"type": "target",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "constant",
"named": true
},
{
"type": "external_function",
"named": true
},
{
"type": "external_type",
"named": true
},
{
"type": "function",
"named": true
},
{
"type": "import",
"named": true
},
{
"type": "type_alias",
"named": true
},
{
"type": "type_definition",
"named": true
}
]
}
},
{
"type": "todo",
"named": true,
"fields": {
"message": {
"multiple": false,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "tuple",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
},
{
"type": "tuple_access",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "integer",
"named": true
}
]
},
"tuple": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "tuple_pattern",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
},
{
"type": "tuple_type",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
{
"type": "type",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "remote_type_identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "type_alias",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "opacity_modifier",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_name",
"named": true
},
{
"type": "type_var",
"named": true
},
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "type_argument",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
{
"type": "type_arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_argument",
"named": true
}
]
}
},
{
"type": "type_definition",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "data_constructors",
"named": true
},
{
"type": "opacity_modifier",
"named": true
},
{
"type": "type_name",
"named": true
},
{
"type": "visibility_modifier",
"named": true
}
]
}
},
{
"type": "type_hole",
"named": true,
"fields": {}
},
{
"type": "type_identifier",
"named": true,
"fields": {}
},
{
"type": "type_name",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "remote_type_identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": false,
"types": [
{
"type": "type_parameters",
"named": true
}
]
}
}
},
{
"type": "type_parameter",
"named": true,
"fields": {}
},
{
"type": "type_parameters",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_parameter",
"named": true
}
]
}
},
{
"type": "type_var",
"named": true,
"fields": {}
},
{
"type": "unqualified_import",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "unqualified_imports",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "unqualified_import",
"named": true
}
]
}
},
{
"type": "use",
"named": true,
"fields": {
"assignments": {
"multiple": false,
"required": false,
"types": [
{
"type": "use_assignments",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "anonymous_function",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "boolean_negation",
"named": true
},
{
"type": "case",
"named": true
},
{
"type": "echo",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "function_call",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "integer_negation",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "panic",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "record_update",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "todo",
"named": true
},
{
"type": "tuple",
"named": true
},
{
"type": "tuple_access",
"named": true
}
]
}
}
},
{
"type": "use_assignment",
"named": true,
"fields": {
"assign": {
"multiple": true,
"required": false,
"types": [
{
"type": "as",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "function_type",
"named": true
},
{
"type": "tuple_type",
"named": true
},
{
"type": "type",
"named": true
},
{
"type": "type_hole",
"named": true
},
{
"type": "type_var",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "bit_string_pattern",
"named": true
},
{
"type": "discard",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list_pattern",
"named": true
},
{
"type": "record_pattern",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple_pattern",
"named": true
}
]
}
},
{
"type": "use_assignments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "use_assignment",
"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": "as",
"named": false
},
{
"type": "assert",
"named": false
},
{
"type": "big",
"named": false
},
{
"type": "binary",
"named": false
},
{
"type": "bit_string",
"named": false
},
{
"type": "bits",
"named": false
},
{
"type": "bytes",
"named": false
},
{
"type": "case",
"named": false
},
{
"type": "comment",
"named": true
},
{
"type": "const",
"named": false
},
{
"type": "echo",
"named": false
},
{
"type": "erlang",
"named": false
},
{
"type": "external",
"named": false
},
{
"type": "float",
"named": false
},
{
"type": "float",
"named": true
},
{
"type": "fn",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "import",
"named": false
},
{
"type": "int",
"named": false
},
{
"type": "javascript",
"named": false
},
{
"type": "let",
"named": false
},
{
"type": "little",
"named": false
},
{
"type": "module_comment",
"named": true
},
{
"type": "native",
"named": false
},
{
"type": "opacity_modifier",
"named": true
},
{
"type": "panic",
"named": false
},
{
"type": "quoted_content",
"named": true
},
{
"type": "signed",
"named": false
},
{
"type": "size",
"named": false
},
{
"type": "statement_comment",
"named": true
},
{
"type": "todo",
"named": false
},
{
"type": "type",
"named": false
},
{
"type": "unit",
"named": false
},
{
"type": "unsigned",
"named": false
},
{
"type": "use",
"named": false
},
{
"type": "utf16",
"named": false
},
{
"type": "utf16_codepoint",
"named": false
},
{
"type": "utf32",
"named": false
},
{
"type": "utf32_codepoint",
"named": false
},
{
"type": "utf8",
"named": false
},
{
"type": "utf8_codepoint",
"named": false
},
{
"type": "visibility_modifier",
"named": true
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|>",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
}
]