SymDenotations

dotty.tools.dotc.core.SymDenotations

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type

Members list

Type members

Classlikes

final class BaseClassSet(val classIds: Array[Int]) extends AnyVal

Attributes

Companion
object
Supertypes
class AnyVal
trait Matchable
class Any
object BaseClassSet

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
object BaseData

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
BaseData.type
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.

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any

A class to combine base data from parent types

A class to combine base data from parent types

Attributes

Supertypes
class Object
trait Matchable
class Any

The contents of a class definition during a period

The contents of a class definition during a period

Attributes

Supertypes
class Denotation
trait Showable
class Object
trait Matchable
class Any
Show all
Known subtypes

Base trait for caches that keep info dependent on inherited classes

Base trait for caches that keep info dependent on inherited classes

Attributes

Supertypes
class Object
trait Matchable
class Any
Known subtypes
trait BaseData
trait MemberNames

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.

Attributes

Companion
object
Supertypes
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Known subtypes
Self type
object LazyType

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
LazyType.type
object MemberNames

Attributes

Companion
trait
Supertypes
class Object
trait Matchable
class Any
Self type
trait MemberNames extends InheritedCache

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

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

Attributes

Companion
object
Supertypes
class Object
trait Matchable
class Any
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.

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
object NoCompleter extends NoCompleter

Attributes

Companion
trait
Supertypes
trait NoCompleter
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Self type
trait NoCompleter extends LazyType

A missing completer

A missing completer

Attributes

Companion
object
Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Known subtypes
class NoLoader
object NoCompleter
object NoDenotation extends SymDenotation

Attributes

Supertypes
class Denotation
trait Showable
class Object
trait Matchable
class Any
Show all
Self type

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

Attributes

Supertypes
class Denotation
trait Showable
class Object
trait Matchable
class Any
Show all
class StubInfo() extends LazyType

A completer for missing references

A completer for missing references

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all

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

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

Attributes

Supertypes
class Denotation
trait Showable
class Object
trait Matchable
class Any
Show all
Known subtypes

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.

Attributes

Supertypes
class LazyType
trait Symbol => LazyType
class Type
trait Showable
trait Hashable
class Object
trait Matchable
class Any
Show all
Known subtypes

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.

Attributes

Possibly accept stale symbol with warning if in IDE

Possibly accept stale symbol with warning if in IDE

Attributes

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.

Attributes

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.

Attributes

def stillValid(denot: SymDenotation)(using Context): Boolean
def traceInvalid(denot: Denotation)(using Context): Boolean

Explain why symbol is invalid; used for debugging only

Explain why symbol is invalid; used for debugging only

Attributes