| package test_image_p is |
| type type1 is tagged private; |
| type type3 is limited private; |
| type type5 is tagged limited private; |
| type a_type5_class is access all type5'Class; |
| task type task_t (arg : access type3) is |
| entry entry1; |
| end task_t; |
| function to_type1 (arg1 : in Integer) return type1; |
| private |
| type array_t is array (Positive range <>) of type1; |
| type array_t2 is array (1 .. 3) of Boolean; |
| type type1 is tagged record |
| f2 : array_t2; |
| end record; |
| type type3 is limited record |
| the_task : aliased task_t (type3'Access); |
| the_array : array_t (1 .. 10) := (others => to_type1 (-1)); |
| end record; |
| type type5 is tagged limited record |
| f3 : type3; |
| end record; |
| end; |