blob: 537f0ec1a9c9a4de7cc1e79147e648245713d2b3 [file] [log] [blame]
package Validity_Check3 is
procedure Call_All;
type Rec_1 is private;
procedure Proc_Vis_Rec_1 (Param : Rec_1);
type Rec_2 (<>) is private;
procedure Proc_Vis_Rec_2 (Param : Rec_2);
type Rec_3 (<>) is private;
procedure Proc_Vis_Rec_3 (Param : Rec_3);
type Rec_4 (Discr : Integer) is private;
procedure Proc_Vis_Rec_4 (Param : Rec_4);
type Tag_1 is tagged private;
procedure Proc_Vis_Tag_1 (Param : Tag_1);
procedure Proc_Vis_CW_1 (Param : Tag_1'Class);
type Tag_2 (<>) is tagged private;
procedure Proc_Vis_Tag_2 (Param : Tag_2);
procedure Proc_Vis_CW_2 (Param : Tag_2'Class);
type Tag_3 (<>) is tagged private;
procedure Proc_Vis_Tag_3 (Param : Tag_3);
procedure Proc_Vis_CW_3 (Param : Tag_3'Class);
type Tag_4 (Discr : Integer) is tagged private;
procedure Proc_Vis_Tag_4 (Param : Tag_4);
procedure Proc_Vis_CW_4 (Param : Tag_4'Class);
type Tag_5 is new Tag_1 with private;
procedure Proc_Vis_Tag_5 (Param : Tag_5);
procedure Proc_Vis_CW_5 (Param : Tag_5'Class);
type Tag_6 is new Tag_4 with private;
procedure Proc_Vis_Tag_6 (Param : Tag_6);
procedure Proc_Vis_CW_6 (Param : Tag_6'Class);
private
type Rec_1 is record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Rec_1 (Param : Rec_1);
type Rec_2 is record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Rec_2 (Param : Rec_2);
type Rec_3 (Discr : Integer) is record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Rec_3 (Param : Rec_3);
type Rec_4 (Discr : Integer) is record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Rec_4 (Param : Rec_4);
type Tag_1 is tagged record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Tag_1 (Param : Tag_1);
procedure Proc_Priv_CW_1 (Param : Tag_1'Class);
type Tag_2 is tagged record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Tag_2 (Param : Tag_2);
procedure Proc_Priv_CW_2 (Param : Tag_2'Class);
type Tag_3 (Discr : Integer) is tagged record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Tag_3 (Param : Tag_3);
procedure Proc_Priv_CW_3 (Param : Tag_3'Class);
type Tag_4 (Discr : Integer) is tagged record
Comp_1 : Integer;
Comp_2 : Boolean;
end record;
procedure Proc_Priv_Tag_4 (Param : Tag_4);
procedure Proc_Priv_CW_4 (Param : Tag_4'Class);
type Tag_5 is new Tag_1 with record
Comp_3 : Integer;
Comp_4 : Boolean;
end record;
procedure Proc_Priv_Tag_5 (Param : Tag_5);
procedure Proc_Priv_CW_5 (Param : Tag_5'Class);
type Tag_6 is new Tag_4 with record
Comp_3 : Integer;
Comp_4 : Boolean;
end record;
procedure Proc_Priv_Tag_6 (Param : Tag_6);
procedure Proc_Priv_CW_6 (Param : Tag_6'Class);
end Validity_Check3;