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.
The denotation set of all the symbols with given name in this scope
Symbols occur in the result in reverse order relative to their occurrence
in this.toList
.
The denotation set of all the symbols with given name in this scope
Symbols occur in the result in reverse order relative to their occurrence
in this.toList
.
enter a symbol in this scope.
enter a symbol, asserting that no symbol with same name exists in scope
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
The scope that keeps only those symbols from this scope that match the given predicates.
The scope that keeps only those symbols from this scope that match the given predicates. If all symbols match, returns the scope itself, otherwise a copy with the matching symbols.
Is the scope empty?
Is the scope empty?
Return all symbols as an iterator in the order they were entered in this scope.
Return all symbols as an iterator in the order they were entered in this scope.
Lookup a symbol
Lookup a symbol
Returns an iterator yielding every symbol with given name in this scope.
Returns an iterator yielding every symbol with given name in this scope.
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
The number of outer scopes from which symbols are inherited
The number of outer scopes from which symbols are inherited
create and enter a scope entry
create and enter a scope entry
create and enter a scope entry with given name and symbol
create and enter a scope entry with given name and symbol
Replace symbol prev
(if it exists in current scope) by symbol replacement
.
(Changed in version 2.9.0) The behavior of scanRight
has changed. The previous behavior can be reproduced with scanRight.reverse.
The string representation of this showable element.
The string representation of this showable element.
The summarized string representation of this showable element.
The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.
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.
Returns all symbols as a list in the order they were entered in this scope.
Returns all symbols as a list in the order they were entered in this scope. Does _not_ include the elements of inherited scopes.
The text representation of this showable element.
(Changed in version 2.9.0) transpose
throws an IllegalArgumentException
if collections are not uniformly sized.
remove symbol from this scope if it is present
Remove entry from this scope (which is required to be present)
Throws an UnsupportedOperationException
with the given method name.
Throws an UnsupportedOperationException
with the given method name.
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.