Contents Index Search Previous Next
8.5 Renaming Declarations
1
A renaming_declaration
declares another name for an entity, such as an object, exception, package,
subprogram, entry, or generic unit. Alternatively, a subprogram_renaming_declaration
can be the completion of a previous subprogram_declaration.
Syntax
2
renaming_declaration
::=
object_renaming_declaration
|
exception_renaming_declaration
|
package_renaming_declaration
|
subprogram_renaming_declaration
|
generic_renaming_declaration
Dynamic Semantics
3
The elaboration of a
renaming_declaration
evaluates the
name that follows
the reserved word
renames and thereby determines the view and
entity denoted by this name
(the
renamed view and
renamed entity). A
name
that denotes the
renaming_declaration
denotes (a new view of) the renamed entity.
4
8 Renaming may be used
to resolve name conflicts and to act as a shorthand. Renaming with a
different identifier or operator_symbol
does not hide the old name; the
new name and the old name
need not be visible at the same places.
5
9 A task or protected object
that is declared by an explicit object_declaration
can be renamed as an object. However, a single task or protected object
cannot be renamed since the corresponding type is anonymous (meaning
it has no nameable subtypes). For similar reasons, an object of an anonymous
array or access type cannot be renamed.
6
10 A
subtype defined without any additional constraint can be used to achieve
the effect of renaming another subtype (including a task or protected
subtype) as in
7
subtype Mode is Ada.Text_IO.File_Mode;
Contents Index Search Previous Next Legal