-- B38101C.ADA -- Grant of Unlimited Rights -- -- Under contracts F33600-87-D-0337, F33600-84-D-0280, MDA903-79-C-0687, -- F08630-91-C-0015, and DCA100-97-D-0025, the U.S. Government obtained -- unlimited rights in the software and documentation contained herein. -- Unlimited rights are defined in DFAR 252.227-7013(a)(19). By making -- this public release, the Government intends to confer upon all -- recipients unlimited rights equal to those held by the Government. -- These rights include rights to use, duplicate, release or disclose the -- released technical data and computer software in whole or in part, in -- any manner and for any purpose whatsoever, and to have or permit others -- to do so. -- -- DISCLAIMER -- -- ALL MATERIALS OR INFORMATION HEREIN RELEASED, MADE AVAILABLE OR -- DISCLOSED ARE AS IS. THE GOVERNMENT MAKES NO EXPRESS OR IMPLIED -- WARRANTY AS TO ANY MATTER WHATSOEVER, INCLUDING THE CONDITIONS OF THE -- SOFTWARE, DOCUMENTATION OR OTHER INFORMATION RELEASED, MADE AVAILABLE -- OR DISCLOSED, OR THE OWNERSHIP, MERCHANTABILITY, OR FITNESS FOR A -- PARTICULAR PURPOSE OF SAID MATERIAL. --* -- CHECK THAT IF AN INCOMPLETE TYPE DECLARATION APPEARS IN THE VISIBLE -- PART OF A GENERIC PACKAGE, THE FULL DECLARATION MUST APPEAR IN THE -- SAME PART AND IN PARTICULAR: -- 1) CANNOT BE OMITTED; -- 2) CANNOT BE GIVEN IN THE PRIVATE PART IF THE INCOMPLETE -- DECLARATION WAS IN THE VISIBLE PART; -- 3) CANNOT APPEAR IN THE PACKAGE BODY'S DECLARATIVE PART; -- 4) CANNOT APPEAR IN A PACKAGE SPECIFICATION NESTED IN THE -- VISIBLE OR PRIVATE PART CONTAINING THE INCOMPLETE -- DECLARATION. -- CHECK THAT IF AN INCOMPLETE TYPE DECLARATION APPEARS IN THE -- DECLARATIVE PART OF A -- 5) GENERIC PACKAGE BODY, -- THE CORRESPONDING COMPLETE DECLARATION MUST APPEAR IN THE SAME -- DECLARATIVE PART, EXCLUDING ANY NESTED DECLARATIVE PARTS OR -- PACKAGE SPECIFICATIONS. -- -- CHECK THAT IF AN INCOMPLETE TYPE DECLARATION APPEARS IN THE -- PRIVATE PART OF A GENERIC PACKAGE THEN THE FULL DECLARATION MUST -- APPEAR IN -- -- 6) THE PRIVATE PART ITSELF OR -- -- 7) THE DECLARATIVE PART OF THE CORRESPONDING -- PACKAGE BODY. -- AH 8/26/86 -- GMT 7/20/87 INDENTED THE DECLARATIONS FIVE SPACES, -- REMOVED EACH "--OK..." COMMENT, AND REPLACED THE -- ENUMERATION "(X)" WITH (RED,YELLOW,GREEN)". PROCEDURE B38101C IS GENERIC PACKAGE PACK1 IS TYPE T1; -- ERROR: T1 VIOLATES (1) ABOVE. PRIVATE TYPE U1; -- ERROR: U1 VIOLATES (6) AND (7) ABOVE. END PACK1; GENERIC PACKAGE PACK2 IS TYPE T2; -- ERROR: T2 VIOLATES (2) ABOVE. PRIVATE TYPE T2 IS (RED,YELLOW,GREEN); END PACK2; GENERIC PACKAGE PACK3 IS TYPE T3; -- ERROR: T3 VIOLATES (3) ABOVE. PRIVATE TYPE U3; END PACK3; PACKAGE BODY PACK1 IS END; PACKAGE BODY PACK2 IS END; PACKAGE BODY PACK3 IS TYPE T3 IS (RED,YELLOW,GREEN); TYPE U3 IS (RED,YELLOW,GREEN); TYPE T4; -- ERROR: T4 VIOLATES (5) ABOVE. TYPE U4; -- ERROR: U4 VIOLATES (5) ABOVE. PACKAGE PACK4 IS TYPE T4 IS (RED,YELLOW,GREEN); END PACK4; PROCEDURE PROC1 IS TYPE U4 IS (RED,YELLOW,GREEN); BEGIN NULL; END PROC1; END PACK3; GENERIC PACKAGE PACK5 IS TYPE T5; -- ERROR: T5 VIOLATES (4) ABOVE. PACKAGE PACK6 IS TYPE T5 IS (RED,YELLOW,GREEN); END PACK6; PRIVATE TYPE U5; PACKAGE PACK7 IS TYPE U5 IS (RED,YELLOW,GREEN); END PACK7; END PACK5; PACKAGE BODY PACK5 IS END PACK5; -- ERROR: U5 VIOLATES (6) AND (7) ABOVE. BEGIN NULL; END B38101C;