{@link IASScope} represents a scope found within ActionScript.Together with {@link IDefinition}, it is the basis of the compiler's symbol table.
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:
- Getting the containing scope.
- Getting the scoped definition that produced the scope.
- Getting the scoped node that produced the scope.
- Getting the definitions in the scope that have a specified base name.
- Getting all the base names of the definitions in the scope.
- Getting all the sets of definitions in the scope that have a common base name.
- Getting all the definitions in the scope.