5.2.1.4 Option Private Directive

Option Private directives control the accessibility of a module (section 4.2) to other projects (section 4.1), as well as the meaning of public accessibility of Public entities (section 2.2) declared within the module.

 option-private-directive = "Option"   "Private"   "Module" 

Static Semantics:

  • If a procedural module (section 4.2) contains an <option-private-directive>, the module itself is considered a private module, and is accessible only within the enclosing project.

  • If a procedural module does not contain an <option-private-directive>, the module itself is considered a public module, and is accessible within the enclosing project and within any projects that reference the enclosing project.

  • The effect of module accessibility on the accessibility of declarations within the module is described in the definitions of specific module declaration form within section 5.2.3.