[ { "type": "annotation", "named": true, "fields": { "args": { "multiple": false, "required": false, "types": [ { "type": "annotation_args", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "selectors": { "multiple": false, "required": false, "types": [ { "type": "annotation_selectors", "named": true } ] } } }, { "type": "annotation_arg", "named": true, "fields": { "name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "annotation_value", "named": true } ] } } }, { "type": "annotation_args", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation_arg", "named": true } ] } }, { "type": "annotation_selectors", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "annotation_value", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "boolean", "named": true }, { "type": "number", "named": true }, { "type": "string", "named": true } ] } }, { "type": "array_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "constraint_value", "named": true } ] } }, { "type": "array_type", "named": true, "fields": { "element": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } } }, { "type": "boolean", "named": true, "fields": {} }, { "type": "constrained_type", "named": true, "fields": { "base": { "multiple": false, "required": true, "types": [ { "type": "non_union_type", "named": true } ] }, "constraints": { "multiple": false, "required": true, "types": [ { "type": "constraint_block", "named": true } ] } } }, { "type": "constraint", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": false, "required": true, "types": [ { "type": "constraint_value", "named": true } ] } } }, { "type": "constraint_block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "constraint", "named": true } ] } }, { "type": "constraint_value", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "array_literal", "named": true }, { "type": "boolean", "named": true }, { "type": "number", "named": true }, { "type": "string", "named": true } ] } }, { "type": "def_type_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "error_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "doc_comment", "named": true } ] } }, { "type": "field", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true }, { "type": "doc_comment", "named": true } ] } }, { "type": "identifier", "named": true, "fields": {} }, { "type": "import_block", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "import_item", "named": true } ] } }, { "type": "import_item", "named": true, "fields": { "alias": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "main", "named": false } ] } } }, { "type": "inline_type_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "item", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "def_type_definition", "named": true }, { "type": "inline_type_definition", "named": true }, { "type": "procedure_definition", "named": true }, { "type": "query_definition", "named": true }, { "type": "record_definition", "named": true }, { "type": "subscription_definition", "named": true }, { "type": "token_definition", "named": true }, { "type": "use_statement", "named": true } ] } }, { "type": "non_union_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "array_type", "named": true }, { "type": "constrained_type", "named": true }, { "type": "object_type", "named": true }, { "type": "primitive_type", "named": true }, { "type": "reference_type", "named": true } ] } }, { "type": "object_type", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "field", "named": true } ] } }, { "type": "parameter", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "type": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "parameter_list", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "parameter", "named": true } ] } }, { "type": "primitive_type", "named": true, "fields": {} }, { "type": "procedure_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "params": { "multiple": false, "required": true, "types": [ { "type": "parameter_list", "named": true } ] }, "return": { "multiple": false, "required": true, "types": [ { "type": "return_type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "query_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "params": { "multiple": false, "required": true, "types": [ { "type": "parameter_list", "named": true } ] }, "return": { "multiple": false, "required": true, "types": [ { "type": "return_type", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "record_body", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "field", "named": true } ] } }, { "type": "record_definition", "named": true, "fields": { "body": { "multiple": false, "required": true, "types": [ { "type": "record_body", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "reference_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "type_path", "named": true } ] } }, { "type": "return_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "error_definition", "named": true }, { "type": "type", "named": true } ] } }, { "type": "source_file", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "item", "named": true } ] } }, { "type": "subscription_definition", "named": true, "fields": { "messages": { "multiple": false, "required": true, "types": [ { "type": "type", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "params": { "multiple": false, "required": true, "types": [ { "type": "parameter_list", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "token_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "annotation", "named": true } ] } }, { "type": "type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "non_union_type", "named": true }, { "type": "union_type", "named": true } ] } }, { "type": "type_path", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "union_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "non_union_type", "named": true } ] } }, { "type": "use_statement", "named": true, "fields": { "alias": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "imports": { "multiple": false, "required": false, "types": [ { "type": "import_block", "named": true } ] }, "path": { "multiple": false, "required": true, "types": [ { "type": "type_path", "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": "as", "named": false }, { "type": "blob", "named": false }, { "type": "boolean", "named": false }, { "type": "bytes", "named": false }, { "type": "comment", "named": true }, { "type": "constrained", "named": false }, { "type": "def", "named": false }, { "type": "doc_comment", "named": true }, { "type": "error", "named": false }, { "type": "false", "named": false }, { "type": "inline", "named": false }, { "type": "integer", "named": false }, { "type": "main", "named": false }, { "type": "null", "named": false }, { "type": "number", "named": true }, { "type": "procedure", "named": false }, { "type": "query", "named": false }, { "type": "record", "named": false }, { "type": "string", "named": false }, { "type": "string", "named": true }, { "type": "subscription", "named": false }, { "type": "token", "named": false }, { "type": "true", "named": false }, { "type": "type", "named": false }, { "type": "unknown", "named": false }, { "type": "use", "named": false }, { "type": "{", "named": false }, { "type": "|", "named": false }, { "type": "}", "named": false } ]