MutableScope

dotty.tools.dotc.core.Scopes$.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.

Attributes

Graph
Supertypes
class Scope
trait Showable
class Object
trait Matchable
class Any
Known subtypes

Members list

Concise view

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.

Attributes

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.

Attributes

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

enter a symbol in this scope.

enter a symbol in this scope.

Attributes

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

Attributes

override def implicitDecls(using Context): List[TermRef]

Attributes

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.

Attributes

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

Attributes

Definition Classes

Attributes

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.

Attributes

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

Attributes

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.

Attributes

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.

Attributes

Definition Classes

Use specified synthesize for this scope

Use specified synthesize for this scope

Attributes

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?

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

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

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

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.

Attributes

Inherited from:
Scope

Is the scope empty?

Is the scope empty?

Attributes

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.

Attributes

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

Lookup a symbol

Lookup a symbol

Attributes

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.

Attributes

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

The string representation of this showable element.

The string representation of this showable element.

Attributes

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

Attributes

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.

Attributes

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.

Attributes

Inherited from:
Scope

Concrete fields

The number of scopes enclosing this scope.

The number of scopes enclosing this scope.

Attributes