class SymDenotation
extends SingleDenotation

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

Constructors

SymDenotation ( symbol: Symbol , ownerIfExists: Symbol , name: Name , initFlags: FlagSet , initInfo: Type , initPrivateWithin: Symbol )
SymDenotation ( self: Symbol )

Members

private val initFlags : FlagSet
private val initInfo : Type
private val initPrivateWithin : Symbol
private var myAnnotations : List [ Annotation ]
private var myFlags : FlagSet
private var myInfo : Type
private var myPrivateWithin : Symbol
final val name : Name
private val ownerIfExists : Symbol
private val symbol : Symbol
[+] final def accessBoundary ( base: Symbol ) ( implicit ctx: Context ) : Symbol

The class or term symbol up to which this symbol is accessible, or RootClass if it is public. As java protected statics are otherwise completely inacce...

The class or term symbol up to which this symbol is accessible, or RootClass if it is public. As java protected statics are otherwise completely inaccessible in scala, they are treated as public.

def accessedFieldOrGetter ( implicit ctx: Context ) : Symbol

The field accessed by this getter or setter, or if it does not exist, the getter

The field accessed by this getter or setter, or if it does not exist, the getter

def accessorNamed ( name: TermName ) ( implicit ctx: Context ) : Symbol
private def adaptFlags ( flags: FlagSet ) : R

Adapt flag set to this denotation's term or type nature

Adapt flag set to this denotation's term or type nature

final def addAnnotation ( annot: Annotation ) : Unit

Add given annotation to the annotations of this denotation

Add given annotation to the annotations of this denotation

final def addAnnotations ( annots: TraversableOnce [ Annotation ] ) ( implicit ctx: Context ) : Unit

Add all given annotations to this symbol

Add all given annotations to this symbol

final def allOverriddenSymbols ( implicit ctx: Context ) : Iterator [ Symbol ]

All symbols overriden by this denotation.

All symbols overriden by this denotation.

final def annotations ( implicit ctx: Context ) : List [ Annotation ]

The annotations of this denotation

The annotations of this denotation

def annotationsCarrying ( meta: ClassSymbol ) ( implicit ctx: Context ) : List [ Annotation ]
final def annotations_= ( annots: List [ Annotation ] ) : Unit

Update the annotations of this denotation

Update the annotations of this denotation

final def asClass : ClassDenotation

Cast to class denotation

Cast to class denotation

def assertNoSkolems ( tp: Type ) : Unit
final def canMatchInheritedSymbols ( implicit ctx: Context ) : Boolean

If false, this symbol cannot possibly participate in an override, either as overrider or overridee.

If false, this symbol cannot possibly participate in an override, either as overrider or overridee.

def caseAccessors ( implicit ctx: Context ) : List [ A ]
[+] final def companionClass ( implicit ctx: Context ) : Symbol

The class with the same (type-) name as this module or module class, and which is also defined in the same scope and compilation unit. NoSymbol if this...

The class with the same (type-) name as this module or module class, and which is also defined in the same scope and compilation unit. NoSymbol if this class does not exist.

[+] final def companionModule ( implicit ctx: Context ) : Symbol

The module object with the same (term-) name as this class or module class, and which is also defined in the same scope and compilation unit. NoSymbol i...

The module object with the same (term-) name as this class or module class, and which is also defined in the same scope and compilation unit. NoSymbol if this module does not exist.

[+] private def companionNamed ( name: TypeName ) ( implicit ctx: Context ) : Symbol

Find companion class symbol with given name, or NoSymbol if none exists. Three alternative strategies: 1. If owner is a class, look in its members, othe...

Find companion class symbol with given name, or NoSymbol if none exists. Three alternative strategies: 1. If owner is a class, look in its members, otherwise 2. If current compilation unit has a typed tree, determine the defining statement sequence and search its trees, otherwise 3. If context has an enclosing scope which defines this symbol, lookup its companion in the same scope.

private def completeFrom ( completer: LazyType ) ( implicit ctx: Context ) : Unit
final def completer : LazyType

The completer of this denotation. @pre: Denotation is not yet completed

The completer of this denotation. @pre: Denotation is not yet completed

final def copySymDenotation ( symbol: Symbol , owner: Symbol , name: Name , initFlags: FlagSet , info: Type , privateWithin: Symbol , annotations: List [ Annotation ] ) ( implicit ctx: Context ) : SymDenotation

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$1 : Symbol

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$2 : Symbol

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$3 : Name

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$4 : R

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$5 : Null

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$6 : Null

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

def copySymDenotation$default$7 : Null

Copy this denotation, overriding selective fields

Copy this denotation, overriding selective fields

[+] final def currentPackageDecls ( implicit ctx: Context ) : MutableScope

If this is a package class, the symbols entered in it before it is completed. (this is needed to eagerly enter synthetic aliases such as AnyRef into a p...

If this is a package class, the symbols entered in it before it is completed. (this is needed to eagerly enter synthetic aliases such as AnyRef into a package class without forcing it. Right now, the only usage is for the AnyRef alias in Definitions.

def debugString : String
def derivesFrom ( base: Symbol ) ( implicit ctx: Context ) : Boolean

Is this a subclass of base, and is the denoting symbol also different from Null or Nothing?

Is this a subclass of base, and is the denoting symbol also different from Null or Nothing?

def directlyInheritedTraits ( implicit ctx: Context ) : List [ ClassSymbol ]

All traits implemented by a class or trait except for those inherited through the superclass.

All traits implemented by a class or trait except for those inherited through the superclass.

@tailrec private def dropOtherAnnotations ( anns: List [ Annotation ] , cls: Symbol ) ( implicit ctx: Context ) : List [ Annotation ]
[+] def effectiveName ( implicit ctx: Context ) : Name

The name, except - if this is a module class, strip the module class suffix - if this is a companion object with a clash-avoiding name, strip the "avoid...

The name, except - if this is a module class, strip the module class suffix - if this is a companion object with a clash-avoiding name, strip the "avoid clash" suffix

final def effectiveOwner ( implicit ctx: Context ) : Symbol

The owner, skipping package objects, labels and non-lazy valdefs.

The owner, skipping package objects, labels and non-lazy valdefs.

[+] final def enclosingClass ( implicit ctx: Context ) : Symbol

The class containing this denotation. If this denotation is already a class, return itself Definitions flagged with InSuperCall are treated specially. Th...

The class containing this denotation. If this denotation is already a class, return itself Definitions flagged with InSuperCall are treated specially. Their enclosing class is not the lexically enclosing class, but in turn the enclosing class of the latter. This reflects the context created by Context#superCallContext, Context#thisCallArgContext for these definitions.

Note, that as packages have ClassSymbols, top level classes will have an enclosingClass with Package flag set.

final def enclosingClassNamed ( name: Name ) ( implicit ctx: Context ) : Symbol

The class containing this denotation which has the given effective name.

The class containing this denotation which has the given effective name.

final def enclosingMethod ( implicit ctx: Context ) : Symbol

The closest enclosing method containing this definition. A local dummy owner is mapped to the primary constructor of the class.

The closest enclosing method containing this definition. A local dummy owner is mapped to the primary constructor of the class.

@tailrec def enclosingMethodOrClass ( implicit ctx: Context ) : Symbol

The closest enclosing method or class of this symbol

The closest enclosing method or class of this symbol

final def enclosingPackageClass ( implicit ctx: Context ) : Symbol

The package class containing this denotation

The package class containing this denotation

final def enclosingSubClass ( implicit ctx: Context ) : Symbol

The class that encloses the owner of the current context and that is a subclass of this class. NoSymbol if no such class exists.

The class that encloses the owner of the current context and that is a subclass of this class. NoSymbol if no such class exists.

def enclosure ( implicit ctx: Context ) : Symbol

The closest properly enclosing method or class of this symbol.

The closest properly enclosing method or class of this symbol.

final def ensureCompleted ( ) ( implicit ctx: Context ) : Unit

Make sure this denotation is completed

Make sure this denotation is completed

def ensureNotPrivate ( implicit ctx: Context ) : SymDenotation

If denotation is private, remove the Private flag and expand the name if necessary

If denotation is private, remove the Private flag and expand the name if necessary

final def expandedName ( implicit ctx: Context ) : Name

The expanded name of this denotation.

The expanded name of this denotation.

final def extendedOverriddenSymbols ( implicit ctx: Context ) : Iterator [ Symbol ]

Returns all matching symbols defined in parents of the selftype.

Returns all matching symbols defined in parents of the selftype.

def field ( implicit ctx: Context ) : Symbol
final def filterAnnotations ( p: Annotation => Boolean ) ( implicit ctx: Context ) : Unit

Keep only those annotations that satisfy p

Keep only those annotations that satisfy p

final def flags ( implicit ctx: Context ) : FlagSet

The flag set

The flag set

final def flagsUNSAFE : FlagSet

The flag set without forcing symbol completion. Should be used only for printing.

The flag set without forcing symbol completion. Should be used only for printing.

final def flags_= ( flags: FlagSet ) : Unit

Update the flag set

Update the flag set

def flatName ( implicit ctx: Context ) : Name

The encoded flat name of this denotation, where joined names are separated by separator characters.

The encoded flat name of this denotation, where joined names are separated by separator characters.

def fullName ( implicit ctx: Context ) : Name

fullName where `.' is the separator character

fullName where `.' is the separator character

[+] def fullNameSeparated ( separator: String ) ( implicit ctx: Context ) : Name

The encoded full path name of this denotation, where outer names and inner names are separated by separator strings. Never translates expansions of oper...

The encoded full path name of this denotation, where outer names and inner names are separated by separator strings. Never translates expansions of operators back to operator symbol. Drops package objects. Represents terms in the owner chain by a simple ~. (Note: scalac uses nothing to represent terms, which can cause name clashes between same-named definitions in different enclosing methods. Before this commit we used `$' but this can cause ambiguities with the class separator '$'). A separator "" means "flat name"; the real separator in this case is "$" and enclosing packages do not form part of the name.

final def getAnnotation ( cls: Symbol ) ( implicit ctx: Context ) : Option [ Annotation ]

Optionally, the annotation matching the given class symbol

Optionally, the annotation matching the given class symbol

def getter ( implicit ctx: Context ) : Symbol
final def hasAnnotation ( cls: Symbol ) ( implicit ctx: Context ) : Boolean

Does this denotation have an annotation matching the given class symbol?

Does this denotation have an annotation matching the given class symbol?

def hasDefaultParams ( implicit ctx: Context ) : Boolean

Does this symbol have defined or inherited default parameters?

Does this symbol have defined or inherited default parameters?

def hasSkolems ( tp: Type ) : Boolean
override def hasUniqueSym : Boolean
def implClass ( implicit ctx: Context ) : Symbol
final def info ( implicit ctx: Context ) : Type

The type info. The info is an instance of TypeType iff this is a type denotation Uncompleted denotations set myInfo to a LazyType.

The type info. The info is an instance of TypeType iff this is a type denotation Uncompleted denotations set myInfo to a LazyType.

final def infoOrCompleter : Type

The type info, or, if symbol is not yet completed, the completer

The type info, or, if symbol is not yet completed, the completer

protected def info_= ( tp: Type ) : Unit
override def initial : SymDenotation

The version of this SingleDenotation that was valid in the first phase of this run.

The version of this SingleDenotation that was valid in the first phase of this run.

override def installAfter ( phase: DenotTransformer ) ( implicit ctx: Context ) : Unit

Install this denotation as the result of the given denotation transformer.

Install this denotation as the result of the given denotation transformer.

final def is ( fs: FlagSet ) ( implicit ctx: Context ) : Boolean

Has this denotation one of the flags in fs set?

Has this denotation one of the flags in fs set?

final def is ( fs: FlagSet , butNot: FlagSet ) ( implicit ctx: Context ) : Boolean

Has this denotation one of the flags in fs set, whereas none of the flags in butNot are set?

Has this denotation one of the flags in fs set, whereas none of the flags in butNot are set?

final def is ( fs: FlagConjunction ) ( implicit ctx: Context ) : Boolean

Has this denotation all of the flags in fs set?

Has this denotation all of the flags in fs set?

final def is ( fs: FlagConjunction , butNot: FlagSet ) ( implicit ctx: Context ) : Boolean

Has this denotation all of the flags in fs set, whereas none of the flags in butNot are set?

Has this denotation all of the flags in fs set, whereas none of the flags in butNot are set?

final def isAbsent ( implicit ctx: Context ) : Boolean

Is symbol known to not exist?

Is symbol known to not exist?

final def isAbstractOrAliasType : Boolean

Is this symbol an abstract or alias type?

Is this symbol an abstract or alias type?

final def isAbstractType ( implicit ctx: Context ) : Boolean

Is this symbol an abstract type?

Is this symbol an abstract type?

final def isAccessibleFrom ( pre: Type , superAccess: Boolean , whyNot: StringBuffer ) ( implicit ctx: Context ) : Boolean

Is this definition accessible as a member of tree with type pre?

Is this definition accessible as a member of tree with type pre?

def isAccessibleFrom$default$2 : Boolean

Is this definition accessible as a member of tree with type pre?

Is this definition accessible as a member of tree with type pre?

def isAccessibleFrom$default$3 : Null

Is this definition accessible as a member of tree with type pre?

Is this definition accessible as a member of tree with type pre?

final def isAliasType ( implicit ctx: Context ) : Boolean

Is this symbol an alias type?

Is this symbol an alias type?

final def isAnonymousClass ( implicit ctx: Context ) : Boolean

Is this symbol an anonymous class?

Is this symbol an anonymous class?

final def isAnonymousFunction ( implicit ctx: Context ) : Boolean
final def isAnonymousModuleVal ( implicit ctx: Context ) : Boolean
def isAnyOverride ( implicit ctx: Context ) : Boolean
def isAsConcrete ( that: Symbol ) ( implicit ctx: Context ) : Boolean

Is this symbol concrete, or that symbol deferred?

Is this symbol concrete, or that symbol deferred?

final def isClass : Boolean

Is this denotation a class?

Is this denotation a class?

final def isClassConstructor : Boolean

is this the constructor of a class?

is this the constructor of a class?

final def isCoDefinedWith ( that: Symbol ) ( implicit ctx: Context ) : Boolean

Is this denotation defined in the same scope and compilation unit as that symbol?

Is this denotation defined in the same scope and compilation unit as that symbol?

[+] final def isCompanionMethod ( implicit ctx: Context ) : Boolean

Is this a companion class method or companion object method? These methods are generated by Symbols#synthesizeCompanionMethod and used in SymDenotations...

Is this a companion class method or companion object method? These methods are generated by Symbols#synthesizeCompanionMethod and used in SymDenotations#companionClass and SymDenotations#companionModule .

final def isCompleted : Boolean

The denotation is completed: info is not a lazy type and attributes have defined values

The denotation is completed: info is not a lazy type and attributes have defined values

final def isCompleting : Boolean

The denotation is in train of being completed

The denotation is in train of being completed

final def isConstructor : Boolean

Is this the constructor of a trait or a class

Is this the constructor of a trait or a class

final def isContainedIn ( boundary: Symbol ) ( implicit ctx: Context ) : Boolean

Is this definition contained in boundary? Same as ownersIterator contains boundary but more efficient.

Is this definition contained in boundary? Same as ownersIterator contains boundary but more efficient.

private def isCurrent ( fs: FlagSet ) : Boolean
final def isEffectiveRoot ( implicit ctx: Context ) : Boolean

Is this symbol the empty package class or its companion object?

Is this symbol the empty package class or its companion object?

final def isEffectivelyFinal ( implicit ctx: Context ) : Boolean

A symbol is effectively final if it cannot be overridden in a subclass

A symbol is effectively final if it cannot be overridden in a subclass

final def isEmptyPackage ( implicit ctx: Context ) : Boolean

Is this symbol the empty package class or its companion object?

Is this symbol the empty package class or its companion object?

def isError : Boolean

is this symbol the result of an erroneous definition?

is this symbol the result of an erroneous definition?

def isField ( implicit ctx: Context ) : Boolean
final def isGetter ( implicit ctx: Context ) : Boolean

Is this a getter?

Is this a getter?

final def isImplClassConstructor : Boolean

Is this the constructor of a trait?

Is this the constructor of a trait?

final def isImport : Boolean

is this a symbol representing an import?

is this a symbol representing an import?

[+] @tailrec final def isIncompleteIn ( base: Symbol ) ( implicit ctx: Context ) : Boolean

A member of class base is incomplete if (1) it is declared deferred or (2) it is abstract override and its super symbol in base is nonexistent or incompl...

A member of class base is incomplete if (1) it is declared deferred or (2) it is abstract override and its super symbol in base is nonexistent or incomplete.

def isInlineMethod ( implicit ctx: Context ) : Boolean
final def isLinkedWith ( sym: Symbol ) ( implicit ctx: Context ) : Boolean

Is this symbol the same or a linked class of sym?

Is this symbol the same or a linked class of sym?

final def isLocalDummy : Boolean

Is this a local template dummmy?

Is this a local template dummmy?

final def isNullableClass ( implicit ctx: Context ) : Boolean

Is this symbol a class references to which that are supertypes of null?

Is this symbol a class references to which that are supertypes of null?

def isNumericValueClass ( implicit ctx: Context ) : Boolean

Is symbol a primitive numeric value class?

Is symbol a primitive numeric value class?

def isPackageObject ( implicit ctx: Context ) : Boolean

Is this symbol a package object or its module class?

Is this symbol a package object or its module class?

def isPhantomClass ( implicit ctx: Context ) : Boolean

Is symbol a phantom class for which no runtime representation exists?

Is symbol a phantom class for which no runtime representation exists?

final def isPrimaryConstructor ( implicit ctx: Context ) : Boolean

Does this symbol denote the primary constructor of its enclosing class?

Does this symbol denote the primary constructor of its enclosing class?

def isPrimitiveValueClass ( implicit ctx: Context ) : Boolean

Is symbol a primitive value class?

Is symbol a primitive value class?

final def isProperlyContainedIn ( boundary: Symbol ) ( implicit ctx: Context ) : Boolean
final def isRealClass ( implicit ctx: Context ) : Boolean

Is this denotation a non-trait class?

Is this denotation a non-trait class?

final def isRealMethod ( implicit ctx: Context ) : Boolean

Is this a "real" method? A real method is a method which is: - not an accessor - not a label - not an anonymous function - not a companion method

Is this a "real" method? A real method is a method which is: - not an accessor - not a label - not an anonymous function - not a companion method

[+] final def isRefinementClass ( implicit ctx: Context ) : Boolean

Is this symbol a class representing a refinement? These classes are used only temporarily in Typer and Unpickler as an intermediate step for creating Re...

Is this symbol a class representing a refinement? These classes are used only temporarily in Typer and Unpickler as an intermediate step for creating Refinement types.

final def isRoot : Boolean

Is this symbol the root class or its companion object?

Is this symbol the root class or its companion object?

[+] final def isSelfSym ( implicit ctx: Context ) : Boolean

Is this the denotation of a self symbol of some class? This is the case if one of two conditions holds: 1. It is the symbol referred to in the selfInfo...

Is this the denotation of a self symbol of some class? This is the case if one of two conditions holds: 1. It is the symbol referred to in the selfInfo part of the ClassInfo which is the type of this symbol's owner. 2. This symbol is owned by a class, it's selfInfo field refers to a type (indicating the self definition does not introduce a name), and the symbol's name is "_". TODO: Find a more robust way to characterize self symbols, maybe by spending a Flag on them?

final def isSetter ( implicit ctx: Context ) : Boolean

Is this a setter?

Is this a setter?

def isSkolem : Boolean
final def isStable ( implicit ctx: Context ) : Boolean

Is this a denotation of a stable term (or an arbitrary type)?

Is this a denotation of a stable term (or an arbitrary type)?

final def isStatic ( implicit ctx: Context ) : Boolean

Is this denotation static (i.e. with no outer instance)?

Is this denotation static (i.e. with no outer instance)?

final def isStaticConstructor ( implicit ctx: Context ) : Boolean

Does this symbol denote the static constructor of its enclosing class?

Does this symbol denote the static constructor of its enclosing class?

final def isStaticOwner ( implicit ctx: Context ) : Boolean

Is this a package class or module class that defines static symbols?

Is this a package class or module class that defines static symbols?

def isSubClass ( base: Symbol ) ( implicit ctx: Context ) : Boolean

Is this a subclass of the given class base?

Is this a subclass of the given class base?

override def isType : Boolean

Is this denotation a type?

Is this denotation a type?

def isTypeTestOrCast ( implicit ctx: Context ) : Boolean
final def isValueClass ( implicit ctx: Context ) : Boolean

Is this symbol a class that extends AnyVal?

Is this symbol a class that extends AnyVal?

[+] final def isValueClassConvertMethod ( implicit ctx: Context ) : Boolean

Is this a syntetic method that represents conversions between representations of a value class These methods are generated in ExtensionMethods and used...

Is this a syntetic method that represents conversions between representations of a value class These methods are generated in ExtensionMethods and used in ElimErasedValueType.

def isVolatile ( implicit ctx: Context ) : Boolean
def isWeakOwner ( implicit ctx: Context ) : Boolean

Symbol is an owner that would be skipped by effectiveOwner. Skipped are - package objects - labels - non-lazy valdefs

Symbol is an owner that would be skipped by effectiveOwner. Skipped are - package objects - labels - non-lazy valdefs

final def lexicallyEnclosingClass ( implicit ctx: Context ) : Symbol

A class that in source code would be lexically enclosing

A class that in source code would be lexically enclosing

final def linkedClass ( implicit ctx: Context ) : Symbol

If this is a class, the module class of its companion object. If this is a module class, its companion class. NoSymbol otherwise.

If this is a class, the module class of its companion object. If this is a module class, its companion class. NoSymbol otherwise.

final def markAbsent ( ) : Unit

Make denotation not exist

Make denotation not exist

final def matchingDecl ( inClass: Symbol , site: Type ) ( implicit ctx: Context ) : Symbol

The non-private symbol whose name and type matches the type of this symbol in the given class.

The non-private symbol whose name and type matches the type of this symbol in the given class.

final def matchingMember ( site: Type ) ( implicit ctx: Context ) : Symbol

The non-private member of site whose name and type matches the type of this symbol

The non-private member of site whose name and type matches the type of this symbol

def maybeOwner : Symbol

Same as owner, except returns NoSymbol for NoSymbol

Same as owner, except returns NoSymbol for NoSymbol

final def memberCanMatchInheritedSymbols ( implicit ctx: Context ) : Boolean

If false, this class member cannot possibly participate in an override, either as overrider or overridee.

If false, this class member cannot possibly participate in an override, either as overrider or overridee.

def membersNeedAsSeenFrom ( pre: Type ) ( implicit ctx: Context ) : Boolean

Do members of this symbol need translation via asSeenFrom when accessed via prefix pre?

Do members of this symbol need translation via asSeenFrom when accessed via prefix pre?

def mixins ( implicit ctx: Context ) : List [ ClassSymbol ]

All traits implemented by a class, except for those inherited through the superclass. The empty list if self is a trait.

All traits implemented by a class, except for those inherited through the superclass. The empty list if self is a trait.

final def moduleClass ( implicit ctx: Context ) : Symbol

The class implementing this module, NoSymbol if not applicable.

The class implementing this module, NoSymbol if not applicable.

protected def newLikeThis ( s: Symbol , i: Type ) : SingleDenotation
def nonMemberTermRef ( implicit ctx: Context ) : TermRef
final def originalName ( implicit ctx: Context ) : Name

The name with which the denoting symbol was created

The name with which the denoting symbol was created

private def overriddenFromType ( tp: Type ) ( implicit ctx: Context ) : Iterator [ Symbol ]
final def overriddenSymbol ( inClass: ClassSymbol ) ( implicit ctx: Context ) : Symbol

The symbol, in class inClass, that is overridden by this denotation.

The symbol, in class inClass, that is overridden by this denotation.

final def overridingSymbol ( inClass: ClassSymbol ) ( implicit ctx: Context ) : Symbol

The symbol overriding this symbol in given subclass ofclazz.

The symbol overriding this symbol in given subclass ofclazz.

def owner : Symbol

The owner of the symbol; overridden in NoDenotation

The owner of the symbol; overridden in NoDenotation

final def ownersIterator ( implicit ctx: Context ) : Iterator [ Symbol ]

The chain of owners of this denotation, starting with the denoting symbol itself

The chain of owners of this denotation, starting with the denoting symbol itself

def primaryConstructor ( implicit ctx: Context ) : Symbol

The primary constructor of a class or trait, NoSymbol if not applicable.

The primary constructor of a class or trait, NoSymbol if not applicable.

final def privateWithin ( implicit ctx: Context ) : Symbol

The privateWithin boundary, NoSymbol if no boundary is given.

The privateWithin boundary, NoSymbol if no boundary is given.

protected final def privateWithin_= ( sym: Symbol ) : Unit

Set privateWithin.

Set privateWithin.

def registerCompanionMethod ( name: Name , target: Symbol ) ( implicit ctx: Context ) : Symbol | Unit
final def removeAnnotation ( cls: Symbol ) ( implicit ctx: Context ) : Unit

Remove annotation with given class from this denotation

Remove annotation with given class from this denotation

final def resetFlag ( flags: FlagSet ) : Unit

Unset given flags(s) of this denotation

Unset given flags(s) of this denotation

final def scalacLinkedClass ( implicit ctx: Context ) : Symbol
final def setFlag ( flags: FlagSet ) : Unit

Set given flags(s) of this denotation

Set given flags(s) of this denotation

final def setNoInitsFlags ( flags: FlagSet ) : Unit

Set applicable flags from flags which is a subset of {NoInits, PureInterface}

Set applicable flags from flags which is a subset of {NoInits, PureInterface}

def setter ( implicit ctx: Context ) : Symbol
def skipConstructor ( implicit ctx: Context ) : Symbol

If this is a constructor, its owner: otherwise this.

If this is a constructor, its owner: otherwise this.

final def skipWeakOwner ( implicit ctx: Context ) : Symbol

If this is a weak owner, its owner, otherwise the denoting symbol.

If this is a weak owner, its owner, otherwise the denoting symbol.

final def sourceModule ( implicit ctx: Context ) : Symbol

The module implemented by this module class, NoSymbol if not applicable.

The module implemented by this module class, NoSymbol if not applicable.

def subst ( from: List [ Symbol ] , to: List [ Symbol ] ) : Symbol

Apply symbol/symbol substitution to this symbol

Apply symbol/symbol substitution to this symbol

[+] final def superSymbolIn ( base: Symbol ) ( implicit ctx: Context ) : Symbol

The symbol accessed by a super in the definition of this symbol when seen from class base. This symbol is always concrete. pre: this.owner is in the bas...

The symbol accessed by a super in the definition of this symbol when seen from class base. This symbol is always concrete. pre: this.owner is in the base class sequence of base.

def termParamAccessors ( implicit ctx: Context ) : List [ Symbol ]
override def termRef ( implicit ctx: Context ) : TermRef

The TermRef representing this term denotation at its original location.

The TermRef representing this term denotation at its original location.

override def termRefWithSig ( implicit ctx: Context ) : TermRef

The TermRef representing this term denotation at its original location at the denotation's signature.

The TermRef representing this term denotation at its original location at the denotation's signature.

def thisType ( implicit ctx: Context ) : Type

The type This(cls), where cls is this class, NoPrefix for all other symbols

The type This(cls), where cls is this class, NoPrefix for all other symbols

override def toString : String
final def topLevelClass ( implicit ctx: Context ) : Symbol

The top-level class containing this denotation, except for a toplevel module, where its module class is returned.

The top-level class containing this denotation, except for a toplevel module, where its module class is returned.

[+] override def transformAfter ( phase: DenotTransformer , f: SymDenotation => SymDenotation ) ( implicit ctx: Context ) : Unit

Apply a transformation f to all denotations in this group that start at or after given phase. Denotations are replaced while keeping the same validity...

Apply a transformation f to all denotations in this group that start at or after given phase. Denotations are replaced while keeping the same validity periods.

final def transformAnnotations ( f: Annotation => Annotation ) ( implicit ctx: Context ) : Unit

Apply transform f to all annotations of this denotation

Apply transform f to all annotations of this denotation

def typeParamCreationFlags : FlagSet

The flags to be used for a type parameter owned by this symbol. Overridden by ClassDenotation.

The flags to be used for a type parameter owned by this symbol. Overridden by ClassDenotation.

def typeParams ( implicit ctx: Context ) : List [ TypeSymbol ]

The type parameters of a class symbol, Nil for all other symbols

The type parameters of a class symbol, Nil for all other symbols

override def typeRef ( implicit ctx: Context ) : TypeRef

The TypeRef representing this type denotation at its original location.

The TypeRef representing this type denotation at its original location.

def underlyingSymbol ( implicit ctx: Context ) : Symbol

The field accessed by a getter or setter, or if it does not exists, the getter of a setter, or if that does not exist the symbol itself.

The field accessed by a getter or setter, or if it does not exists, the getter of a setter, or if that does not exist the symbol itself.

final def unforcedAnnotation ( cls: Symbol ) ( implicit ctx: Context ) : Option [ Annotation ]

The same as getAnnotation, but without ensuring that the symbol carrying the annotation is completed

The same as getAnnotation, but without ensuring that the symbol carrying the annotation is completed

[+] final def unforcedDecls ( implicit ctx: Context ) : Scope

The symbols defined in this class or object. Careful! This does not force the type, so is compilation order dependent. This method should be used only i...

    The symbols defined in this class or object. Careful! This does not force the type, so is compilation order dependent. This method should be used only in the following circumstances:

    1. When accessing type parameters or type parameter accessors (both are entered before completion).
    2. When obtaining the current scope in order to enter, rename or delete something there.
    3. When playing it safe in order not to raise CylicReferences, e.g. for printing things or taking more efficient shortcuts (e.g. the stillValid test).
    final def unforcedInfo : Option [ Type ]

    Optionally, the info if it is completed

    Optionally, the info if it is completed

    final def updateAnnotation ( annot: Annotation ) ( implicit ctx: Context ) : Unit

    Remove any annotations with same class as annot, and add annot

    Remove any annotations with same class as annot, and add annot

    override def valRef ( implicit ctx: Context ) : TermRef

    The TermRef representing this term denotation at its original location and at signature NotAMethod.

    The TermRef representing this term denotation at its original location and at signature NotAMethod.

    final def variance ( implicit ctx: Context ) : Int

    The variance of this type parameter or type member as an Int, with +1 = Covariant, -1 = Contravariant, 0 = Nonvariant, or not a type parameter

    The variance of this type parameter or type member as an Int, with +1 = Covariant, -1 = Contravariant, 0 = Nonvariant, or not a type parameter

    def withAnnotationsCarrying ( from: Symbol , meta: ClassSymbol ) ( implicit ctx: Context ) : self.type