____ | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help


8.5.1 Object Renaming Declarations

(1)
An object_renaming_declaration is used to rename an object.
Syntax
(2)
       object_renaming_declaration ::= defining_identifier : subtype_mark renames object_name;
Name Resolution Rules
(3)
The type of the object_name shall resolve to the type determined by the subtype_mark.
Legality Rules
(4)
The renamed entity shall be an object.
(5)
The renamed entity shall not be a subcomponent that depends on discriminants of a variable whose nominal subtype is unconstrained, unless this subtype is indefinite, or the variable is aliased. A slice of an array shall not be renamed if this restriction disallows renaming of the array.
Static Semantics
(6)
An object_renaming_declaration declares a new view of the renamed object whose properties are identical to those of the renamed view. Thus, the properties of the renamed object are not affected by the renaming_declaration. In particular, its value and whether or not it is a constant are unaffected; similarly, the constraints that apply to an object are not affected by renaming (any constraint implied by the subtype_mark of the object_renaming_declaration is ignored).
Examples
(7)
Example of renaming an object:
(8)
       declare
          L : Person renames Leftmost_Person; -- see 3.10.1
       begin
          L.Age := L.Age + 1;
       end;

____ | Up | Next | Back | Forward
TOC -- / --.-- / --.--.-- | Index | Search | Syntax | Help

Ada WWW Home -- Email comments, additions, corrections, gripes, kudos, etc. to:

Magnus Kempe -- Magnus.Kempe@di.epfl.ch
Copyright statement
Page last generated: 95-03-12