comp.lang.ada
 help / color / mirror / Atom feed
* Common ancestor (visibility rules)
@ 2000-03-28  0:00 dmitry6243
  2000-03-28  0:00 ` Steve Folly
  2000-03-28  0:00 ` Robert Dewar
  0 siblings, 2 replies; 12+ messages in thread
From: dmitry6243 @ 2000-03-28  0:00 UTC (permalink / raw)


Hello!

Perhaps I've missed something, but it seems that compilation units
(except for library ones) do not have common ancestor. Here is a simple
example to highlight the problem:
------------------- a.ads
package A is
   procedure Foo;
end A;
------------------- b.ads
package B is
   procedure A;
end B;
------------------- b.adb
package body B is
   procedure A is separate;
end B;
------------------- b-a.adb
with A;
separate (B)
procedure A is
begin
   A.Foo; -- Error!
end A;

Now there is no way to use A.Foo in B.A, because B.A hides A. The
problem could be easily solved if all compilation unit had have a common
ancestor package, say "Root". Then package A could be specified as
Root.A and A's Foo as Root.A.Foo. Interesting is that C++ has this
feature.

Regards,
Dmitry Kazakov


Sent via Deja.com http://www.deja.com/
Before you buy.




^ permalink raw reply	[flat|nested] 12+ messages in thread

end of thread, other threads:[~2000-04-01  0:00 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2000-03-28  0:00 Common ancestor (visibility rules) dmitry6243
2000-03-28  0:00 ` Steve Folly
2000-03-28  0:00 ` Robert Dewar
2000-03-29  0:00   ` dmitry6243
2000-03-29  0:00     ` Robert Dewar
2000-03-29  0:00       ` dmitry6243
2000-03-30  0:00         ` Robert Dewar
2000-03-30  0:00           ` dmitry6243
2000-03-30  0:00             ` Tucker Taft
2000-03-31  0:00               ` dmitry6243
2000-04-01  0:00               ` Robert Dewar
2000-04-01  0:00               ` Robert Dewar

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