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

10.1.6 Правила видимости на уровне окружения

Обычные правила видимости не применяются внутри parent_unit_name или context_clause, а также внутри pragma, который находится на месте модуля компиляции. Специальные правила видимости для этих контекстов приведены здесь.

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

Внутри parent_unit_name в начале явного library_item и внутри nonlimited_with_clause видимыми являются только явные library_item окружения, а непосредственно видимыми – только явные корневые library_item окружения. Внутри limited_with_clause видимыми являются только неявные объявления ограниченного представления библиотечной пакета окружения, а непосредственно видимыми – только неявные объявления ограниченного представления корневого библиотечного пакета.
Внутри use_clause или pragma, которые находятся внутри context_clause, видимыми являются все library_item, упомянутые в предыдущем with_clause того же context_clause, а непосредственно видимыми – все корневые library_item, упомянутые в нём. Кроме того, внутри такого use_clause, если какой-либо объявление является видимым или непосредственно видимым, то видимыми являются также все объявления, которые находятся непосредственно внутри видимой части данного объявления. Другие объявления не видимы и не непосредственно видимы.
Внутри parent_unit_name подмодуля library_item являются видимыми так же, как и в parent_unit_name library_item; кроме того, видимым также является объявление, соответствующее каждому body_stub в окружении.
Внутри pragma, который находится на месте модуля компиляции, видимым является непосредственно предшествующий library_item и каждый его предок. Корневой предок library_item является непосредственно видимым.
Несмотря на правила 4.1.3, расширенное имя в with_clause, pragma в context_clause или pragma на месте модуля компиляции может состоять из prefix, который обозначает обобщённую пакета, и selector_name, который обозначает потомка этой обобщённой пакета. (Потомок обязательно является обобщённым модулем; см. 10.1.1.)


Spec-Zone.ru

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