comp.lang.ada
 help / color / mirror / Atom feed
From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Private Children
Date: 1999/06/21
Date: 1999-06-21T00:00:00+00:00	[thread overview]
Message-ID: <m3yahd4bet.fsf@mheaney.ni.net> (raw)
In-Reply-To: 376E70A5.F77E558D@averstar.com

On 21 Jun 1999 17:04, Tucker Taft <stt@averstar.com> wrote:

> To answer the question posed by this new question, the answer
> given by Dale was correct, that private children provide "compilation
> privacy."  If you want to allow something to be "with"ed by public
> children's specs, but contain content that is only visible to
> the private part of the child's spec, the following idiom works:
> 
>    package Mostly_Private is
>    private
>        ... -- Declarations visible only in private part of other public
>        ...  -- siblings
>    end Mostly_Private;
> 
> That is, put the entire set of declarations in the private part
> of a public child.

I did what I think you wanted me to do, but got this error message:

gcc -c -gnatc /home/matt/p-c2.ads
p-c2.ads:9:23: "I1" is not a visible entity of "C1"


Is this a compiler bug, or did I misunderstand what you said?

Can a package really see the private part of its sibling?  I thought
that only your own children could see your private part.

Or did you mean for me to put I1 in the private part of P, not P.C1?


--STX
package P is

   pragma Pure;

end P;


package P.C1 is
private

  I1 : Integer;

end P.C1;


with P.C1;
package P.C2 is

  I2 : Integer;

private

  I3 : Integer := P.C1.I1;

end P.C2;




  reply	other threads:[~1999-06-21  0:00 UTC|newest]

Thread overview: 22+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1999-06-20  0:00 Private Children Matthew Heaney
1999-06-21  0:00 ` Dale Stanbrough
1999-06-21  0:00 ` Ted Dennison
1999-06-21  0:00   ` Tucker Taft
1999-06-21  0:00     ` Matthew Heaney [this message]
1999-06-21  0:00       ` Tucker Taft
1999-06-22  0:00         ` Richard D Riehle
1999-06-22  0:00           ` Dale Stanbrough
1999-06-22  0:00             ` Matthew Heaney
1999-06-23  0:00               ` Dale Stanbrough
1999-06-23  0:00                 ` Matthew Heaney
1999-06-23  0:00                   ` Dale Stanbrough
1999-06-23  0:00                     ` Richard D Riehle
1999-06-23  0:00                       ` Vladimir Olensky
1999-06-23  0:00                         ` Richard D Riehle
1999-06-24  0:00                           ` Hyman Rosen
1999-06-24  0:00                             ` Richard D Riehle
1999-06-23  0:00                       ` John Duncan
1999-06-24  0:00                       ` Dale Stanbrough
1999-06-22  0:00             ` Richard D Riehle
1999-06-21  0:00     ` Matthew Heaney
1999-06-25  0:00   ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox