Annotated Ada Reference ManualLegal Information
Table of Contents   Index   References   Search   Previous   Next 

 8.5.3 Package Renaming Declarations

1
[A package_renaming_declaration is used to rename a package.] 

Syntax

2
package_renaming_declaration ::= package defining_program_unit_name renames package_name;

Legality Rules

3
The renamed entity shall be a package.
3.1/2
  {AI95-00217-06} {AI95-00412-01} If the package_name of a package_renaming_declaration denotes a limited view of a package P, then a name that denotes the package_renaming_declaration shall occur only within the immediate scope of the renaming or the scope of a with_clause that mentions the package P or, if P is a nested package, the innermost library package enclosing P. 
3.a.1/2
Discussion: The use of a renaming that designates a limited view is restricted to locations where we know whether the view is limited or nonlimited (based on a with_clause). We don't want to make an implicit limited view, as those are not transitive like a regular view. Implementations should be able to see all limited views needed based on the context_clause.

Static Semantics

4
A package_renaming_declaration declares a new view [of the renamed package].
4.1/2
  {AI95-00412-01} [At places where the declaration of the limited view of the renamed package is visible, a name that denotes the package_renaming_declaration denotes a limited view of the package (see 10.1.1).]
4.a.1/2
Proof: This rule is found in 8.3, “Visibility”.

Examples

5
Example of renaming a package: 
6
package TM renames Table_Manager;

Wording Changes from Ada 95

6.a/2
{AI95-00217-06} {AI95-00412-01} Uses of renamed limited views of packages can only be used within the scope of a with_clause for the renamed package.

Table of Contents   Index   References   Search   Previous   Next 
Ada-Europe Sponsored by Ada-Europe