Spec-Zone.ru › Ada 95
Справочник по Ada 95

8.5.1 Объявления переименования объектов

Объявление переименования объекта используется для переименования объекта.

Синтаксис

object_renaming_declaration ::= defining_identifier : subtype_mark renames object_name;

Правила разрешения имен

Тип object_name должен соответствовать типу, определённому subtype_mark.

Правила допустимости

Переименовываемый элемент должен быть объектом.
Переименовываемый элемент не должен быть подкомпонентом, зависящим от дискриминантов переменной, номинальный тип которой не ограничен, если этот тип не неопределён, или переменная не является ссылкой. Срез массива не должен быть переименован, если это ограничение не позволяет переименовать массив. Помимо мест, где обычно применяются правила допустимости, эти правила применяются также в частях сведений об экземпляре генерируемого блока. Эти правила также применяются для переименования, встречающегося в теле генерируемого блока, с дополнительным требованием, что даже если номинальный тип переменной неопределён, его тип не должен быть потомком неопределённого генерируемого формального типа, полученного из него.

Статическая семантика

Объявление переименования объекта объявляет новый вид переименованного объекта, свойства которого идентичны свойствам переименованного вида. Таким образом, свойства переименованного объекта не изменяются объявлением переименования. В частности, его значение и является ли он константой не изменяются; аналогично, ограничения, применимые к объекту, не изменяются переименованием (любое ограничение, подразумеваемое subtype_mark объявления переименования объекта, игнорируется).

Примеры

Пример переименования объекта:
declare
L : Person renames Leftmost_Person; -- см. 3.10.1
begin
L.Age := L.Age + 1;
end;


Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API