[
{
"type": "add_handler",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "annotation",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "annotation_parameter",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "annotation_parameter",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "argument_list",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "arguments",
"named": true
}
]
}
},
{
"type": "arguments",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "annotation",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "assignment",
"named": true,
"fields": {
"target": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "index_access",
"named": true
},
{
"type": "member_property",
"named": true
}
]
},
"value": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
}
},
{
"type": "binary_expression",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "call_args",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "call_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "member_access",
"named": true
},
{
"type": "method_call",
"named": true
}
]
}
},
{
"type": "export",
"named": true,
"fields": {}
},
{
"type": "for_each_loop",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "for_loop",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "func_declaration",
"named": true,
"fields": {
"func_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "annotation",
"named": true
},
{
"type": "argument_list",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "var_block",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "if_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "index_access",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "method_call",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "member_access",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "index_access",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "member_property",
"named": true
},
{
"type": "method_call",
"named": true
}
]
}
},
{
"type": "member_property",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "index_access",
"named": true
},
{
"type": "member_access",
"named": true
}
]
}
},
{
"type": "method_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "func_declaration",
"named": true
},
{
"type": "proc_declaration",
"named": true
}
]
}
},
{
"type": "method_call",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "call_args",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "module_var_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "module_var_declaration",
"named": true
}
]
}
},
{
"type": "module_var_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "annotation",
"named": true
},
{
"type": "export",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "new_operator",
"named": true,
"fields": {
"type_name": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "identifier",
"named": true
},
{
"type": "member_access",
"named": true
}
]
}
},
{
"type": "proc_declaration",
"named": true,
"fields": {
"proc_name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "annotation",
"named": true
},
{
"type": "argument_list",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "var_block",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "raise_operator",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "remove_handler",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "return_statement",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "source_file",
"named": true,
"root": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "method_block",
"named": true
},
{
"type": "module_var_block",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "string",
"named": true,
"fields": {}
},
{
"type": "ternary_operator",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "try_statement",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "while_loop",
"named": true
}
]
}
},
{
"type": "unary_expression",
"named": true,
"fields": {},
"children": {
"multiple": false,
"required": true,
"types": [
{
"type": "binary_expression",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
}
]
}
},
{
"type": "var_block",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "var_declaration",
"named": true
}
]
}
},
{
"type": "var_declaration",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "export",
"named": true
},
{
"type": "identifier",
"named": true
}
]
}
},
{
"type": "while_loop",
"named": true,
"fields": {},
"children": {
"multiple": true,
"required": true,
"types": [
{
"type": "add_handler",
"named": true
},
{
"type": "assignment",
"named": true
},
{
"type": "binary_expression",
"named": true
},
{
"type": "break_statement",
"named": true
},
{
"type": "call_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "for_each_loop",
"named": true
},
{
"type": "for_loop",
"named": true
},
{
"type": "if_statement",
"named": true
},
{
"type": "member_access",
"named": true
},
{
"type": "new_operator",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "raise_operator",
"named": true
},
{
"type": "remove_handler",
"named": true
},
{
"type": "return_statement",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "ternary_operator",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "try_statement",
"named": true
},
{
"type": "unary_expression",
"named": true
},
{
"type": "undefined_literal",
"named": true
},
{
"type": "while_loop",
"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": "break_statement",
"named": true
},
{
"type": "continue_statement",
"named": true
},
{
"type": "date_literal",
"named": true
},
{
"type": "false_literal",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "null_literal",
"named": true
},
{
"type": "number",
"named": true
},
{
"type": "true_literal",
"named": true
},
{
"type": "undefined_literal",
"named": true
},
{
"type": "|",
"named": false
}
]