From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,330ec86e1824a689 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-08-28 09:10:04 PST Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!fr.usenet-edu.net!usenet-edu.net!enst.fr!not-for-mail From: sk Newsgroups: comp.lang.ada Subject: Re: Run-Time Type Assignment Date: Wed, 28 Aug 2002 11:06:22 -0500 Organization: ENST, France Sender: comp.lang.ada-admin@ada.eu.org Message-ID: References: <005101c24ea9$0de9c960$789a0844@robertqgx6k4x9> Reply-To: comp.lang.ada@ada.eu.org NNTP-Posting-Host: marvin.enst.fr Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Trace: avanie.enst.fr 1030551003 45455 137.194.161.2 (28 Aug 2002 16:10:03 GMT) X-Complaints-To: usenet@enst.fr NNTP-Posting-Date: Wed, 28 Aug 2002 16:10:03 +0000 (UTC) Return-Path: X-Mailer: Mozilla 4.77 [en] (X11; U; Linux 2.2.19-4.3mdk i686) X-Accept-Language: en Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org X-Mailman-Version: 2.0.12 Precedence: bulk List-Help: List-Post: List-Subscribe: , List-Id: comp.lang.ada mail<->news gateway List-Unsubscribe: , Errors-To: comp.lang.ada-admin@ada.eu.org X-BeenThere: comp.lang.ada@ada.eu.org Xref: archiver1.google.com comp.lang.ada:28509 Date: 2002-08-28T11:06:22-05:00 Hi, Without knowing exactly what you are wanting to do (the complex nesting of types would make me consider about rethinking my data modeling), try this (compiles Linux 3.14p. Also q&d so don't know how usable this is). --------------------------------------------------------- procedure xxxx is type Base_Type is abstract tagged null record; type Parm1_Type is new Natural; type Parm2_Type is new Character; type Parm3_Type is new Integer; type Level_One is new Base_Type with record Parm1 : Parm1_Type; end record; type Level_Two is new Level_One with record Parm2 : Parm2_Type; end record; type Level_Three is new Level_Two with record Parm3 : Parm3_Type; end record; type Base_Access is access all Base_Type; type Main_Type (Parms : Base_Access) is null record; begin null; end xxxx; -- ------------------------------------- -- Merge vertically for real address ------------------------------------- s n p @ t . o k i e k c c m -------------------------------------