comp.lang.ada
 help / color / mirror / Atom feed
From: ncohen@watson.ibm.com (Norman H. Cohen)
Subject: Re: Subprogram Renaming
Date: 1996/04/15
Date: 1996-04-15T00:00:00+00:00	[thread overview]
Message-ID: <4ktjud$qnf@watnews1.watson.ibm.com> (raw)
In-Reply-To: DprxrI.Dp3@world.std.com

In article <DprxrI.Dp3@world.std.com>, bobduff@world.std.com
(Robert A Duff) writes: 

|> Why not just: 
|>
|>       procedure Remove_All (Stack: in out Stack_Type)
|>          renames Inner.Remove_All;
|>
|> ?

That won't work.  Inner.Remove_All has a Stack_Parent_Type parameter, not
a Stack_Type parameter.  The derived-type declaration for Stack_Type
itself must be in the outer declarative region, where the private type
declaration is.  Thus the subprogram being renamed is not the one
declared in the inner package, but the one derived from that in the outer
package.

    package Integer_Stacks is
       type Stack_Type is private;
       ...

       procedure Remove_All (Stack: in out Stack_Type);

    private

       package Inner is
          type Stack_Parent_Type is new Integer_Dequeues.Dequeue_Type;
          procedure Parent_Remove_All
             (Stack: Stack_Parent_Type) renames Remove_All;
             ...
       end Inner;

       type Stack_Type is new Inner.Stack_Parent_Type;

       procedure Remove_All (Stack: in out Stack_Type)
          renames Parent_Remove_All;
          -- Inherited from Inner.Remove_All

    end Integer_Stacks;

--
Norman H. Cohen    ncohen@watson.ibm.com




  reply	other threads:[~1996-04-15  0:00 UTC|newest]

Thread overview: 30+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <md5:FE4AB546A8392541EDC1E3FE12E3D8AF>
1996-04-09  0:00 ` Subprogram Renaming James A. Squire
1996-04-09  0:00   ` Robert Dewar
1996-04-10  0:00   ` Robert A Duff
1996-04-11  0:00   ` Mark A Biggar
1996-04-10  0:00 ` johndoe
1996-04-10  0:00   ` Norman H. Cohen
1996-04-11  0:00     ` Norman H. Cohen
1996-04-12  0:00       ` Jonas Nygren
1996-04-12  0:00         ` Norman H. Cohen
1996-04-13  0:00           ` Robert A Duff
1996-04-15  0:00             ` Norman H. Cohen [this message]
     [not found] <md5:3CC2294B6049DDBD8790280EABCEDE81>
1996-04-12  0:00 ` James A. Squire
     [not found] <md5:95D854EBD1A47E0E86027A3CC7DBD9A4>
1996-04-10  0:00 ` James A. Squire
1996-04-10  0:00   ` Robert Dewar
1996-04-11  0:00     ` Jonas Nygren
1996-04-11  0:00       ` Robert Dewar
1996-04-12  0:00         ` Jonas Nygren
1996-04-10  0:00   ` Robert A Duff
1996-04-11  0:00     ` Adam Beneschan
1996-04-11  0:00       ` Robert A Duff
1996-04-11  0:00       ` Robert Dewar
1996-04-10  0:00 ` johndoe
     [not found] <md5:87494FB95037B9578F62831DE10B6BB3>
1996-04-10  0:00 ` James A. Squire
     [not found] <md5:88A5E8822105A2023A0A951BB5EC646E>
1996-04-10  0:00 ` James A. Squire
     [not found] <md5:046A59600C3FEFC327385C3E914D6997>
1996-04-08  0:00 ` James A. Squire
1996-04-08  0:00   ` Robert Dewar
1996-04-09  0:00     ` Gary McKee
1996-04-09  0:00   ` Robert A Duff
     [not found] <md5:C24D8C2EE138D9627FB8B93E2E35D9F3>
1996-04-05  0:00 ` James A. Squire
1996-04-06  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