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.9 required=5.0 tests=BAYES_00,FREEMAIL_FROM autolearn=ham autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,447840d42a580dc0 X-Google-Attributes: gid103376,public X-Google-ArrivalTime: 2002-03-28 01:51:50 PST Path: archiver1.google.com!postnews1.google.com!not-for-mail From: okellogg@freenet.de (Oliver Kellogg) Newsgroups: comp.lang.ada Subject: Re: child packages and nested packages Date: 28 Mar 2002 01:51:50 -0800 Organization: http://groups.google.com/ Message-ID: <6a6390b8.0203280151.6681fd8f@posting.google.com> References: <6a6390b8.0203230702.14c071c1@posting.google.com> NNTP-Posting-Host: 195.243.118.226 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: posting.google.com 1017309110 28556 127.0.0.1 (28 Mar 2002 09:51:50 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: 28 Mar 2002 09:51:50 GMT Xref: archiver1.google.com comp.lang.ada:21751 Date: 2002-03-28T09:51:50+00:00 List-Id: Some background: The CORBA IDL to Ada mapping prescribes that nested IDL modules, interfaces, and valuetypes be mapped to child packages. This mapping is fundamentally flawed. Example: // IDL module A { interface B { typedef short type_in_b; void my_method (); }; typedef B::type_in_b type_in_a; }; Since the interface B is mapped to a child package A.B, it is not possible to map type_in_a to Ada. The solution is to map nested IDL units to nested Ada packages. However, IDL interfaces and valuetypes require implementations. For example, the IDL to Ada mapping prescribes that the implementation of interface A::B be done in a child package of A.B named A.B.Impl. It would certainly be the preferable to maintain this mapping, but that's not possible with Ada right now. -- Oliver Kellogg