[
{
"type": "AdditionOp",
"named": true,
"fields": {}
},
{
"type": "AddrSpace",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "ArrayTypeStart",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IDENTIFIER",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "AsmClobbers",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "LINESTRING",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
}
]
}
},
{
"type": "AsmExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "AsmOutput",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "AsmInput",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmClobbers",
"named": true
},
{
"type": "AsmInputItem",
"named": true
}
]
}
},
{
"type": "AsmInputItem",
"named": true,
"fields": {
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LINESTRING",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "AsmOutput",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmInput",
"named": true
},
{
"type": "AsmOutputItem",
"named": true
}
]
}
},
{
"type": "AsmOutputItem",
"named": true,
"fields": {
"variable": {
"multiple": true,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "LINESTRING",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
}
]
}
},
{
"type": "AssignExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "AssignOp",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "AssignOp",
"named": true,
"fields": {}
},
{
"type": "BUILTINIDENTIFIER",
"named": true,
"fields": {}
},
{
"type": "BinaryExpr",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "break",
"named": false
},
{
"type": "comptime",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "nosuspend",
"named": false
},
{
"type": "resume",
"named": false
},
{
"type": "return",
"named": false
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "AdditionOp",
"named": true
},
{
"type": "BitShiftOp",
"named": true
},
{
"type": "BitwiseOp",
"named": true
},
{
"type": "CompareOp",
"named": true
},
{
"type": "MultiplyOp",
"named": true
},
{
"type": "and",
"named": false
},
{
"type": "or",
"named": false
}
]
},
"right": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "break",
"named": false
},
{
"type": "comptime",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "nosuspend",
"named": false
},
{
"type": "resume",
"named": false
},
{
"type": "return",
"named": false
}
]
}
}
},
{
"type": "BitShiftOp",
"named": true,
"fields": {}
},
{
"type": "BitwiseOp",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "Payload",
"named": true
}
]
}
},
{
"type": "Block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "Statement",
"named": true
}
]
}
},
{
"type": "BlockExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
}
]
}
},
{
"type": "BlockExprStatement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "BlockExpr",
"named": true
}
]
}
},
{
"type": "BlockLabel",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
{
"type": "BreakLabel",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
{
"type": "ByteAlign",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "CHAR_LITERAL",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "EscapeSequence",
"named": true
}
]
}
},
{
"type": "CallConv",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "CompareOp",
"named": true,
"fields": {}
},
{
"type": "ComptimeDecl",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "Block",
"named": true
}
]
}
},
{
"type": "ContainerDecl",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ComptimeDecl",
"named": true
},
{
"type": "ContainerDeclType",
"named": true
},
{
"type": "ContainerField",
"named": true
},
{
"type": "Decl",
"named": true
},
{
"type": "TestDecl",
"named": true
},
{
"type": "container_doc_comment",
"named": true
},
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "ContainerDeclType",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "ContainerField",
"named": true,
"fields": {
"field_member": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ArrayTypeStart",
"named": true
},
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ByteAlign",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "Decl",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "FnProto",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "VarDecl",
"named": true
}
]
}
},
{
"type": "ErrorSetDecl",
"named": true,
"fields": {
"field_constant": {
"multiple": true,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "ErrorUnionExpr",
"named": true,
"fields": {
"exception": {
"multiple": false,
"required": false,
"types": [
{
"type": "!",
"named": false
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "SuffixExpr",
"named": true
}
]
}
},
{
"type": "EscapeSequence",
"named": true,
"fields": {}
},
{
"type": "FLOAT",
"named": true,
"fields": {}
},
{
"type": "FieldInit",
"named": true,
"fields": {
"field_member": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "FieldOrFnCall",
"named": true,
"fields": {
"field_access": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
},
"function_call": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "FnCallArguments",
"named": true
}
]
}
},
{
"type": "FnCallArguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "FnProto",
"named": true,
"fields": {
"exception": {
"multiple": false,
"required": false,
"types": [
{
"type": "!",
"named": false
}
]
},
"function": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AddrSpace",
"named": true
},
{
"type": "ByteAlign",
"named": true
},
{
"type": "CallConv",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "LinkSection",
"named": true
},
{
"type": "ParamDeclList",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
}
]
}
},
{
"type": "ForArgumentsList",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ForItem",
"named": true
}
]
}
},
{
"type": "ForExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "ForPrefix",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "ForItem",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "ForPrefix",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ForArgumentsList",
"named": true
},
{
"type": "PtrListPayload",
"named": true
}
]
}
},
{
"type": "ForStatement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "BlockExpr",
"named": true
},
{
"type": "ForPrefix",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "Statement",
"named": true
}
]
}
},
{
"type": "ForTypeExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "ForPrefix",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
}
]
}
},
{
"type": "FormatSequence",
"named": true,
"fields": {}
},
{
"type": "GroupedExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "IDENTIFIER",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "STRINGLITERALSINGLE",
"named": true
}
]
}
},
{
"type": "INTEGER",
"named": true,
"fields": {}
},
{
"type": "IfExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "IfPrefix",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "IfPrefix",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "PtrPayload",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "IfStatement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "BlockExpr",
"named": true
},
{
"type": "IfPrefix",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "Statement",
"named": true
}
]
}
},
{
"type": "IfTypeExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfPrefix",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
}
]
}
},
{
"type": "InitList",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "FieldInit",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "LINESTRING",
"named": true,
"fields": {}
},
{
"type": "LabeledStatement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "LoopStatement",
"named": true
}
]
}
},
{
"type": "LabeledTypeExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "LoopTypeExpr",
"named": true
}
]
}
},
{
"type": "LinkSection",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "LoopExpr",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ForExpr",
"named": true
},
{
"type": "WhileExpr",
"named": true
}
]
}
},
{
"type": "LoopStatement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ForStatement",
"named": true
},
{
"type": "WhileStatement",
"named": true
}
]
}
},
{
"type": "LoopTypeExpr",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "ForTypeExpr",
"named": true
},
{
"type": "WhileTypeExpr",
"named": true
}
]
}
},
{
"type": "MultiplyOp",
"named": true,
"fields": {}
},
{
"type": "ParamDecl",
"named": true,
"fields": {
"parameter": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ParamType",
"named": true
},
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "ParamDeclList",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ParamDecl",
"named": true
}
]
}
},
{
"type": "ParamType",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
}
]
}
},
{
"type": "Payload",
"named": true,
"fields": {
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
}
},
{
"type": "PrefixOp",
"named": true,
"fields": {}
},
{
"type": "PrefixTypeOp",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AddrSpace",
"named": true
},
{
"type": "ArrayTypeStart",
"named": true
},
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ByteAlign",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "PtrTypeStart",
"named": true
},
{
"type": "SliceTypeStart",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "PtrIndexPayload",
"named": true,
"fields": {
"variable": {
"multiple": true,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
}
},
{
"type": "PtrListPayload",
"named": true,
"fields": {
"variable": {
"multiple": true,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
}
},
{
"type": "PtrPayload",
"named": true,
"fields": {
"variable": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
}
},
{
"type": "PtrTypeStart",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "STRINGLITERALSINGLE",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "EscapeSequence",
"named": true
},
{
"type": "FormatSequence",
"named": true
}
]
}
},
{
"type": "SliceTypeStart",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "Statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "BlockExprStatement",
"named": true
},
{
"type": "IfStatement",
"named": true
},
{
"type": "LabeledStatement",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "SwitchExpr",
"named": true
},
{
"type": "VarDecl",
"named": true
}
]
}
},
{
"type": "SuffixExpr",
"named": true,
"fields": {
"field_constant": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
},
"variable_type_function": {
"multiple": false,
"required": false,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "BUILTINIDENTIFIER",
"named": true
},
{
"type": "BuildinTypeExpr",
"named": true
},
{
"type": "CHAR_LITERAL",
"named": true
},
{
"type": "ContainerDecl",
"named": true
},
{
"type": "ErrorSetDecl",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "FLOAT",
"named": true
},
{
"type": "FieldOrFnCall",
"named": true
},
{
"type": "FnCallArguments",
"named": true
},
{
"type": "FnProto",
"named": true
},
{
"type": "GroupedExpr",
"named": true
},
{
"type": "INTEGER",
"named": true
},
{
"type": "IfTypeExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LINESTRING",
"named": true
},
{
"type": "LabeledTypeExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
},
{
"type": "SuffixOp",
"named": true
},
{
"type": "SwitchExpr",
"named": true
}
]
}
},
{
"type": "SuffixOp",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IDENTIFIER",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "SwitchCase",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "SwitchItem",
"named": true
}
]
}
},
{
"type": "SwitchExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "SwitchProng",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "SwitchItem",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "SwitchProng",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "PtrIndexPayload",
"named": true
},
{
"type": "SwitchCase",
"named": true
}
]
}
},
{
"type": "TestDecl",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "Block",
"named": true
},
{
"type": "IDENTIFIER",
"named": true
},
{
"type": "STRINGLITERALSINGLE",
"named": true
},
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "UnaryExpr",
"named": true,
"fields": {
"left": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "break",
"named": false
},
{
"type": "comptime",
"named": false
},
{
"type": "continue",
"named": false
},
{
"type": "nosuspend",
"named": false
},
{
"type": "resume",
"named": false
},
{
"type": "return",
"named": false
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "PrefixOp",
"named": true
}
]
}
}
},
{
"type": "VarDecl",
"named": true,
"fields": {
"variable_type_function": {
"multiple": false,
"required": true,
"types": [
{
"type": "IDENTIFIER",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AddrSpace",
"named": true
},
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ByteAlign",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LinkSection",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
}
]
}
},
{
"type": "WhileContinueExpr",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
}
]
}
},
{
"type": "WhileExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "WhilePrefix",
"named": true
}
]
}
},
{
"type": "WhilePrefix",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "AsmExpr",
"named": true
},
{
"type": "BinaryExpr",
"named": true
},
{
"type": "Block",
"named": true
},
{
"type": "BlockLabel",
"named": true
},
{
"type": "BreakLabel",
"named": true
},
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "IfExpr",
"named": true
},
{
"type": "InitList",
"named": true
},
{
"type": "LoopExpr",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "PtrPayload",
"named": true
},
{
"type": "UnaryExpr",
"named": true
},
{
"type": "WhileContinueExpr",
"named": true
}
]
}
},
{
"type": "WhileStatement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "AssignExpr",
"named": true
},
{
"type": "BlockExpr",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "Statement",
"named": true
},
{
"type": "WhilePrefix",
"named": true
}
]
}
},
{
"type": "WhileTypeExpr",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "ErrorUnionExpr",
"named": true
},
{
"type": "Payload",
"named": true
},
{
"type": "PrefixTypeOp",
"named": true
},
{
"type": "WhilePrefix",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "ComptimeDecl",
"named": true
},
{
"type": "ContainerField",
"named": true
},
{
"type": "Decl",
"named": true
},
{
"type": "TestDecl",
"named": true
},
{
"type": "container_doc_comment",
"named": true
},
{
"type": "doc_comment",
"named": true
}
]
}
},
{
"type": "!",
"named": false
},
{
"type": "!=",
"named": false
},
{
"type": "\"",
"named": false
},
{
"type": "%",
"named": false
},
{
"type": "%=",
"named": false
},
{
"type": "&",
"named": false
},
{
"type": "&=",
"named": false
},
{
"type": "'",
"named": false
},
{
"type": "(",
"named": false
},
{
"type": ")",
"named": false
},
{
"type": "*",
"named": false
},
{
"type": "*%",
"named": false
},
{
"type": "*%=",
"named": false
},
{
"type": "**",
"named": false
},
{
"type": "*=",
"named": false
},
{
"type": "*|",
"named": false
},
{
"type": "*|=",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "+%",
"named": false
},
{
"type": "+%=",
"named": false
},
{
"type": "++",
"named": false
},
{
"type": "+=",
"named": false
},
{
"type": "+|",
"named": false
},
{
"type": "+|=",
"named": false
},
{
"type": ",",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "-%",
"named": false
},
{
"type": "-%=",
"named": false
},
{
"type": "-=",
"named": false
},
{
"type": "->",
"named": false
},
{
"type": "-|",
"named": false
},
{
"type": "-|=",
"named": false
},
{
"type": ".",
"named": false
},
{
"type": ".*",
"named": false
},
{
"type": "..",
"named": false
},
{
"type": "...",
"named": false
},
{
"type": ".?",
"named": false
},
{
"type": "/",
"named": false
},
{
"type": "/=",
"named": false
},
{
"type": ":",
"named": false
},
{
"type": ";",
"named": false
},
{
"type": "<",
"named": false
},
{
"type": "<<",
"named": false
},
{
"type": "<<=",
"named": false
},
{
"type": "<<|",
"named": false
},
{
"type": "<<|=",
"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": "BuildinTypeExpr",
"named": true
},
{
"type": "[",
"named": false
},
{
"type": "\\",
"named": false
},
{
"type": "\\\\",
"named": false
},
{
"type": "]",
"named": false
},
{
"type": "^",
"named": false
},
{
"type": "^=",
"named": false
},
{
"type": "addrspace",
"named": false
},
{
"type": "align",
"named": false
},
{
"type": "allowzero",
"named": false
},
{
"type": "and",
"named": false
},
{
"type": "any",
"named": false
},
{
"type": "anyframe",
"named": false
},
{
"type": "anytype",
"named": false
},
{
"type": "asm",
"named": false
},
{
"type": "async",
"named": false
},
{
"type": "await",
"named": false
},
{
"type": "break",
"named": false
},
{
"type": "c",
"named": false
},
{
"type": "callconv",
"named": false
},
{
"type": "catch",
"named": false
},
{
"type": "comptime",
"named": false
},
{
"type": "const",
"named": false
},
{
"type": "container_doc_comment",
"named": true
},
{
"type": "continue",
"named": false
},
{
"type": "defer",
"named": false
},
{
"type": "doc_comment",
"named": true
},
{
"type": "else",
"named": false
},
{
"type": "enum",
"named": false
},
{
"type": "errdefer",
"named": false
},
{
"type": "error",
"named": false
},
{
"type": "export",
"named": false
},
{
"type": "extern",
"named": false
},
{
"type": "false",
"named": false
},
{
"type": "fn",
"named": false
},
{
"type": "for",
"named": false
},
{
"type": "if",
"named": false
},
{
"type": "inline",
"named": false
},
{
"type": "line_comment",
"named": true,
"extra": true
},
{
"type": "linksection",
"named": false
},
{
"type": "noalias",
"named": false
},
{
"type": "noinline",
"named": false
},
{
"type": "nosuspend",
"named": false
},
{
"type": "null",
"named": false
},
{
"type": "opaque",
"named": false
},
{
"type": "or",
"named": false
},
{
"type": "orelse",
"named": false
},
{
"type": "packed",
"named": false
},
{
"type": "pub",
"named": false
},
{
"type": "resume",
"named": false
},
{
"type": "return",
"named": false
},
{
"type": "struct",
"named": false
},
{
"type": "suspend",
"named": false
},
{
"type": "switch",
"named": false
},
{
"type": "test",
"named": false
},
{
"type": "threadlocal",
"named": false
},
{
"type": "true",
"named": false
},
{
"type": "try",
"named": false
},
{
"type": "undefined",
"named": false
},
{
"type": "union",
"named": false
},
{
"type": "unreachable",
"named": false
},
{
"type": "usingnamespace",
"named": false
},
{
"type": "var",
"named": false
},
{
"type": "volatile",
"named": false
},
{
"type": "while",
"named": false
},
{
"type": "{",
"named": false
},
{
"type": "{{",
"named": false
},
{
"type": "|",
"named": false
},
{
"type": "|=",
"named": false
},
{
"type": "||",
"named": false
},
{
"type": "}",
"named": false
},
{
"type": "}}",
"named": false
},
{
"type": "~",
"named": false
}
]