tree-sitter-ada/test/corpus/protected.txt

115 lines
3.3 KiB
Plaintext

================================================================================
protected objects
================================================================================
package body P is
protected Obj is
procedure Proc;
function Func return Boolean;
entry E;
entry E2 (Color)(A : Integer);
private
Field : Integer;
end Obj;
protected body Obj is
procedure Proc is begin abort T; end;
function Func return Boolean is begin return False; end;
entry E when Field > 0 is
begin
requeue E with abort;
end E;
entry E2 (for C in Color)(A : Integer) when True is
begin
null;
end E2;
end Obj;
end;
--------------------------------------------------------------------------------
(compilation
(compilation_unit
(package_body
(identifier)
(non_empty_declarative_part
(object_declaration
(single_protected_declaration
(identifier)
(protected_definition
(subprogram_declaration
(procedure_specification
(identifier)))
(subprogram_declaration
(function_specification
(identifier)
(result_profile
(identifier))))
(entry_declaration
(identifier))
(entry_declaration
(identifier)
(identifier)
(formal_part
(parameter_specification
(identifier)
(identifier))))
(component_declaration
(identifier)
(component_definition
(identifier)))
(identifier))))
(protected_body
(identifier)
(subprogram_body
(procedure_specification
(identifier))
(handled_sequence_of_statements
(statement
(abort_statement
(identifier)))))
(subprogram_body
(function_specification
(identifier)
(result_profile
(identifier)))
(handled_sequence_of_statements
(statement
(simple_return_statement
(expression
(term
(identifier)))))))
(entry_body
(identifier)
(entry_barrier
(expression
(term
(identifier))
(relational_operator)
(term
(numeric_literal))))
(handled_sequence_of_statements
(statement
(requeue_statement
(identifier))))
(identifier))
(entry_body
(identifier)
(non_empty_entry_body_formal_part
(entry_index_specification
(identifier)
(identifier))
(formal_part
(parameter_specification
(identifier)
(identifier))))
(entry_barrier
(expression
(term
(identifier))))
(handled_sequence_of_statements
(statement
(null_statement)))
(identifier))
(identifier))))))