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,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: 103376,23e3ddd47450e30c X-Google-Attributes: gid103376,public From: bdl@mda.ca (Bruce Link) Subject: Re: Ada 95 visibility question Date: 1997/09/25 Message-ID: <60ear5$7hu$1@beauty.mda.ca>#1/1 X-Deja-AN: 275556283 References: <342A7989.219C@catalina-inter.net> Organization: Macdonald Dettwiler & Associates Newsgroups: comp.lang.ada Date: 1997-09-25T00:00:00+00:00 List-Id: Chris Sparks (Mr. Ada) (mrada@CATALINA-INTER.NET) wrote: : Robert A Duff wrote: : : > >package body c.f is : > > procedure p(x:in out file_dialog) is : > > y:integer; : > > begin : > > y:=root(x).peek_a_boo; : > > y:=x.peek_a_boo; 1/3 of compilers tested complained : > : > This is illegal. Dialog has a peek_a_boo component implicitly declared : > in the private part of c.d. There is no place within the immediate : > scope of file_dialog where this private part is visible, so file_dialog : > doesn't declare peek_a_boo. (It's still there at run time, but you can : > only get at it by doing a type conversion, as shown above.) : : Wouldn't peek_a_boo be visible since the types are part of the "c" (no : pun : intended) hierarchy? : : Chris Sparks Robert Duff cites 7.3.1 (no paragraph), but this does not seem to apply in the way he intends it. 7.1(7) says an entity declared in the private part of a package is visible only within the declarative region of the package itself (including any child units). I would say that the construct is legal (after much chasing around in section 8.1, 7.2, and 10.1.1). Without the legalities, I understood, as Chris, that the contents of the private part of a package were visible in the specs of private children, and the private sections and bodies of all children. -- ---------------------------------------------------------------------------- Bruce Link |Team OS/2 bdl@mda.ca |Team Ada