Contents Index Search Previous Next
10.1.6 Environment-Level Visibility Rules
The normal visibility rules do not apply within
a parent_unit_name or a context_clause,
nor within a pragma that appears
at the place of a compilation unit. The special visibility rules for
those contexts are given here.
at the beginning
of a library_item
, and within a
, the only declarations
that are visible are those that are library_item
of the environment, and the only declarations that are directly visible
are those that are root library_item
of the environment.
Notwithstanding the rules of
, an expanded name in a with_clause
may consist of a prefix
a generic package and a selector_name
that denotes a child of that generic package. (The child is necessarily
a generic unit; see 10.1.1
that is within a context_clause
mentioned in a
of the same
is visible, and each
so mentioned is
directly visible. In addition, within such a use_clause
if a given declaration is visible or directly visible, each declaration
that occurs immediately within the given declaration's visible part is
also visible. No other declarations are visible or directly visible.
of a subunit,
s are visible as they
are in the parent_unit_name
; in addition, the declaration
corresponding to each body_stub
in the environment is also visible.
that appears at the place
of a compilation unit, the immediately preceding library_item
and each of its ancestors is visible. The ancestor root library_item
is directly visible.
Contents Index Search Previous Next Legal