- 2 ·
- A subprogram declaration, a package declaration, a task declaration, or a generic declaration, together with the corresponding body, if any. If the body is a body stub, the declarative region also includes the corresponding subunit. If the program unit has subunits, they are also included.
- 3 ·
- An entry declaration together with the corresponding accept statements.
- 4 ·
- A record type declaration, together with a corresponding private or incomplete type declaration if any, and together with a corresponding record representation clause if any.
- 5 ·
- A renaming declaration that includes a formal part, or a generic parameter declaration that includes either a formal part or a discriminant part.
- 6 ·
- A block statement or a loop statement.