From: dmitry6243@my-deja.com
Subject: Common ancestor (visibility rules)
Date: 2000/03/28
Date: 2000-03-28T00:00:00+00:00 [thread overview]
Message-ID: <8bprin$a37$1@nnrp1.deja.com> (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.
next reply other threads:[~2000-03-28 0:00 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-28 0:00 dmitry6243 [this message]
2000-03-28 0:00 ` Common ancestor (visibility rules) 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
2000-03-28 0:00 ` Steve Folly
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox