1
1
mirror of https://github.com/github/semantic.git synced 2024-11-23 08:27:56 +03:00
semantic/vendor/go-node-types.json
Patrick Thomson 175c8c6cd5 ever closer
2020-06-09 15:03:27 -04:00

2716 lines
46 KiB
JSON

[
{
"type": "_expression",
"named": true,
"subtypes": [
{
"type": "binary_expression",
"named": true
},
{
"type": "call_expression",
"named": true
},
{
"type": "composite_literal",
"named": true
},
{
"type": "false",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "func_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "imaginary_literal",
"named": true
},
{
"type": "index_expression",
"named": true
},
{
"type": "int_literal",
"named": true
},
{
"type": "interpreted_string_literal",
"named": true
},
{
"type": "nil",
"named": true
},
{
"type": "parenthesized_expression",
"named": true
},
{
"type": "raw_string_literal",
"named": true
},
{
"type": "rune_literal",
"named": true
},
{
"type": "selector_expression",
"named": true
},
{
"type": "slice_expression",
"named": true
},
{
"type": "true",
"named": true
},
{
"type": "type_assertion_expression",
"named": true
},
{
"type": "type_conversion_expression",
"named": true
},
{
"type": "unary_expression",
"named": true
}
]
},
{
"type": "_simple_statement",
"named": true,
"subtypes": [
{
"type": "_expression",
"named": true
},
{
"type": "assignment_statement",
"named": true
},
{
"type": "dec_statement",
"named": true
},
{
"type": "inc_statement",
"named": true
},
{
"type": "send_statement",
"named": true
},
{
"type": "short_var_declaration",
"named": true
}
]
},
{
"type": "_simple_type",
"named": true,
"subtypes": [
{
"type": "array_type",
"named": true
},
{
"type": "channel_type",
"named": true
},
{
"type": "function_type",
"named": true
},
{
"type": "interface_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "pointer_type",
"named": true
},
{
"type": "qualified_type",
"named": true
},
{
"type": "slice_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
},
{
"type": "_statement",
"named": true,
"subtypes": [
{
"type": "_simple_statement",
"named": true
},
{
"type": "block",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "const_declaration",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "defer_statement",
"named": true
},
{
"type": "empty_statement",
"named": true
},
{
"type": "expression_switch_statement",
"named": true
},
{
"type": "fallthrough_statement",
"named": true
},
{
"type": "for_statement",
"named": true
},
{
"type": "go_statement",
"named": true
},
{
"type": "goto_statement",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "labeled_statement",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "select_statement",
"named": true
},
{
"type": "type_declaration",
"named": true
},
{
"type": "type_switch_statement",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
},
{
"type": "_type",
"named": true,
"subtypes": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parenthesized_type",
"named": true
}
]
},
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "_type",
"named": true
},
{
"type": "variadic_argument",
"named": true
}
]
}
},
{
"type": "array_type",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
},
"length": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "assignment_statement",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression_list",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "%=",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "&^=",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "|=",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
}
},
{
"type": "binary_expression",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!=",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "&^",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "||",
"named": false
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "break_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "label_name",
"named": true
}
]
}
},
{
"type": "call_expression",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "argument_list",
"named": true
}
]
},
"function": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "channel_type",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "communication_case",
"named": true,
"fields": {
"communication": {
"multiple": false,
"required": true,
"types": [
{
"type": "receive_statement",
"named": true
},
{
"type": "send_statement",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "composite_literal",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "literal_value",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "array_type",
"named": true
},
{
"type": "implicit_length_array_type",
"named": true
},
{
"type": "map_type",
"named": true
},
{
"type": "qualified_type",
"named": true
},
{
"type": "slice_type",
"named": true
},
{
"type": "struct_type",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "const_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "const_spec",
"named": true
}
]
}
},
{
"type": "const_spec",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
}
},
{
"type": "continue_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "label_name",
"named": true
}
]
}
},
{
"type": "dec_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "default_case",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "defer_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "dot",
"named": true,
"fields": {}
},
{
"type": "element",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "literal_value",
"named": true
}
]
}
},
{
"type": "empty_statement",
"named": true,
"fields": {}
},
{
"type": "expression_case",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "expression_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "expression_switch_statement",
"named": true,
"fields": {
"initializer": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_statement",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "default_case",
"named": true
},
{
"type": "expression_case",
"named": true
}
]
}
},
{
"type": "fallthrough_statement",
"named": true,
"fields": {}
},
{
"type": "field_declaration",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "field_identifier",
"named": true
}
]
},
"tag": {
"multiple": false,
"required": false,
"types": [
{
"type": "interpreted_string_literal",
"named": true
},
{
"type": "raw_string_literal",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
},
{
"type": "qualified_type",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
}
},
{
"type": "field_declaration_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "field_declaration",
"named": true
}
]
}
},
{
"type": "for_clause",
"named": true,
"fields": {
"condition": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"initializer": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_statement",
"named": true
}
]
},
"update": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_statement",
"named": true
}
]
}
}
},
{
"type": "for_statement",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "for_clause",
"named": true
},
{
"type": "range_clause",
"named": true
}
]
}
},
{
"type": "func_literal",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parameter_list",
"named": true
}
]
}
}
},
{
"type": "function_declaration",
"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": "parameter_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parameter_list",
"named": true
}
]
}
}
},
{
"type": "function_type",
"named": true,
"fields": {
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parameter_list",
"named": true
}
]
}
}
},
{
"type": "go_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "goto_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "label_name",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {
"alternative": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
},
{
"type": "if_statement",
"named": true
}
]
},
"condition": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"consequence": {
"multiple": false,
"required": true,
"types": [
{
"type": "block",
"named": true
}
]
},
"initializer": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_statement",
"named": true
}
]
}
}
},
{
"type": "implicit_length_array_type",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "import_declaration",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "import_spec",
"named": true
},
{
"type": "import_spec_list",
"named": true
}
]
}
},
{
"type": "import_spec",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "blank_identifier",
"named": true
},
{
"type": "dot",
"named": true
},
{
"type": "package_identifier",
"named": true
}
]
},
"path": {
"multiple": false,
"required": true,
"types": [
{
"type": "interpreted_string_literal",
"named": true
},
{
"type": "raw_string_literal",
"named": true
}
]
}
}
},
{
"type": "import_spec_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "import_spec",
"named": true
}
]
}
},
{
"type": "inc_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "index_expression",
"named": true,
"fields": {
"index": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "interface_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "method_spec_list",
"named": true
}
]
}
},
{
"type": "interpreted_string_literal",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "escape_sequence",
"named": true
}
]
}
},
{
"type": "keyed_element",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "_expression",
"named": true
},
{
"type": "field_identifier",
"named": true
},
{
"type": "literal_value",
"named": true
}
]
}
},
{
"type": "labeled_statement",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": true,
"types": [
{
"type": "label_name",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "literal_value",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "element",
"named": true
},
{
"type": "keyed_element",
"named": true
}
]
}
},
{
"type": "map_type",
"named": true,
"fields": {
"key": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "method_declaration",
"named": true,
"fields": {
"body": {
"multiple": false,
"required": false,
"types": [
{
"type": "block",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"receiver": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parameter_list",
"named": true
}
]
}
}
},
{
"type": "method_spec",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_identifier",
"named": true
}
]
},
"parameters": {
"multiple": false,
"required": true,
"types": [
{
"type": "parameter_list",
"named": true
}
]
},
"result": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_type",
"named": true
},
{
"type": "parameter_list",
"named": true
}
]
}
}
},
{
"type": "method_spec_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "method_spec",
"named": true
},
{
"type": "qualified_type",
"named": true
},
{
"type": "type_identifier",
"named": true
}
]
}
},
{
"type": "package_clause",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_identifier",
"named": true
}
]
}
},
{
"type": "parameter_declaration",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": false,
"types": [
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "parameter_list",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "parameter_declaration",
"named": true
},
{
"type": "variadic_parameter_declaration",
"named": true
}
]
}
},
{
"type": "parenthesized_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "parenthesized_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{
"type": "pointer_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
},
{
"type": "qualified_type",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"package": {
"multiple": false,
"required": true,
"types": [
{
"type": "package_identifier",
"named": true
}
]
}
}
},
{
"type": "range_clause",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "receive_statement",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "return_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
},
{
"type": "select_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "communication_case",
"named": true
},
{
"type": "default_case",
"named": true
}
]
}
},
{
"type": "selector_expression",
"named": true,
"fields": {
"field": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_identifier",
"named": true
}
]
},
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "send_statement",
"named": true,
"fields": {
"channel": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "short_var_declaration",
"named": true,
"fields": {
"left": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression_list",
"named": true
}
]
},
"right": {
"multiple": false,
"required": true,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
}
},
{
"type": "slice_expression",
"named": true,
"fields": {
"capacity": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"end": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"start": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
}
},
{
"type": "slice_type",
"named": true,
"fields": {
"element": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "source_file",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "const_declaration",
"named": true
},
{
"type": "function_declaration",
"named": true
},
{
"type": "import_declaration",
"named": true
},
{
"type": "method_declaration",
"named": true
},
{
"type": "package_clause",
"named": true
},
{
"type": "type_declaration",
"named": true
},
{
"type": "var_declaration",
"named": true
}
]
}
},
{
"type": "struct_type",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "field_declaration_list",
"named": true
}
]
}
},
{
"type": "type_alias",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "type_assertion_expression",
"named": true,
"fields": {
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "type_case",
"named": true,
"fields": {
"type": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "_type",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_statement",
"named": true
}
]
}
},
{
"type": "type_conversion_expression",
"named": true,
"fields": {
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "type_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "type_alias",
"named": true
},
{
"type": "type_spec",
"named": true
}
]
}
},
{
"type": "type_spec",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "type_identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "type_switch_statement",
"named": true,
"fields": {
"alias": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
},
"initializer": {
"multiple": false,
"required": false,
"types": [
{
"type": "_simple_statement",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "default_case",
"named": true
},
{
"type": "type_case",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {
"operand": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "<-",
"named": false
},
{
"type": "^",
"named": false
}
]
}
}
},
{
"type": "var_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "var_spec",
"named": true
}
]
}
},
{
"type": "var_spec",
"named": true,
"fields": {
"name": {
"multiple": true,
"required": true,
"types": [
{
"type": ",",
"named": false
},
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": false,
"types": [
{
"type": "_type",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "expression_list",
"named": true
}
]
}
}
},
{
"type": "variadic_argument",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
"type": "variadic_parameter_declaration",
"named": true,
"fields": {
"name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
},
"type": {
"multiple": false,
"required": true,
"types": [
{
"type": "_type",
"named": true
}
]
}
}
},
{
"type": "\n",
"named": false
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "\"",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "%=",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&&",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "&^",
"named": false
},
{
"type": "&^=",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "++",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "--",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": "...",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": ":=",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<-",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "<=",
"named": false
},
{
"type": "=",
"named": false
},
{
"type": "==",
"named": false
},
{
"type": ">",
"named": false
},
{
"type": ">=",
"named": false
},
{
"type": ">>",
"named": false
},
{
"type": ">>=",
"named": false
},
{
"type": "[",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "blank_identifier",
"named": true
},
{
"type": "break",
"named": false
},
{
"type": "case",
"named": false
},
{
"type": "chan",
"named": false
},
{
"type": "const",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "default",
"named": false
},
{
"type": "defer",
"named": false
},
{
"type": "else",
"named": false
},
{
"type": "escape_sequence",
"named": true
},
{
"type": "fallthrough",
"named": false
},
{
"type": "false",
"named": true
},
{
"type": "field_identifier",
"named": true
},
{
"type": "float_literal",
"named": true
},
{
"type": "for",
"named": false
},
{
"type": "func",
"named": false
},
{
"type": "go",
"named": false
},
{
"type": "goto",
"named": false
},
{
"type": "identifier",
"named": true
},
{
"type": "if",
"named": false
},
{
"type": "imaginary_literal",
"named": true
},
{
"type": "import",
"named": false
},
{
"type": "int_literal",
"named": true
},
{
"type": "interface",
"named": false
},
{
"type": "label_name",
"named": true
},
{
"type": "map",
"named": false
},
{
"type": "nil",
"named": true
},
{
"type": "package",
"named": false
},
{
"type": "package_identifier",
"named": true
},
{
"type": "range",
"named": false
},
{
"type": "raw_string_literal",
"named": true
},
{
"type": "return",
"named": false
},
{
"type": "rune_literal",
"named": true
},
{
"type": "select",
"named": false
},
{
"type": "struct",
"named": false
},
{
"type": "switch",
"named": false
},
{
"type": "true",
"named": true
},
{
"type": "type",
"named": false
},
{
"type": "type_identifier",
"named": true
},
{
"type": "var",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
}
]