Scopes

object Scopes
class Object
trait Matchable
class Any
Scopes.type

Type members

Classlikes

object EmptyScope extends Scope

The empty scope (immutable).

The empty scope (immutable).

class MutableScope extends Scope

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.

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.

abstract class Scope extends Showable

A scope contains a set of symbols. It can be an extension of some outer scope, from which it inherits all symbols. This class does not have any methods to add symbols to a scope or to delete them. These methods are provided by subclass MutableScope.

A scope contains a set of symbols. It can be an extension of some outer scope, from which it inherits all symbols. This class does not have any methods to add symbols to a scope or to delete them. These methods are provided by subclass MutableScope.

Types

A function that optionally produces synthesized symbols with the given name in the given context. Returns NoSymbol if the no symbol should be synthesized for the given name.

A function that optionally produces synthesized symbols with the given name in the given context. Returns NoSymbol if the no symbol should be synthesized for the given name.

Value members

Concrete methods

Create a new scope nested in another one with which it shares its elements

Create a new scope nested in another one with which it shares its elements

Create a new scope

Create a new scope

def newScope(nestingLevel: Int): MutableScope

Create a new scope with given initial elements

Create a new scope with given initial elements

Transform scope of members of owner using operation op This is overridden by the reflective compiler to avoid creating new scopes for packages

Transform scope of members of owner using operation op This is overridden by the reflective compiler to avoid creating new scopes for packages

Concrete fields

inline val MinHashedScopeSize: 8

A hashtable is created once current size exceeds MinHash * FillFactor The initial hash table has twice that size (i.e 16). This value must be a power of two, so that the index of an element can be computed as element.hashCode & (hashTable.length - 1)

A hashtable is created once current size exceeds MinHash * FillFactor The initial hash table has twice that size (i.e 16). This value must be a power of two, so that the index of an element can be computed as element.hashCode & (hashTable.length - 1)