Scopes keep track of the definitions defined within a section of source code (and also any import and use namespace directives).
It is common for a definition contained within a scope to contain another scope, so scopes and definitions form a hierarchical structure.
Scopes exist at the level of projects, files, packages, classes, interfaces, functions, catch blocks, and with blocks.
A file scope (which may contain package, class, interface, function, catch, and with scopes) is the local symbol table for resolving references in a compilation unit to definitions within that same compilation unit.
A project scope, populated with any externally visible definitions from each file scope, is the global symbol table for resolving reference in a compilation unit to definitions in other compilation units.
Each {@link IASScope} supports the following behavior:
| |