!ASIS Issue #086
!topic Also consider A_Formal_Package_Declaration[_With_Box] as instantiations
!reference  ASIS 95-15
!from  Alain LeGuennec 98-01-07
!keywords generic formal package parameters instantiation box
!discussion

Note that this issue was originally submitted as part of Issue #084,
Formal package parameters seen as instantiations.  Issue #084 was
split into this issue and Issue #087, Add
generic_renaming_declarations parameters to
Corresponding_Declaration/Body.

This issue deals with A_Formal_Package_Declaration[_With_Box] being
also considered as instantiations. This implies some modifications to
Corresponding_Declaration/Body, at least.  Note that for the
application I am developping, I do not need to get the expanded
spec/body of formal packages. But I need the "reverse", i.e., if I
have occurences in the generic template of references to entities
declared in some of the "expanded" formal package parameters, I need
to determine which is the corresponding formal package.  For that
purpose, I would like to use Enclosing_Element till I reach the formal
package declaration, like I would do to go from an element that is
part of instance back to the corresponding instantiation.  That's why
I want to be sure formal packages are treated like any other
instantiations.

BTW, I forgot to mention the "With_Box" possibility in my original mail.

To clause 15.26, Asis.Declaration.Corresponding_Declaration,

   add to "Appropriate Declaration_Kinds returning a specification" and
   add to "Appropriate Declaration_Kinds returning the argument declaration":
      A_Formal_Package_Declaration
      A_Formal_Package_Declaration_With_Box

To clause 15.27, Asis.Declaration.Corresponding_Body, 

   add to "Appropriate Declaration_Kinds returning a body":
      A_Formal_Package_Declaration
      A_Formal_Package_Declaration_With_Box

!resolution  Accept
!date 98-03-26
!Notes

To clause 15.26, Asis.Declaration.Corresponding_Declaration,

   add to "Appropriate Declaration_Kinds returning a specification":

         A_Formal_Package_Declaration
         A_Formal_Package_Declaration_With_Box

To clause 15.27, Asis.Declaration.Corresponding_Body, 

   add to "Appropriate Declaration_Kinds returning a body":

         A_Formal_Package_Declaration
         A_Formal_Package_Declaration_With_Box
