UNPKG

tree-sitter-abl

Version:
2,750 lines 93 kB
[ { "type": "_expression", "named": true, "subtypes": [ { "type": "accumulate_expression", "named": true }, { "type": "additive_expression", "named": true }, { "type": "ambiguous_expression", "named": true }, { "type": "array_access", "named": true }, { "type": "array_literal", "named": true }, { "type": "available_expression", "named": true }, { "type": "boolean_literal", "named": true }, { "type": "can_find_expression", "named": true }, { "type": "comparison_expression", "named": true }, { "type": "constant", "named": true }, { "type": "current_changed_expression", "named": true }, { "type": "date_literal", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "input_expression", "named": true }, { "type": "locked_expression", "named": true }, { "type": "logical_expression", "named": true }, { "type": "member_access", "named": true }, { "type": "multiplicative_expression", "named": true }, { "type": "new_expression", "named": true }, { "type": "null_expression", "named": true }, { "type": "number_literal", "named": true }, { "type": "object_access", "named": true }, { "type": "parenthesized_expression", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true }, { "type": "temp_table_expression", "named": true }, { "type": "ternary_expression", "named": true }, { "type": "unary_expression", "named": true } ] }, { "type": "_statement", "named": true, "subtypes": [ { "type": "abl_statement", "named": true }, { "type": "accumulate_statement", "named": true }, { "type": "annotation", "named": true }, { "type": "assign_statement", "named": true }, { "type": "case_statement", "named": true }, { "type": "catch_statement", "named": true }, { "type": "enum_statement", "named": true }, { "type": "error_scope_statement", "named": true }, { "type": "finally_statement", "named": true }, { "type": "find_statement", "named": true }, { "type": "for_statement", "named": true }, { "type": "function_call_statement", "named": true }, { "type": "function_statement", "named": true }, { "type": "if_statement", "named": true }, { "type": "include", "named": true }, { "type": "input_output_statement", "named": true }, { "type": "null_statement", "named": true }, { "type": "on_statement", "named": true }, { "type": "preprocessor_directive", "named": true }, { "type": "procedure_statement", "named": true }, { "type": "prompt_for_statement", "named": true }, { "type": "repeat_statement", "named": true }, { "type": "return_statement", "named": true }, { "type": "run_statement", "named": true }, { "type": "undo_statement", "named": true }, { "type": "using_statement", "named": true }, { "type": "var_statement", "named": true }, { "type": "variable_assignment", "named": true } ] }, { "type": "abl_statement", "named": true, "fields": { "statement": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "access_tuning", "named": true, "fields": {} }, { "type": "accumulate_aggregate", "named": true, "fields": {} }, { "type": "accumulate_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "accumulate_aggregate", "named": true } ] } }, { "type": "accumulate_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "accumulate_aggregate", "named": true }, { "type": "additive_expression", "named": true }, { "type": "comparison_expression", "named": true }, { "type": "identifier", "named": true }, { "type": "logical_expression", "named": true }, { "type": "multiplicative_expression", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "action_phrase", "named": true, "fields": { "label": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "additive_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "ambiguous_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "annotation", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "annotation_argument", "named": true } ] } }, { "type": "annotation_argument", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "argument", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "additive_expression", "named": true }, { "type": "argument_mode", "named": true }, { "type": "array_access", "named": true }, { "type": "comparison_expression", "named": true }, { "type": "identifier", "named": true }, { "type": "input_expression", "named": true }, { "type": "logical_expression", "named": true }, { "type": "multiplicative_expression", "named": true }, { "type": "null_expression", "named": true }, { "type": "number_literal", "named": true }, { "type": "object_access", "named": true }, { "type": "parameter_tuning", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true }, { "type": "ternary_expression", "named": true }, { "type": "type_tuning", "named": true } ] } }, { "type": "argument_mode", "named": true, "fields": {} }, { "type": "arguments", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "argument", "named": true } ] } }, { "type": "array_access", "named": true, "fields": { "array": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "object_access", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "array_literal", "named": true } ] } }, { "type": "array_literal", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "additive_expression", "named": true }, { "type": "array_access", "named": true }, { "type": "array_literal", "named": true }, { "type": "boolean_literal", "named": true }, { "type": "comparison_expression", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "logical_expression", "named": true }, { "type": "multiplicative_expression", "named": true }, { "type": "new_expression", "named": true }, { "type": "number_literal", "named": true }, { "type": "range_notation", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "assign_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "assignment", "named": true } ] } }, { "type": "assignment", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "array_access", "named": true }, { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "member_access", "named": true }, { "type": "object_access", "named": true }, { "type": "qualified_name", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "assignment_operator", "named": true }, { "type": "include", "named": true }, { "type": "when_expression", "named": true } ] } }, { "type": "assignment_operator", "named": true, "fields": {} }, { "type": "available_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "body", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "_statement", "named": true }, { "type": "buffer_definition", "named": true }, { "type": "case_otherwise_branch", "named": true }, { "type": "case_when_branch", "named": true }, { "type": "constructor_statement", "named": true }, { "type": "data_source_definition", "named": true }, { "type": "dataset_definition", "named": true }, { "type": "destructor_statement", "named": true }, { "type": "enum_definition", "named": true }, { "type": "event_definition", "named": true }, { "type": "method_statement", "named": true }, { "type": "parameter_definition", "named": true }, { "type": "property_definition", "named": true }, { "type": "query_definition", "named": true }, { "type": "stream_definition", "named": true }, { "type": "temp_table_definition", "named": true }, { "type": "variable_definition", "named": true }, { "type": "workfile_definition", "named": true } ] } }, { "type": "boolean_literal", "named": true, "fields": {} }, { "type": "buffer_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "table": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "access_tuning", "named": true }, { "type": "member_modifier", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "can_find_expression", "named": true, "fields": { "constant": { "multiple": false, "required": false, "types": [ { "type": "number_literal", "named": true }, { "type": "string_literal", "named": true } ] }, "table": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "of", "named": true }, { "type": "query_tuning", "named": true }, { "type": "where_clause", "named": true } ] } }, { "type": "case_condition", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "boolean_literal", "named": true }, { "type": "number_literal", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "case_otherwise_branch", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "_statement", "named": true }, { "type": "do_block", "named": true } ] } }, { "type": "case_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true }, { "type": "body", "named": true } ] } }, { "type": "case_when_branch", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_statement", "named": true }, { "type": "case_condition", "named": true }, { "type": "do_block", "named": true } ] } }, { "type": "catch_statement", "named": true, "fields": { "type": { "multiple": true, "required": true, "types": [ { "type": "CLASS", "named": false }, { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] }, "variable": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] } }, { "type": "class_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "class_tuning", "named": true } ] } }, { "type": "class_tuning", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "implements", "named": true }, { "type": "inherits", "named": true } ] } }, { "type": "class_type", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "comment", "named": true, "fields": {} }, { "type": "comparison_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "constant", "named": true, "fields": {}, "children": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "constructor_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "access_tuning", "named": true }, { "type": "body", "named": true }, { "type": "identifier", "named": true }, { "type": "parameters", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "current_changed_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "data_relation", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "data_source_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "access_tuning", "named": true }, { "type": "identifier", "named": true }, { "type": "member_modifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "dataset_definition", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_tuning", "named": true }, { "type": "data_relation", "named": true }, { "type": "identifier", "named": true }, { "type": "member_modifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "destructor_statement", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "do_block", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "do_for_phrase", "named": true }, { "type": "frame_phrase", "named": true }, { "type": "label", "named": true }, { "type": "on_endkey_phrase", "named": true }, { "type": "on_error_phrase", "named": true }, { "type": "on_quit_phrase", "named": true }, { "type": "on_stop_phrase", "named": true }, { "type": "preselect_phrase", "named": true }, { "type": "stop_after_phrase", "named": true }, { "type": "to_phrase", "named": true }, { "type": "while_phrase", "named": true } ] } }, { "type": "do_for_phrase", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "else_statement", "named": true, "fields": { "condition": { "multiple": false, "required": false, "types": [ { "type": "_expression", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "_statement", "named": true }, { "type": "do_block", "named": true } ] } }, { "type": "enum_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "enum_member", "named": true } ] } }, { "type": "enum_member", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": true, "required": false, "types": [ { "type": ",", "named": false }, { "type": "=", "named": false }, { "type": "identifier", "named": true }, { "type": "number_literal", "named": true }, { "type": "string_literal", "named": true } ] } } }, { "type": "enum_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] } }, { "type": "error_scope_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "on_error_phrase", "named": true } ] } }, { "type": "event_definition", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "access_tuning", "named": true }, { "type": "identifier", "named": true }, { "type": "member_modifier", "named": true }, { "type": "parameters", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "field_clause", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "field_option", "named": true }, { "type": "identifier", "named": true }, { "type": "type_tuning", "named": true } ] } }, { "type": "field_option", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "array_literal", "named": true }, { "type": "boolean_literal", "named": true }, { "type": "identifier", "named": true }, { "type": "null_expression", "named": true }, { "type": "number_literal", "named": true }, { "type": "object_access", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "finally_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "body", "named": true } ] } }, { "type": "find_statement", "named": true, "fields": { "table": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] }, "type": { "multiple": false, "required": false, "types": [ { "type": "CURRENT", "named": false }, { "type": "FIRST", "named": false }, { "type": "LAST", "named": false }, { "type": "NEXT", "named": false }, { "type": "PREV", "named": false } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "of", "named": true }, { "type": "query_tuning", "named": true }, { "type": "where_clause", "named": true } ] } }, { "type": "for_statement", "named": true, "fields": { "table": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] }, "type": { "multiple": true, "required": false, "types": [ { "type": "EACH", "named": false }, { "type": "FIRST", "named": false }, { "type": "LAST", "named": false } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "frame_phrase", "named": true }, { "type": "label", "named": true }, { "type": "of", "named": true }, { "type": "on_endkey_phrase", "named": true }, { "type": "on_error_phrase", "named": true }, { "type": "on_quit_phrase", "named": true }, { "type": "on_stop_phrase", "named": true }, { "type": "query_tuning", "named": true }, { "type": "sort_clause", "named": true }, { "type": "where_clause", "named": true } ] } }, { "type": "frame_phrase", "named": true, "fields": { "frame": { "multiple": true, "required": false, "types": [ { "type": "constant", "named": true }, { "type": "identifier", "named": true } ] }, "stream": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "stream_handle": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "_expression", "named": true }, { "type": "size_phrase", "named": true } ] } }, { "type": "function_call", "named": true, "fields": { "function": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "object_access", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "arguments", "named": true } ] } }, { "type": "function_call_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "function_call", "named": true } ] } }, { "type": "function_parameter", "named": true, "fields": { "buffer": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "table": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "argument_mode", "named": true }, { "type": "parameter_tuning", "named": true }, { "type": "type_tuning", "named": true } ] } }, { "type": "function_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "number_literal", "named": true }, { "type": "parameters", "named": true }, { "type": "return_type", "named": true } ] } }, { "type": "generic_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "generic_parameter", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "generic_parameter", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "type_tuning", "named": true } ] } }, { "type": "generic_type", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "generic_expression", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "getter", "named": true, "fields": {}, "children": { "multiple": true, "required": false, "types": [ { "type": "access_tuning", "named": true }, { "type": "body", "named": true }, { "type": "parameters", "named": true } ] } }, { "type": "if_statement", "named": true, "fields": { "condition": { "multiple": false, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "_statement", "named": true }, { "type": "do_block", "named": true }, { "type": "else_statement", "named": true } ] } }, { "type": "implements", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "include", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "file_name", "named": true }, { "type": "include_argument", "named": true } ] } }, { "type": "include_argument", "named": true, "fields": { "name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "value": { "multiple": false, "required": false, "types": [ { "type": "string_literal", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "constant", "named": true } ] } }, { "type": "index_clause", "named": true, "fields": { "field": { "multiple": true, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "index_tuning", "named": true }, { "type": "sort_order", "named": true } ] } }, { "type": "index_tuning", "named": true, "fields": {} }, { "type": "inherits", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "input_expression", "named": true, "fields": { "field": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] }, "frame": { "multiple": false, "required": false, "types": [ { "type": "constant", "named": true }, { "type": "identifier", "named": true } ] } } }, { "type": "input_output_statement", "named": true, "fields": { "name": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "function_call", "named": true }, { "type": "stream_flag", "named": true }, { "type": "stream_tuning", "named": true }, { "type": "string_literal", "named": true } ] } }, { "type": "interface_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "string_literal", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "body", "named": true }, { "type": "inherits", "named": true } ] } }, { "type": "label", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "like_phrase", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, { "type": "locked_expression", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "logical_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "member_access", "named": true, "fields": { "object": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] }, "property": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "member_modifier", "named": true, "fields": {} }, { "type": "method_statement", "named": true, "fields": { "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": true, "types": [ { "type": "access_tuning", "named": true }, { "type": "body", "named": true }, { "type": "member_modifier", "named": true }, { "type": "number_literal", "named": true }, { "type": "parameters", "named": true }, { "type": "return_type", "named": true }, { "type": "scope_tuning", "named": true } ] } }, { "type": "multiplicative_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "_expression", "named": true } ] } }, { "type": "new_expression", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "arguments", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "null_statement", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "object_access", "named": true } ] } }, { "type": "number_literal", "named": true, "fields": {} }, { "type": "object_access", "named": true, "fields": { "object": { "multiple": false, "required": true, "types": [ { "type": "function_call", "named": true }, { "type": "identifier", "named": true }, { "type": "new_expression", "named": true } ] }, "property": { "multiple": true, "required": true, "types": [ { "type": "identifier", "named": true } ] } } }, { "type": "of", "named": true, "fields": {}, "children": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true } ] } }, { "type": "on_endkey_phrase", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "action_phrase", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "on_error_phrase", "named": true, "fields": { "label": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": false, "types": [ { "type": "action_phrase", "named": true } ] } }, { "type": "on_quit_phrase", "named": true, "fields": {}, "children": { "multiple": true, "required": true, "types": [ { "type": "action_phrase", "named": true }, { "type": "identifier", "named": true } ] } }, { "type": "on_statement", "named": true, "fields": { "function": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "label": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": true, "required": false, "types": [ { "type": "do_block", "named": true }, { "type": "identifier", "named": true }, { "type": "qualified_name", "named": true }, { "type": "referencing_phrase", "named": true } ] } }, { "type": "on_stop_phrase", "named": true, "fields": { "label": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] } }, "children": { "multiple": false, "required": true, "types": [ { "type": "action_phrase", "named": true } ] } }, { "type": "parameter_definition", "named": true, "fields": { "buffer": { "multiple": false, "required": false, "types": [ { "type": "identifier", "named": true } ] }, "name": { "multiple": false, "required": true, "types": [ { "type": "identifier", "named