Go to the first, previous, next, last section, table of contents.


10.1.2 Context Clauses - With Clauses

  1. A context_clause is used to specify the library_items whose names are needed within a compilation unit.

    Syntax

  2. context_clause ::= {context_item}
    
  3. context_item ::= with_clause | use_clause
    
  4. with_clause ::= with library_unit_name {, library_unit_name};
    

    Name Resolution Rules

  5. The scope of a with_clause that appears on a library_unit_declaration or library_unit_renaming_declaration consists of the entire declarative region of the declaration, which includes all children and subunits. The scope of a with_clause that appears on a body consists of the body, which includes all subunits.
  6. A library_item is mentioned in a with_clause if it is denoted by a library_unit_name or a prefix in the with_clause.
  7. Outside its own declarative region, the declaration or renaming of a library unit can be visible only within the scope of a with_clause that mentions it. The visibility of the declaration or renaming of a library unit otherwise follows from its placement in the environment.

    Legality Rules

  8. If a with_clause of a given compilation_unit mentions a private child of some library unit, then the given compilation_unit shall be either the declaration of a private descendant of that library unit or the body or subunit of a (public or private) descendant of that library unit.

    NOTES

  9. (3) A library_item mentioned in a with_clause of a compilation unit is visible within the compilation unit and hence acts just like an ordinary declaration. Thus, within a compilation unit that mentions its declaration, the name of a library package can be given in use_clauses and can be used to form expanded names, a library subprogram can be called, and instances of a generic library unit can be declared. If a child of a parent generic package is mentioned in a with_clause, then the corresponding declaration nested within each visible instance is visible within the compilation unit.


Go to the first, previous, next, last section, table of contents.