blob: d8e27e0a73b74155774e035912c78496fbefae28 [file] [log] [blame]
package Prot6 is
generic
type TD is private;
type TI is synchronized interface;
package Set_Get is
type T is synchronized interface and TI;
procedure Set (E : in out T; D : TD) is abstract;
function Get (E : T) return TD is abstract;
end Set_Get;
type My_Type_Interface is synchronized interface;
package Set_Get_Integer is
new Set_Get (TD => Integer,
TI => My_Type_Interface);
use Set_Get_Integer;
protected type My_Type is
new Set_Get_Integer.T with
overriding procedure Set (D : Integer);
overriding function Get return Integer;
private
I : Integer;
end My_Type;
procedure Dummy;
end Prot6;