A subclass of Scope that defines methods for entering and unlinking entries. Note: constructor is protected to force everyone to use the factory methods newScope or newNestedScope instead. This is necessary because when run from reflection every scope needs to have a SynchronizedScope as mixin.
Constructors
Members
The size of the scope
The size of the scope
a cache for all elements, to be used by symbol iterator.
a cache for all elements, to be used by symbol iterator.
the hash table
the hash table
The last scope-entry from which all others are reachable via prev
The last scope-entry from which all others are reachable via prev
The number of outer scopes from which symbols are inherited
The number of outer scopes from which symbols are inherited
Check that all symbols in this scope are in their correct hashtable buckets.
Check that all symbols in this scope are in their correct hashtable buckets.
Clone scope, taking care not to force the denotations of any symbols in the scope.
Clone scope, taking care not to force the denotations of any symbols in the scope.
a cache for all elements, to be used by symbol iterator.
a cache for all elements, to be used by symbol iterator.
enter a symbol in this scope.
enter a symbol in this scope.
enter a symbol, asserting that no symbol with same name exists in scope
enter a symbol, asserting that no symbol with same name exists in scope
the hash table
the hash table
Lookup a symbol entry matching given name.
Lookup a symbol entry matching given name.
lookup next entry with same name as this one
lookup next entry with same name as this one
create and enter a scope entry with given name and symbol
create and enter a scope entry with given name and symbol
create and enter a scope entry
create and enter a scope entry
Replace symbol prev
(if it exists in current scope) by symbol replacement
.
Replace symbol prev
(if it exists in current scope) by symbol replacement
.
The number of symbols in this scope (including inherited ones from outer scopes).
The number of symbols in this scope (including inherited ones from outer scopes).
Vanilla scope - symbols are stored in declaration order.
Vanilla scope - symbols are stored in declaration order.
Returns all symbols as a list in the order they were entered in this scope. Does not include the elements of inherited scopes.
Returns all symbols as a list in the order they were entered in this scope. Does not include the elements of inherited scopes.
Remove entry from this scope (which is required to be present)
Remove entry from this scope (which is required to be present)
remove symbol from this scope if it is present
remove symbol from this scope if it is present