MutableScope

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.

class Scope
trait Showable
class Object
trait Matchable
class Any

Value members

Constructors

def this(nestingLevel: Int)

Concrete methods

override def checkConsistent()(using Context): Unit

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.

Definition Classes

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.

final def enter[T <: Symbol](sym: T)(using Context): T

enter a symbol in this scope.

enter a symbol in this scope.

final def enter[T <: Symbol](name: Name, sym: T)(using Context): T
final def enterUnique(sym: Symbol)(using Context): Unit

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

override def implicitDecls(using Context): List[TermRef]
Definition Classes
override def lookupEntry(name: Name)(using Context): ScopeEntry | Null

Lookup a symbol entry matching given name.

Lookup a symbol entry matching given name.

Definition Classes
final override def lookupNextEntry(entry: ScopeEntry)(using Context): ScopeEntry | Null

lookup next entry with same name as this one

lookup next entry with same name as this one

Definition Classes
Definition Classes
final def replace(prev: Symbol, replacement: Symbol)(using Context): Unit

Replace symbol prev (if it exists in current scope) by symbol replacement.

Replace symbol prev (if it exists in current scope) by symbol replacement.

final override def size: Int

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).

Definition Classes
final def sorted(using Context): List[Symbol]

Vanilla scope - symbols are stored in declaration order.

Vanilla scope - symbols are stored in declaration order.

final override def toList(using Context): List[Symbol]

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.

Definition Classes

Use specified synthesize for this scope

Use specified synthesize for this scope

Inherited methods

final def contains(name: Name, sym: Symbol)(using Context): Boolean

Does this scope contain a reference to sym when looking up name?

Does this scope contain a reference to sym when looking up name?

Inherited from:
Scope
final def denotsNamed(name: Name)(using Context): PreDenotation

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.

Inherited from:
Scope
protected def ensureComplete()(using Context): Unit

Ensure that all elements of this scope have been entered. Overridden by SymbolLoaders.PackageLoader#PackageScope, where it makes sure that all names with $'s have been added.

Ensure that all elements of this scope have been entered. Overridden by SymbolLoaders.PackageLoader#PackageScope, where it makes sure that all names with $'s have been added.

Inherited from:
Scope
def exists(p: Symbol => Boolean)(using Context): Boolean

Tests whether a predicate holds for at least one Symbol of this Scope.

Tests whether a predicate holds for at least one Symbol of this Scope.

Inherited from:
Scope
def fallbackToText(printer: Printer): Text

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

Inherited from:
Showable
def filter(p: Symbol => Boolean)(using Context): List[Symbol]

Selects all Symbols of this Scope which satisfy a predicate.

Selects all Symbols of this Scope which satisfy a predicate.

Inherited from:
Scope
final def filteredScope(p: Symbol => Boolean)(using Context): Scope

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.

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.

Inherited from:
Scope
def find(p: Symbol => Boolean)(using Context): Symbol

Finds the first Symbol of this Scope satisfying a predicate, if any.

Finds the first Symbol of this Scope satisfying a predicate, if any.

Inherited from:
Scope
def foreach[U](f: Symbol => U)(using Context): Unit

Applies a function f to all Symbols of this Scope.

Applies a function f to all Symbols of this Scope.

Inherited from:
Scope

Is the scope empty?

Is the scope empty?

Inherited from:
Scope

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.

Inherited from:
Scope
final def lookup(name: Name)(using Context): Symbol

Lookup a symbol

Lookup a symbol

Inherited from:
Scope
final def lookupAll(name: Name)(using Context): Iterator[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.

Inherited from:
Scope
def show(using Context): String

The string representation of this showable element.

The string representation of this showable element.

Inherited from:
Showable
def showIndented(margin: Int)(using Context): String

The string representation with each line after the first one indented by the given given margin (in spaces).

The string representation with each line after the first one indented by the given given margin (in spaces).

Inherited from:
Showable
def showSummary(depth: Int)(using Context): String

The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.

The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.

Inherited from:
Showable
final def toText(printer: Printer): Text

The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.

The text representation of this showable element. This normally dispatches to a pattern matching method in Printers.

Inherited from:
Scope

Concrete fields

The number of scopes enclosing this scope.

The number of scopes enclosing this scope.