From: stt@henning.camb.inmet.com (Tucker Taft)
Subject: Re: Visibility of package within package
Date: 1996/08/02
Date: 1996-08-02T00:00:00+00:00 [thread overview]
Message-ID: <DvIC1s.5EJ.0.-s@inmet.camb.inmet.com> (raw)
In-Reply-To: 32009A4C.147C@comm.hq.af.mil
Erik Masella (emasella@mtl.marconi.ca) wrote:
> Could anybody explain to me why the following will not work:
>
> with Generic_Pkg;
> package A_Pkg is
> package B_Pkg is new Generic_Pkg(...);
> ..
> end A_Pkg;
>
> --------------------------------
>
> with A_Pkg;
> package body C_Pkg is
> procedure Init is
> begin
> A_Pkg.B_Pkg.Do_Something(...);
> end Init;
> end C_Pkg;
>
> ==> Why isn't B_Pkg visible within C_Pkg? From what I understand,
> "Software Engineering with Ada" from Booch (2nd ed.) says at p.383 that
> this is possible (but he did not use generics).
>
> I'd greatly appreciate some insight into this.
Tucker Taft wrote:
> Your code looks OK, but it is hard to be sure without a complete
> example, since we don't know what is inside "Generic_Pkg". When
> you have mysteries like this, it is most useful to include an
> actual listing with error messages from the compiler. Surprisingly
> often, there is some other problem than the one you first suspect.
>
> In any case, it is possible that the compiler has a bug, but your
> example is so simple and straightforward that it seems more likely
> that something else is wrong.
Chad Bremmon (chad.bremmon@comm.hq.af.mil) wrote:
> Don't you still have to with in "With A_Pkg.BPkg;" inside of your C_Pkg ?
No. B_Pkg is not a separate library unit. You only need to mention
library units in "with" clauses. B_Pkg is physically nested inside
A_Pkg, so it is a mystery why the above doesn't compile. Again, a
complete example, with compiler messages, is the only way to figure it out.
> Chad
: > : Erik Masella
: > : emasella@mtl.marconi.ca
-Tucker Taft stt@inmet.com http://www.inmet.com/~stt/
Intermetrics, Inc. Cambridge, MA USA
next prev parent reply other threads:[~1996-08-02 0:00 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
1996-07-31 0:00 Visibility of package within package Erik Masella
1996-08-01 0:00 ` Tucker Taft
1996-08-01 0:00 ` Chad Bremmon
1996-08-01 0:00 ` Robert A Duff
1996-08-02 0:00 ` Tucker Taft [this message]
-- strict thread matches above, loose matches on Subject: below --
1996-08-02 0:00 Erik Masella
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox