procedure Op1;
procedure Op2;
end Pt;
Other_Object : Some_Other_Protected_Type;
procedure Op1 is begin ... end Op1;
begin
Op1; --An internal call.
Pt.Op1; --Another internal call.
PO.Op1; --An external call. It the current instance is PO, then
--this is a bounded error (see 9.5.1).
Other_Object.Some_Op; --An external call.
end Op2;
end Pt;
E := Shared_Array.Component(M);
Control.Release;
entry defining_identifier [(discrete_subtype_definition)] parameter_profile;
accept entry_direct_name [(entry_index)] parameter_profile [do
handled_sequence_of_statements
end [entry_identifier]];
entry defining_identifier entry_body_formal_part entry_barrier is
declarative_part
begin
handled_sequence_of_statements
end [entry_identifier];
entry E(Z : access Integer); --Illegal!
end T;
begin
declare
type A is access all Integer;
X : A;
Int : aliased Integer;
task Inner;
task body Inner is
begin
T.E(Int'Access);
end Inner;
begin
accept E(Z : access Integer) do
X := A(Z); -- Accessibility_Check
end E;
end;
end T;
entry Seize;
entry Request(Level)(D : Item); -- a family of entries
Parser.Next_Lexeme(E); -- see 9.1
Pool(5).Read(Next_Char); -- see 9.1
Controller.Request(Low)(Some_Item); -- see 9.1
Flags(3).Seize; -- see 9.4
-- requeue on a member of an entry family of the current task, see 9.1
-- requeue on an entry of an array component, see 9.4