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;