From: Georg Bauhaus <rm.tsoh+bauhaus@maps.futureapps.de>
Subject: Re: parent package referring to child
Date: Wed, 10 Oct 2007 11:07:42 +0200
Date: 2007-10-10T11:07:43+02:00 [thread overview]
Message-ID: <1192007262.7362.69.camel@kartoffel> (raw)
In-Reply-To: <1191997397.865251.322480@d55g2000hsg.googlegroups.com>
On Tue, 2007-10-09 at 23:23 -0700, eliben wrote:
> Hello,
>
> I have a package FOO that encapsulates a large part of the system. Now
> I need to add to it a public type (that should be visible by external
> code) with a lot of enumerated names (hundreds). I don't want to fill
> the spec of FOO with this huge type, so I thought it would be a good
> idea to create a subpackage: FOO.Names, and place the type there.
> However, declarations of subprograms in the spec of FOO must refer to
> the names from FOO.Names, and Ada 95 won't let me do that because it's
> parent referring to child.
You can replicate the type as a derived type in FOO and create
the Names package as a normal package:
type Twin is new Names.Huge;
Another possibility is to rearrange the package hierarchy so
that FOO can become a sibling of Names.
(Sometimes I think a folding editor is a Good Thing, once
I get used to it. The same with source navigation. :)
next prev parent reply other threads:[~2007-10-10 9:07 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2007-10-10 6:23 parent package referring to child eliben
2007-10-10 9:07 ` Georg Bauhaus [this message]
2007-10-10 9:24 ` eliben
2007-10-10 14:46 ` Adam Beneschan
2007-10-10 19:26 ` Simon Wright
2007-10-10 14:59 ` Matthew Heaney
2007-10-10 18:54 ` Vadim Godunko
2007-10-10 19:32 ` Matthew Heaney
2007-10-10 20:20 ` Adam Beneschan
2007-10-11 4:12 ` Randy Brukardt
2007-10-11 15:21 ` Adam Beneschan
2007-10-19 12:45 ` Vadim Godunko
2007-10-10 19:51 ` Matthew Heaney
2007-10-10 17:06 ` Jeffrey R. Carter
2007-10-10 19:17 ` anon
2007-10-11 9:45 ` george
2007-10-12 4:15 ` Jeffrey R. Carter
2007-10-12 9:51 ` Georg Bauhaus
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox