Dotty Documentation

0.6.0-bin-SNAPSHOT

object Scopes
extends Object

[-] Constructors

[-] Members

[+] object EmptyScope

The empty scope (immutable).

[+] class ErrorScope

A class for error scopes (mutable)

[+] class MutableScope

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.

[+] object MutableScope

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

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.

[+] class ScopeEntry
[+] type SymbolSynthesizer = Name => Context => Symbol

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.

[+] private final val FillFactor : 0.6666666666666666

Maximal fill factor of hash table

[+] private final val MaxRecursions : 1000

The maximal permissible number of recursions when creating a hashtable

[+] final val MinHashedScopeSize : 8
[+] val selectAll : SymDenotation => Boolean
[+] val selectNonPrivate : SymDenotation => Boolean
[+] val selectPrivate : SymDenotation => Boolean
[+] def newNestedScope ( outer: Scope ) ( implicit ctx: Context ) : MutableScope

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

[+] def newScope : MutableScope

Create a new scope

[+] def newScopeWith ( elems: [ Symbol ] ) ( implicit ctx: Context ) : MutableScope

Create a new scope with given initial elements

[+] def scopeTransform ( owner: Symbol ) ( op: => MutableScope ) : MutableScope

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