3 with Ada.Tags; use Ada.Tags;
4 with Ada.Text_IO; use Ada.Text_IO;
7 type Element is interface;
8 type Event is tagged record
12 function Create return Event;
13 type D_Event is new Event and Element with null record;
14 function Create return D_Event;
17 function Create return Event is
23 function Create return D_Event is
25 return (Event'(Create) with null record);
29 procedure CW_Test (Obj : Element'Class) is
30 S : Constant String := Expanded_Name (Obj'Tag);