SymDenotations

class Object
trait Matchable
class Any

Type members

Classlikes

final class BaseClassSet(val classIds: Array[Int]) extends AnyVal
Companion:
object
Companion:
class
object BaseData
Companion:
class
trait BaseData extends InheritedCache

A cache for baseclasses, as a sequence in linearization order and as a set that can be queried efficiently for containment.

A cache for baseclasses, as a sequence in linearization order and as a set that can be queried efficiently for containment.

Companion:
object

A class to combine base data from parent types

A class to combine base data from parent types

The contents of a class definition during a period

The contents of a class definition during a period

Base trait for caches that keep info dependent on inherited classes

Base trait for caches that keep info dependent on inherited classes

abstract class LazyType extends UncachedGroundType with Symbol => LazyType with (TermSymbol, ClassSymbol) => LazyType

Instances of LazyType are carried by uncompleted symbols. Note: LazyTypes double up as (constant) functions from Symbol and from (TermSymbol, ClassSymbol) to LazyType. That way lazy types can be directly passed to symbol creation methods in Symbols that demand instances of these function types.

Instances of LazyType are carried by uncompleted symbols. Note: LazyTypes double up as (constant) functions from Symbol and from (TermSymbol, ClassSymbol) to LazyType. That way lazy types can be directly passed to symbol creation methods in Symbols that demand instances of these function types.

Companion:
object
object LazyType
Companion:
class
Companion:
class

A cache for sets of member names, indexed by a NameFilter

A cache for sets of member names, indexed by a NameFilter

Companion:
object
class ModuleCompleter(_moduleClass: ClassSymbol) extends LazyType

A lazy type for modules that points to the module class. Needed so that moduleClass works before completion. Completion of modules is always completion of the underlying module class, followed by copying the relevant fields to the module.

A lazy type for modules that points to the module class. Needed so that moduleClass works before completion. Completion of modules is always completion of the underlying module class, followed by copying the relevant fields to the module.

object NoCompleter extends NoCompleter
Companion:
class
trait NoCompleter extends LazyType

A missing completer

A missing completer

Companion:
object

The denotation of a package class. It overrides ClassDenotation to take account of package objects when looking for members

The denotation of a package class. It overrides ClassDenotation to take account of package objects when looking for members

class StubInfo() extends LazyType

A completer for missing references

A completer for missing references

A sym-denotation represents the contents of a definition during a period.

A sym-denotation represents the contents of a definition during a period.

A subtrait of LazyTypes where completerTypeParams yields a List[TypeSymbol], which should be completed independently of the info.

A subtrait of LazyTypes where completerTypeParams yields a List[TypeSymbol], which should be completed independently of the info.

Value members

Concrete methods

def SymDenotation(symbol: Symbol, owner: Symbol, name: Name, initFlags: FlagSet, initInfo: Type, initPrivateWithin: Symbol)(using Context): SymDenotation

Factory method for SymDenotion creation. All creations should be done via this method.

Factory method for SymDenotion creation. All creations should be done via this method.

Possibly accept stale symbol with warning if in IDE

Possibly accept stale symbol with warning if in IDE

def canBeLocal(name: Name, flags: FlagSet)(using Context): Boolean

Can a private symbol with given name and flags be inferred to be local, if all references to such symbols are via this? This holds for all symbols except

Can a private symbol with given name and flags be inferred to be local, if all references to such symbols are via this? This holds for all symbols except

  • constructors, since they can never be referred to as members of their own, fully elaborated this.
  • parameters and parameter accessors, since their Local status is already determined by whether they have a val or var or not.
def staleOK(using Context): Boolean

Configurable: Accept stale symbol with warning if in IDE Always accept stale symbols when testing pickling.

Configurable: Accept stale symbol with warning if in IDE Always accept stale symbols when testing pickling.

Explain why symbol is invalid; used for debugging only

Explain why symbol is invalid; used for debugging only