1package Validity_Check3 is 2 procedure Call_All; 3 4 type Rec_1 is private; 5 procedure Proc_Vis_Rec_1 (Param : Rec_1); 6 7 type Rec_2 (<>) is private; 8 procedure Proc_Vis_Rec_2 (Param : Rec_2); 9 10 type Rec_3 (<>) is private; 11 procedure Proc_Vis_Rec_3 (Param : Rec_3); 12 13 type Rec_4 (Discr : Integer) is private; 14 procedure Proc_Vis_Rec_4 (Param : Rec_4); 15 16 type Tag_1 is tagged private; 17 procedure Proc_Vis_Tag_1 (Param : Tag_1); 18 procedure Proc_Vis_CW_1 (Param : Tag_1'Class); 19 20 type Tag_2 (<>) is tagged private; 21 procedure Proc_Vis_Tag_2 (Param : Tag_2); 22 procedure Proc_Vis_CW_2 (Param : Tag_2'Class); 23 24 type Tag_3 (<>) is tagged private; 25 procedure Proc_Vis_Tag_3 (Param : Tag_3); 26 procedure Proc_Vis_CW_3 (Param : Tag_3'Class); 27 28 type Tag_4 (Discr : Integer) is tagged private; 29 procedure Proc_Vis_Tag_4 (Param : Tag_4); 30 procedure Proc_Vis_CW_4 (Param : Tag_4'Class); 31 32 type Tag_5 is new Tag_1 with private; 33 procedure Proc_Vis_Tag_5 (Param : Tag_5); 34 procedure Proc_Vis_CW_5 (Param : Tag_5'Class); 35 36 type Tag_6 is new Tag_4 with private; 37 procedure Proc_Vis_Tag_6 (Param : Tag_6); 38 procedure Proc_Vis_CW_6 (Param : Tag_6'Class); 39 40private 41 type Rec_1 is record 42 Comp_1 : Integer; 43 Comp_2 : Boolean; 44 end record; 45 46 procedure Proc_Priv_Rec_1 (Param : Rec_1); 47 48 type Rec_2 is record 49 Comp_1 : Integer; 50 Comp_2 : Boolean; 51 end record; 52 53 procedure Proc_Priv_Rec_2 (Param : Rec_2); 54 55 type Rec_3 (Discr : Integer) is record 56 Comp_1 : Integer; 57 Comp_2 : Boolean; 58 end record; 59 60 procedure Proc_Priv_Rec_3 (Param : Rec_3); 61 62 type Rec_4 (Discr : Integer) is record 63 Comp_1 : Integer; 64 Comp_2 : Boolean; 65 end record; 66 67 procedure Proc_Priv_Rec_4 (Param : Rec_4); 68 69 type Tag_1 is tagged record 70 Comp_1 : Integer; 71 Comp_2 : Boolean; 72 end record; 73 74 procedure Proc_Priv_Tag_1 (Param : Tag_1); 75 procedure Proc_Priv_CW_1 (Param : Tag_1'Class); 76 77 type Tag_2 is tagged record 78 Comp_1 : Integer; 79 Comp_2 : Boolean; 80 end record; 81 82 procedure Proc_Priv_Tag_2 (Param : Tag_2); 83 procedure Proc_Priv_CW_2 (Param : Tag_2'Class); 84 85 type Tag_3 (Discr : Integer) is tagged record 86 Comp_1 : Integer; 87 Comp_2 : Boolean; 88 end record; 89 90 procedure Proc_Priv_Tag_3 (Param : Tag_3); 91 procedure Proc_Priv_CW_3 (Param : Tag_3'Class); 92 93 type Tag_4 (Discr : Integer) is tagged record 94 Comp_1 : Integer; 95 Comp_2 : Boolean; 96 end record; 97 98 procedure Proc_Priv_Tag_4 (Param : Tag_4); 99 procedure Proc_Priv_CW_4 (Param : Tag_4'Class); 100 101 type Tag_5 is new Tag_1 with record 102 Comp_3 : Integer; 103 Comp_4 : Boolean; 104 end record; 105 106 procedure Proc_Priv_Tag_5 (Param : Tag_5); 107 procedure Proc_Priv_CW_5 (Param : Tag_5'Class); 108 109 type Tag_6 is new Tag_4 with record 110 Comp_3 : Integer; 111 Comp_4 : Boolean; 112 end record; 113 114 procedure Proc_Priv_Tag_6 (Param : Tag_6); 115 procedure Proc_Priv_CW_6 (Param : Tag_6'Class); 116end Validity_Check3; 117