class ClassSymbol extends SymbolTable.TypeSymbol with SymbolTable.ClassSymbolApi

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ClassSymbol
  2. ClassSymbolApi
  3. TypeSymbol
  4. TypeSymbolApi
  5. Symbol
  6. Attachable
  7. Annotatable
  8. HasFlags
  9. SymbolContextApiImpl
  10. SymbolApi
  11. AnyRef
  12. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

  1. new ClassSymbol(initOwner: SymbolTable.Symbol, initPos: SymbolTable.Position, initName: SymbolTable.TypeName)
    Attributes
    protected[Symbols]

Type Members

  1. type AccessBoundaryType = SymbolTable.Symbol
    Definition Classes
    SymbolHasFlags
  2. type AnnotationType = SymbolTable.AnnotationInfo
    Definition Classes
    SymbolHasFlags
  3. final type NameType = SymbolTable.TypeName

    Type symbols have their names of type TypeName.

    Type symbols have their names of type TypeName.

    Definition Classes
    TypeSymbolApiSymbolApi
  4. type TypeOfClonedSymbol = SymbolTable.ClassSymbol
    Definition Classes
    ClassSymbolTypeSymbolSymbol

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def GADT_SKOLEM_FLAGS: Int
    Attributes
    protected[Symbols]
    Definition Classes
    Symbol
  5. final var _rawname: SymbolTable.Name
    Attributes
    protected[this]
    Definition Classes
    Symbol
  6. def abbreviatedKindString: String

    String representation of symbol's kind, suitable for the masses.

    String representation of symbol's kind, suitable for the masses.

    Attributes
    protected[scala]
    Definition Classes
    Symbol
  7. def accessBoundary(base: SymbolTable.Symbol): SymbolTable.Symbol

    The class or term up to which this symbol is accessible, or else enclosingRootClass if it is public.

    The class or term up to which this symbol is accessible, or else enclosingRootClass if it is public.

    Definition Classes
    Symbol
  8. def accessString: String
    Definition Classes
    HasFlags
  9. final def accessed: SymbolTable.Symbol

    The symbol accessed by this accessor (getter or setter) function.

    The symbol accessed by this accessor (getter or setter) function.

    Definition Classes
    Symbol
  10. def accessedOrSelf: SymbolTable.Symbol

    accessed, if this is an accessor that should have an underlying field.

    accessed, if this is an accessor that should have an underlying field. Otherwise, this. Note that a "regular" accessor in a trait does not have a field, as an interface cannot define a field. "non-regular" vals are: early initialized or lazy vals. Eventually, we should delay introducing symbols for all val/vars until the fields (or lazyvals) phase, as they are an implementation detail that's irrelevant to type checking.

    Definition Classes
    Symbol
  11. final def accurateKindString: String

    Accurate string representation of symbols' kind, suitable for developers.

    Accurate string representation of symbols' kind, suitable for developers.

    Definition Classes
    Symbol
  12. final def addAnnotation(tp: SymbolTable.Type, args: List[SymbolTable.Tree]): ClassSymbol.this.type
    Definition Classes
    Symbol
  13. final def addAnnotation(tp: SymbolTable.Type, arg1: SymbolTable.Tree, arg2: SymbolTable.Tree): ClassSymbol.this.type
    Definition Classes
    Symbol
  14. final def addAnnotation(tp: SymbolTable.Type, arg: SymbolTable.Tree): ClassSymbol.this.type
    Definition Classes
    Symbol
  15. final def addAnnotation(tp: SymbolTable.Type): ClassSymbol.this.type

    Use that variant if you want to pass (for example) an applied type

    Use that variant if you want to pass (for example) an applied type

    Definition Classes
    Symbol
  16. final def addAnnotation(sym: SymbolTable.Symbol, args: List[SymbolTable.Tree]): ClassSymbol.this.type
    Definition Classes
    Symbol
  17. final def addAnnotation(sym: SymbolTable.Symbol, args: SymbolTable.Tree*): ClassSymbol.this.type
    Definition Classes
    Symbol
  18. final def addAnnotation(sym: SymbolTable.Symbol, arg1: SymbolTable.Tree, arg2: SymbolTable.Tree): ClassSymbol.this.type
    Definition Classes
    Symbol
  19. final def addAnnotation(sym: SymbolTable.Symbol, arg: SymbolTable.Tree): ClassSymbol.this.type
    Definition Classes
    Symbol
  20. final def addAnnotation(sym: SymbolTable.Symbol): ClassSymbol.this.type
    Definition Classes
    Symbol
  21. def addAnnotation(annot: SymbolTable.AnnotationInfo): ClassSymbol.this.type
    Definition Classes
    Symbol
  22. def addChild(sym: SymbolTable.Symbol): Unit
    Definition Classes
    ClassSymbolSymbol
  23. def addThrowsAnnotation(throwableSym: SymbolTable.Symbol): SymbolTable.Symbol
    Definition Classes
    Annotatable
  24. def alias: SymbolTable.Symbol

    For a paramaccessor: a superclass paramaccessor for which this symbol is an alias, NoSymbol for all others.

    For a paramaccessor: a superclass paramaccessor for which this symbol is an alias, NoSymbol for all others.

    Definition Classes
    Symbol
  25. final def allOverriddenSymbols: List[SymbolTable.Symbol]

    Returns all symbols overridden by this symbol.

    Returns all symbols overridden by this symbol.

    Definition Classes
    SymbolSymbolApi
  26. def alternatives: List[SymbolTable.Symbol]

    The overloaded alternatives of this symbol.

    The overloaded alternatives of this symbol.

    Definition Classes
    SymbolSymbolApi
  27. def ancestors: List[SymbolTable.Symbol]

    All directly or indirectly inherited classes.

    All directly or indirectly inherited classes.

    Definition Classes
    Symbol
  28. final def andAlso(f: (SymbolTable.Symbol) ⇒ Unit): SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @inline()
  29. def annotations: List[SymbolTable.AnnotationInfo]

    After the typer phase (before, look at the definition's Modifiers), contains the annotations attached to member a definition (class, method, type, field).

    After the typer phase (before, look at the definition's Modifiers), contains the annotations attached to member a definition (class, method, type, field).

    Definition Classes
    SymbolAnnotatableHasFlagsSymbolApi
  30. def annotationsString: String
    Definition Classes
    Symbol
  31. def anonOrRefinementString: String
  32. final def asClass: SymbolTable.ClassSymbol

    This symbol cast to a ClassSymbol representing a class or trait.

    This symbol cast to a ClassSymbol representing a class or trait.

    Definition Classes
    ClassSymbolApiSymbolApi
    Exceptions thrown

    ScalaReflectionException if isClass is false.

  33. def asFreeTerm: SymbolTable.FreeTermSymbol
    Definition Classes
    SymbolContextApiImpl
  34. def asFreeType: SymbolTable.FreeTypeSymbol
    Definition Classes
    SymbolContextApiImpl
  35. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  36. def asMethod: SymbolTable.MethodSymbol

    This symbol cast to a MethodSymbol.

    This symbol cast to a MethodSymbol.

    Definition Classes
    SymbolApi
    Exceptions thrown

    ScalaReflectionException if isMethod is false.

  37. def asModule: SymbolTable.ModuleSymbol

    This symbol cast to a ModuleSymbol defined by an object definition.

    This symbol cast to a ModuleSymbol defined by an object definition.

    Definition Classes
    SymbolApi
    Exceptions thrown

    ScalaReflectionException if isModule is false.

  38. final def asNameType(n: SymbolTable.Name): SymbolTable.TypeName
    Definition Classes
    TypeSymbolSymbol
  39. def asTerm: SymbolTable.TermSymbol

    This symbol cast to a TermSymbol.

    This symbol cast to a TermSymbol.

    Definition Classes
    SymbolApi
    Exceptions thrown

    ScalaReflectionException if isTerm is false.

  40. final def asType: SymbolTable.TypeSymbol

    This symbol cast to a TypeSymbol.

    This symbol cast to a TypeSymbol.

    Definition Classes
    TypeSymbolApiSymbolApi
    Exceptions thrown

    ScalaReflectionException if isType is false.

  41. final def assertOwner: SymbolTable.Symbol
    Definition Classes
    Symbol
  42. def associatedFile: AbstractFile

    Overridden in ModuleSymbols to delegate to the module class.

    Overridden in ModuleSymbols to delegate to the module class. Never null; if there is no associated file, returns NoAbstractFile.

    Definition Classes
    ClassSymbolSymbolSymbolApi
  43. def associatedFile_=(f: AbstractFile): Unit
    Definition Classes
    ClassSymbolSymbol
  44. def attachments: Attachments { type Pos = Symbols.this.Position }
    Definition Classes
    Attachable
  45. def baseClasses: List[SymbolTable.Symbol]
    Definition Classes
    SymbolContextApiImpl
  46. def calculateFlagString(basis: Long): String
    Attributes
    protected
    Definition Classes
    HasFlags
  47. final def caseFieldAccessors: List[SymbolTable.Symbol]

    For a case class, the symbols of the accessor methods, one for each argument in the first parameter list of the primary constructor.

    For a case class, the symbols of the accessor methods, one for each argument in the first parameter list of the primary constructor. The empty list for all other classes.

    This list will be sorted to correspond to the declaration order in the constructor parameter

    Definition Classes
    Symbol
  48. final def caseModule: SymbolTable.Symbol

    The case module corresponding to this case class

    The case module corresponding to this case class

    Definition Classes
    Symbol
  49. def changeNameInOwners(name: SymbolTable.Name): Unit
    Attributes
    protected[this]
    Definition Classes
    Symbol
  50. def children: Set[SymbolTable.Symbol]

    If this is a sealed or local class, its known direct subclasses.

    If this is a sealed or local class, its known direct subclasses. Otherwise, the empty set.

    Definition Classes
    ClassSymbolSymbol
  51. def classBound: SymbolTable.Type

    The least proper supertype of a class; includes all parent types and refinement where needed.

    The least proper supertype of a class; includes all parent types and refinement where needed. You need to compute that in a situation like this: { class C extends P { ... } new C }

    Definition Classes
    Symbol
  52. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  53. final def cloneSymbol(newOwner: SymbolTable.Symbol, newFlags: Long, newName: SymbolTable.Name): TypeOfClonedSymbol
    Definition Classes
    Symbol
  54. final def cloneSymbol(newOwner: SymbolTable.Symbol, newFlags: Long): TypeOfClonedSymbol
    Definition Classes
    Symbol
  55. final def cloneSymbol(newOwner: SymbolTable.Symbol): TypeOfClonedSymbol

    A clone of this symbol, but with given owner.

    A clone of this symbol, but with given owner.

    Definition Classes
    Symbol
  56. final def cloneSymbol: TypeOfClonedSymbol

    A clone of this symbol.

    A clone of this symbol.

    Definition Classes
    Symbol
  57. def cloneSymbolImpl(owner: SymbolTable.Symbol, newFlags: Long): SymbolTable.ClassSymbol

    Internal method to clone a symbol's implementation with the given flags and no info.

    Internal method to clone a symbol's implementation with the given flags and no info.

    Definition Classes
    ClassSymbolSymbol
  58. def companion: SymbolTable.Symbol

    For a class: its companion object if exists.

    For a class: its companion object if exists. For a module or a module class: companion class of the module if exists. For a package or a package class: NoSymbol. For all others: NoSymbol.

    Definition Classes
    SymbolContextApiImplSymbolApi
  59. def companionClass: SymbolTable.Symbol

    For a module: the class with the same name in the same package.

    For a module: the class with the same name in the same package. For all others: NoSymbol Note: does not work for classes owned by methods, see Namers.companionClassOf

    object Foo . companionClass --> class Foo

    !!! linkedClassOfClass depends on companionClass on the module class getting to the class. As presently implemented this potentially returns class for any symbol except NoSymbol.

    Definition Classes
    Symbol
  60. def companionModule: SymbolTable.Symbol

    For a class: the module or case class factory with the same name in the same package.

    For a class: the module or case class factory with the same name in the same package. For all others: NoSymbol Note: does not work for modules owned by methods, see Namers.companionModuleOf

    class Foo . companionModule --> object Foo

    Definition Classes
    ClassSymbolSymbol
  61. final def companionModule0: SymbolTable.Symbol

    A helper method that factors the common code used the discover a companion module of a class.

    A helper method that factors the common code used the discover a companion module of a class. If a companion module exists, its symbol is returned, otherwise, NoSymbol is returned.

    Attributes
    protected
  62. def companionSymbol: SymbolTable.Symbol

    For a module: its linked class For a plain class: its linked module or case factory.

    For a module: its linked class For a plain class: its linked module or case factory. Note: does not work for modules owned by methods, see Namers.companionSymbolOf

    class Foo <-- companionSymbol --> object Foo

    Definition Classes
    ClassSymbolSymbolSymbolApi
  63. def compileTimeOnlyMessage: Option[String]
    Definition Classes
    Symbol
  64. final def constrParamAccessors: List[SymbolTable.Symbol]
    Definition Classes
    Symbol
  65. def cookJavaRawInfo(): ClassSymbol.this.type

    Modify term symbol's type so that a raw type C is converted to an existential C[_]

    Modify term symbol's type so that a raw type C is converted to an existential C[_]

    This is done in checkAccessible and overriding checks in refchecks We can't do this on class loading because it would result in infinite cycles.

    Definition Classes
    Symbol
  66. def createAbstractTypeSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.AbstractTypeSymbol

    Symbol creation implementations.

    Symbol creation implementations.

    Attributes
    protected
    Definition Classes
    Symbol
  67. def createAliasTypeSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.AliasTypeSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  68. def createClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.ClassSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  69. def createMethodSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.MethodSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  70. def createModuleClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.ModuleClassSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  71. def createModuleSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.ModuleSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  72. def createPackageClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.PackageClassSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  73. def createPackageObjectClassSymbol(pos: SymbolTable.Position, newFlags: Long): SymbolTable.PackageObjectClassSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  74. def createPackageSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.ModuleSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  75. def createRefinementClassSymbol(pos: SymbolTable.Position, newFlags: Long): SymbolTable.RefinementClassSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  76. def createTypeSkolemSymbol(name: SymbolTable.TypeName, origin: AnyRef, pos: SymbolTable.Position, newFlags: Long): SymbolTable.TypeSkolem
    Attributes
    protected
    Definition Classes
    Symbol
  77. def createValueMemberSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.TermSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  78. def createValueParameterSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position, newFlags: Long): SymbolTable.TermSymbol
    Attributes
    protected
    Definition Classes
    Symbol
  79. def deSkolemize: SymbolTable.Symbol

    If this symbol is a type parameter skolem (not an existential skolem!) its corresponding type parameter, otherwise this

    If this symbol is a type parameter skolem (not an existential skolem!) its corresponding type parameter, otherwise this

    Definition Classes
    Symbol
  80. def debugFlagString: String
    Definition Classes
    Symbol
  81. def debugLocationString: String
    Definition Classes
    Symbol
  82. def decodedName: String

    The decoded name of the symbol, e.g.

    The decoded name of the symbol, e.g. == instead of $eq$eq.

    Definition Classes
    Symbol
  83. def defString: String

    String representation of symbol's definition.

    String representation of symbol's definition. It uses the symbol's raw info to avoid forcing types.

    Definition Classes
    Symbol
  84. def defStringSeenAs(info: SymbolTable.Type): String

    String representation of symbol's definition, using the supplied info rather than the symbol's.

    String representation of symbol's definition, using the supplied info rather than the symbol's.

    Definition Classes
    Symbol
  85. def deprecatedInheritanceMessage: Option[String]
    Definition Classes
    Symbol
  86. def deprecatedInheritanceVersion: Option[String]
    Definition Classes
    Symbol
  87. def deprecatedOverridingMessage: Option[String]
    Definition Classes
    Symbol
  88. def deprecatedOverridingVersion: Option[String]
    Definition Classes
    Symbol
  89. def deprecatedParamName: Option[SymbolTable.TermName]
    Definition Classes
    Symbol
  90. def deprecatedParamVersion: Option[String]
    Definition Classes
    Symbol
  91. def deprecationMessage: Option[String]
    Definition Classes
    Symbol
  92. def deprecationVersion: Option[String]
    Definition Classes
    Symbol
  93. def derivedValueClassUnbox: SymbolTable.Symbol

    If this is a derived value class, return its unbox method or NoSymbol if it does not exist.

    If this is a derived value class, return its unbox method or NoSymbol if it does not exist.

    Definition Classes
    ClassSymbolSymbol
  94. def effectiveOwner: SymbolTable.Symbol

    The owner, skipping package objects.

    The owner, skipping package objects.

    Definition Classes
    Symbol
  95. def elisionLevel: Option[Int]
    Definition Classes
    Symbol
  96. def enclClass: SymbolTable.Symbol

    The next enclosing class.

    The next enclosing class.

    Definition Classes
    Symbol
  97. def enclClassChain: collection.immutable.List[SymbolTable.Symbol]
    Definition Classes
    ClassSymbolSymbol
  98. def enclMethod: SymbolTable.Symbol

    The next enclosing method.

    The next enclosing method.

    Definition Classes
    Symbol
  99. def enclosingPackage: SymbolTable.Symbol

    The package containing this symbol, or NoSymbol if there is not one.

    The package containing this symbol, or NoSymbol if there is not one.

    Definition Classes
    Symbol
  100. def enclosingPackageClass: SymbolTable.Symbol

    The package class containing this symbol, or NoSymbol if there is not one.

    The package class containing this symbol, or NoSymbol if there is not one. TODO: formulate as enclosingSuchThat, after making sure we can start with current symbol rather than owner. TODO: Also harmonize with enclClass, enclMethod etc.

    Definition Classes
    Symbol
  101. def enclosingRootClass: SymbolTable.Symbol

    The package class containing this symbol, or NoSymbol if there is not one.

    The package class containing this symbol, or NoSymbol if there is not one.

    Definition Classes
    Symbol
  102. final def enclosingSuchThat(p: (SymbolTable.Symbol) ⇒ Boolean): SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @inline()
  103. def enclosingTopLevelClass: SymbolTable.Symbol

    The top-level class containing this symbol, using the current owner chain.

    The top-level class containing this symbol, using the current owner chain.

    Definition Classes
    Symbol
  104. def encodedName: String

    The name of the symbol before decoding, e.g.

    The name of the symbol before decoding, e.g. $eq$eq instead of ==.

    Definition Classes
    Symbol
  105. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  106. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  107. def existentialBound: SymbolTable.Type

    Overridden in subclasses for which it makes sense.

    Overridden in subclasses for which it makes sense.

    Definition Classes
    ClassSymbolTypeSymbolSymbol
  108. def existentialToString: String

    String representation of existentially bound variable

    String representation of existentially bound variable

    Definition Classes
    Symbol
  109. def exists: Boolean
    Definition Classes
    Symbol
  110. def expandName(base: SymbolTable.Symbol): Unit

    change name by appending $$<fully-qualified-name-of-class base> Do the same for any accessed symbols or setters/getters.

    change name by appending $$<fully-qualified-name-of-class base> Do the same for any accessed symbols or setters/getters. Implementation in TermSymbol.

    Definition Classes
    Symbol
  111. final def extendedOverriddenSymbols: List[SymbolTable.Symbol]

    Returns all symbols overridden by this symbol, plus all matching symbols defined in parents of the selftype.

    Returns all symbols overridden by this symbol, plus all matching symbols defined in parents of the selftype.

    Definition Classes
    Symbol
  112. def failIfStub(): Unit

    Raises a MissingRequirementError if this symbol is a StubSymbol

    Raises a MissingRequirementError if this symbol is a StubSymbol

    Definition Classes
    Symbol
  113. def filter(cond: (SymbolTable.Symbol) ⇒ Boolean): SymbolTable.Symbol

    Filters the underlying alternatives (or a single-element list composed of the symbol itself if the symbol is not overloaded).

    Filters the underlying alternatives (or a single-element list composed of the symbol itself if the symbol is not overloaded). Returns an overloaded symbol is there are multiple matches. Returns a NoSymbol if there are no matches.

    Definition Classes
    SymbolSymbolApi
  114. def filterAnnotations(p: (SymbolTable.AnnotationInfo) ⇒ Boolean): ClassSymbol.this.type
    Definition Classes
    SymbolAnnotatable
  115. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  116. def firstParam: SymbolTable.Symbol

    The first parameter to the first argument list of this method, or NoSymbol if inapplicable.

    The first parameter to the first argument list of this method, or NoSymbol if inapplicable.

    Definition Classes
    Symbol
  117. def flagBitsToString(bits: Long): String
    Definition Classes
    HasFlags
  118. def flagMask: Long

    The default mask determining which flags to display.

    The default mask determining which flags to display.

    Definition Classes
    SymbolHasFlags
  119. def flagString(mask: Long): String
    Definition Classes
    HasFlags
  120. def flagString: String

    The printable representation of this entity's flags and access boundary, restricted to flags in the given mask.

    The printable representation of this entity's flags and access boundary, restricted to flags in the given mask.

    Definition Classes
    HasFlags
  121. final def flags: Long

    Though both Symbol and Modifiers widen this method to public, it's defined protected here to give us the option in the future to route flag methods through accessors and disallow raw flag manipulation.

    Though both Symbol and Modifiers widen this method to public, it's defined protected here to give us the option in the future to route flag methods through accessors and disallow raw flag manipulation. And after that, perhaps, on some magical day: a typesafe enumeration.

    Definition Classes
    SymbolHasFlags
  122. def flagsExplanationString: String
    Definition Classes
    Symbol
  123. def flags_=(fs: Long): Unit
    Definition Classes
    Symbol
  124. final def flatOwnerInfo: SymbolTable.Type

    Returns the rawInfo of the owner.

    Returns the rawInfo of the owner. If the current phase has flat classes, it first applies all pending type maps to this symbol.

    assume this is the ModuleSymbol for B in the following definition: package p { class A { object B { val x = 1 } } }

    The owner after flatten is "package p" (see "def owner"). The flatten type map enters symbol B in the decls of p. So to find a linked symbol ("object B" or "class B") we need to apply flatten to B first. Fixes #2470.

    Attributes
    protected
    Definition Classes
    Symbol
  125. def flattenedName: SymbolTable.TypeName
    Attributes
    protected[this]
    Definition Classes
    ClassSymbolSymbol
  126. final def fold[T](none: ⇒ T)(f: (SymbolTable.Symbol) ⇒ T): T
    Definition Classes
    Symbol
    Annotations
    @inline()
  127. final def freshExistential(suffix: String, id: Int): SymbolTable.TypeSymbol
    Definition Classes
    Symbol
  128. def fullLocationString: String
    Definition Classes
    Symbol
  129. final def fullName: String

    The encoded full path name of this symbol, where outer names and inner names are separated by periods.

    The encoded full path name of this symbol, where outer names and inner names are separated by periods.

    Definition Classes
    SymbolSymbolApi
  130. final def fullName(separator: Char): String

    The encoded full path name of this symbol, where outer names and inner names are separated by separator characters.

    The encoded full path name of this symbol, where outer names and inner names are separated by separator characters. Never translates expansions of operators back to operator symbol. Never adds id. Drops package objects.

    Definition Classes
    Symbol
  131. def fullNameAsName(separator: Char): SymbolTable.Name
    Definition Classes
    Symbol
  132. def fullNameString: String
    Definition Classes
    Symbol
  133. def getAndRemoveAttachment[T](implicit arg0: ClassTag[T]): Option[T]
    Definition Classes
    Attachable
  134. def getAnnotation(cls: SymbolTable.Symbol): Option[SymbolTable.AnnotationInfo]
    Definition Classes
    Annotatable
  135. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  136. def getFlag(mask: Long): Long

    In our current architecture, symbols for top-level classes and modules are created as dummies.

    In our current architecture, symbols for top-level classes and modules are created as dummies. Package symbols just call newClass(name) or newModule(name) and consider their job done.

    In order for such a dummy to provide meaningful info (e.g. a list of its members), it needs to go through unpickling. Unpickling is a process of reading Scala metadata from ScalaSignature annotations and assigning it to symbols and types.

    A single unpickling session takes a top-level class or module, parses the ScalaSignature annotation and then reads metadata for the unpicklee, its companion (if any) and all their members recursively (i.e. the pickle not only contains info about directly nested classes/modules, but also about classes/modules nested into those and so on).

    Unpickling is triggered automatically whenever info (info in compiler parlance) is called. This happens because package symbols assign completer thunks to the dummies they create. Therefore metadata loading happens lazily and transparently.

    Almost transparently. Unfortunately metadata isn't limited to just signatures (i.e. lists of members). It also includes flags (which determine e.g. whether a class is sealed or not), annotations and privateWithin. This gives rise to unpleasant effects like in scala/bug#6277, when a flag test called on an uninitialize symbol produces incorrect results.

    One might think that the solution is simple: automatically call the completer whenever one needs flags, annotations and privateWithin - just like it's done for info. Unfortunately, this leads to weird crashes in scalac, and currently we can't attempt to fix the core of the compiler risk stability a few weeks before the final release. upd. Haha, "a few weeks before the final release". This surely sounds familiar :)

    However we do need to fix this for runtime reflection, since this idiosyncrasy is not something we'd like to expose to reflection users. Therefore a proposed solution is to check whether we're in a runtime reflection universe, and if yes and if we've not yet loaded the requested info, then to commence initialization.

    Definition Classes
    Symbol
  137. def getter: SymbolTable.Symbol
    Definition Classes
    SymbolContextApiImpl
  138. final def getterIn(base: SymbolTable.Symbol): SymbolTable.Symbol

    The getter of this value or setter definition in class base, or NoSymbol if none exists.

    The getter of this value or setter definition in class base, or NoSymbol if none exists.

    Definition Classes
    Symbol
  139. def getterName: SymbolTable.TermName
    Definition Classes
    Symbol
  140. def hasAbstractFlag: Boolean
    Definition Classes
    HasFlags
  141. final def hasAccessBoundary: Boolean

    Does symbol have a private or protected qualifier set?

    Does symbol have a private or protected qualifier set?

    Definition Classes
    SymbolHasFlags
  142. def hasAccessorFlag: Boolean
    Definition Classes
    HasFlags
  143. final def hasAllFlags(mask: Long): Boolean

    Does symbol have ALL the flags in mask set?

    Does symbol have ALL the flags in mask set?

    Definition Classes
    SymbolHasFlags
  144. def hasAnnotation(cls: SymbolTable.Symbol): Boolean

    Tests for, get, or remove an annotation

    Tests for, get, or remove an annotation

    Definition Classes
    Annotatable
  145. def hasAttachment[T](implicit arg0: ClassTag[T]): Boolean
    Definition Classes
    Attachable
  146. def hasBridgeAnnotation: Boolean
    Definition Classes
    Symbol
  147. def hasCompleteInfo: Boolean
    Definition Classes
    Symbol
  148. def hasDefault: Boolean
    Definition Classes
    HasFlags
  149. def hasDeprecatedInheritanceAnnotation: Boolean
    Definition Classes
    Symbol
  150. def hasDeprecatedOverridingAnnotation: Boolean
    Definition Classes
    Symbol
  151. def hasFlag(mask: Int): Boolean
    Definition Classes
    Symbol
  152. final def hasFlag(mask: Long): Boolean

    Does symbol have ANY flag in mask set?

    Does symbol have ANY flag in mask set?

    Definition Classes
    SymbolHasFlags
  153. final def hasGetter: Boolean
    Definition Classes
    Symbol
  154. def hasJavaAnnotationFlag: Boolean
    Definition Classes
    HasFlags
  155. def hasJavaEnumFlag: Boolean
    Definition Classes
    HasFlags
  156. def hasMeaninglessName: Boolean

    If the name of the symbol's owner should be used when you care about seeing an interesting name: in such cases this symbol is e.g.

    If the name of the symbol's owner should be used when you care about seeing an interesting name: in such cases this symbol is e.g. a method parameter with a synthetic name, a constructor named "this", an object "package", etc. The kind string, if non-empty, will be phrased relative to the name of the owner.

    Definition Classes
    Symbol
  157. def hasMigrationAnnotation: Boolean
    Definition Classes
    Symbol
  158. def hasModuleFlag: Boolean
    Definition Classes
    HasFlags
  159. def hasNoFlags(mask: Long): Boolean

    Whether this entity has NONE of the flags in the given mask.

    Whether this entity has NONE of the flags in the given mask.

    Definition Classes
    HasFlags
  160. def hasOnlyBottomSubclasses: Boolean

    Can this symbol only be subclassed by bottom classes? This is assessed to be the case if it is final, and any type parameters are invariant.

    Can this symbol only be subclassed by bottom classes? This is assessed to be the case if it is final, and any type parameters are invariant.

    Definition Classes
    Symbol
  161. def hasPackageFlag: Boolean
    Definition Classes
    HasFlags
  162. def hasRawInfo: Boolean
    Definition Classes
    Symbol
  163. def hasSelfType: Boolean
    Definition Classes
    Symbol
  164. def hasStableFlag: Boolean
    Definition Classes
    HasFlags
  165. def hasStaticFlag: Boolean
    Definition Classes
    HasFlags
  166. def hasTransOwner(sym: SymbolTable.Symbol): Boolean

    Same as ownerChain contains sym but more efficient, and with a twist for refinement classes (see RefinementClassSymbol.)

    Same as ownerChain contains sym but more efficient, and with a twist for refinement classes (see RefinementClassSymbol.)

    Definition Classes
    Symbol
  167. final def hasTypeAt(pid: Int): Boolean

    Was symbol's type updated during given phase?

    Was symbol's type updated during given phase?

    Definition Classes
    Symbol
  168. final def hasVolatileType: Boolean
    Definition Classes
    Symbol
  169. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native()
  170. final val id: Int
    Definition Classes
    Symbol
  171. final def idString: String

    If settings.uniqid is set, the symbol's id, else ""

    If settings.uniqid is set, the symbol's id, else ""

    Definition Classes
    Symbol
  172. def implicitAmbiguousMsg: Option[String]
    Definition Classes
    Symbol
  173. def implicitNotFoundMsg: Option[String]
    Definition Classes
    Symbol
  174. def info: SymbolTable.Type

    Get type info associated with symbol at current phase, after ensuring that symbol is initialized (i.e.

    Get type info associated with symbol at current phase, after ensuring that symbol is initialized (i.e. type is completed).

    Definition Classes
    SymbolSymbolApi
  175. def infoIn(site: SymbolTable.Type): SymbolTable.Type

    The type signature of this symbol seen as a member of given type site.

    The type signature of this symbol seen as a member of given type site.

    Definition Classes
    SymbolContextApiImplSymbolApi
  176. final def infoString(tp: SymbolTable.Type): String

    String representation of symbol's definition following its name

    String representation of symbol's definition following its name

    Definition Classes
    Symbol
  177. def info_=(tp: SymbolTable.Type): Unit
    Definition Classes
    TypeSymbolSymbol
  178. def infosString: String
    Definition Classes
    Symbol
  179. def initFlags(mask: Long): ClassSymbol.this.type

    Set the symbol's flags to the given value, asserting that the previous value was 0.

    Set the symbol's flags to the given value, asserting that the previous value was 0.

    Definition Classes
    Symbol
  180. final def initialize: ClassSymbol.this.type

    Initialize the symbol

    Initialize the symbol

    Definition Classes
    Symbol
  181. def isAbstract: Boolean

    Is this symbol abstract (i.e.

    Is this symbol abstract (i.e. an abstract class, an abstract method, value or type member)?

    Definition Classes
    SymbolContextApiImplSymbolApi
  182. def isAbstractClass: Boolean

    Does this symbol represent an abstract class?

    Does this symbol represent an abstract class?

    Definition Classes
    ClassSymbolClassSymbolApiSymbol
  183. def isAbstractOverride: Boolean
    Definition Classes
    HasFlags
  184. final def isAbstractType: Boolean

    Does this symbol represent the definition of an abstract type?

    Does this symbol represent the definition of an abstract type?

    Definition Classes
    ClassSymbolTypeSymbolTypeSymbolApiSymbol
  185. def isAccessor: Boolean

    Qualities of Terms, always false for TypeSymbols.

    Qualities of Terms, always false for TypeSymbols.

    Definition Classes
    Symbol
  186. final def isAliasType: Boolean

    Does this symbol represent the definition of a type alias?

    Does this symbol represent the definition of a type alias?

    Definition Classes
    ClassSymbolTypeSymbolApiSymbol
  187. def isAnonOrRefinementClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  188. def isAnonymousClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  189. final def isAnonymousFunction: Boolean
    Definition Classes
    Symbol
  190. def isAnyOverride: Boolean
    Definition Classes
    HasFlags
  191. def isArtifact: Boolean
    Definition Classes
    HasFlags
  192. final def isAuxiliaryConstructor: Boolean

    Does this symbol denote an auxiliary constructor of its enclosing class?

    Does this symbol denote an auxiliary constructor of its enclosing class?

    Definition Classes
    Symbol
  193. def isBottomClass: Boolean

    The bottom classes are Nothing and Null, found in Definitions.

    The bottom classes are Nothing and Null, found in Definitions.

    Definition Classes
    Symbol
  194. def isBottomSubClass(that: SymbolTable.Symbol): Boolean

    Is this class symbol Null or Nothing, and (if Null) is that inhabited by null? If this is Nothing, of course, it is a subclass of that by definition.

    Is this class symbol Null or Nothing, and (if Null) is that inhabited by null? If this is Nothing, of course, it is a subclass of that by definition.

    TODO - what is implied by the fact that AnyVal now has infinitely many non-bottom subclasses, not only 9?

    Definition Classes
    Symbol
  195. def isBridge: Boolean
    Definition Classes
    Symbol
  196. def isByNameParam: Boolean
    Definition Classes
    SymbolContextApiImpl
  197. def isCapturedVariable: Boolean
    Definition Classes
    Symbol
  198. def isCase: Boolean
    Definition Classes
    HasFlags
  199. def isCaseAccessor: Boolean
    Definition Classes
    HasFlags
  200. def isCaseAccessorMethod: Boolean

    Qualities of MethodSymbols, always false for TypeSymbols and other TermSymbols.

    Qualities of MethodSymbols, always false for TypeSymbols and other TermSymbols.

    Definition Classes
    Symbol
  201. final def isCaseApplyOrUnapply: Boolean

    Is this symbol a synthetic apply or unapply method in a companion object of a case class?

    Is this symbol a synthetic apply or unapply method in a companion object of a case class?

    Definition Classes
    Symbol
  202. def isCaseClass: Boolean

    Does this symbol represent a case class?

    Does this symbol represent a case class?

    Definition Classes
    ClassSymbolClassSymbolApiSymbol
  203. final def isCaseCopy: Boolean

    Is this symbol a synthetic copy method in a case class?

    Is this symbol a synthetic copy method in a case class?

    Definition Classes
    Symbol
  204. final def isClass: Boolean

    Does this symbol represent the definition of a class or trait? If yes, isType is also guaranteed to be true.

    Does this symbol represent the definition of a class or trait? If yes, isType is also guaranteed to be true.

    Definition Classes
    ClassSymbolApiSymbolApi
  205. def isClassConstructor: Boolean
    Definition Classes
    Symbol
  206. def isClassLocalToConstructor: Boolean
    Definition Classes
    ClassSymbolSymbol
  207. def isCoDefinedWith(that: SymbolTable.Symbol): Boolean

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

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

    Definition Classes
    Symbol
  208. def isCompileTimeOnly: Boolean
    Definition Classes
    Symbol
  209. def isConcreteClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  210. final def isConstant: Boolean

    Is this symbol a constant?

    Is this symbol a constant?

    Definition Classes
    Symbol
  211. def isConstructor: Boolean

    Does this method represent a constructor?

    Does this method represent a constructor?

    If owner is a class, then this is a vanilla JVM constructor. If owner is a trait, then this is a mixin constructor.

    Definition Classes
    SymbolSymbolApi
  212. final def isContravariant: Boolean

    Is the type parameter represented by this symbol contravariant?

    Is the type parameter represented by this symbol contravariant?

    Definition Classes
    ClassSymbolTypeSymbolTypeSymbolApiSymbol
  213. def isCovariant: Boolean

    Is the type parameter represented by this symbol contravariant?

    Is the type parameter represented by this symbol contravariant?

    Definition Classes
    TypeSymbolTypeSymbolApiSymbol
  214. def isDefaultGetter: Boolean
    Definition Classes
    Symbol
  215. def isDeferred: Boolean
    Definition Classes
    HasFlags
  216. final def isDefinedInPackage: Boolean
    Definition Classes
    Symbol
  217. final def isDelambdafyFunction: Boolean
    Definition Classes
    Symbol
  218. final def isDelambdafyTarget: Boolean
    Definition Classes
    Symbol
  219. def isDeprecated: Boolean
    Definition Classes
    Symbol
  220. final def isDerivedValueClass: Boolean
    Definition Classes
    Symbol
  221. def isEarlyInitialized: Boolean
    Definition Classes
    Symbol
  222. def isEffectiveRoot: Boolean

    Is this symbol an effective root for fullname string?

    Is this symbol an effective root for fullname string?

    Definition Classes
    Symbol
  223. final def isEffectivelyFinal: Boolean

    Is this symbol effectively final? I.e, it cannot be overridden

    Is this symbol effectively final? I.e, it cannot be overridden

    Definition Classes
    Symbol
  224. final def isEffectivelyFinalOrNotOverridden: Boolean

    Is this symbol effectively final or a concrete term member of sealed class whose children do not override it

    Is this symbol effectively final or a concrete term member of sealed class whose children do not override it

    Definition Classes
    Symbol
  225. def isEmptyPackage: Boolean
    Definition Classes
    Symbol
  226. def isEmptyPackageClass: Boolean
    Definition Classes
    Symbol
  227. def isEmptyPrefix: Boolean
    Definition Classes
    Symbol
  228. final def isErroneous: Boolean
    Definition Classes
    Symbol
  229. final def isError: Boolean
    Definition Classes
    Symbol
  230. def isExistential: Boolean
    Definition Classes
    SymbolContextApiImpl
  231. def isExistentialSkolem: Boolean
    Definition Classes
    Symbol
  232. def isExistentiallyBound: Boolean
    Definition Classes
    TypeSymbolSymbol
  233. def isFBounded: Boolean
    Definition Classes
    Symbol
  234. def isField: Boolean
    Definition Classes
    SymbolContextApiImpl
  235. def isFinal: Boolean
    Definition Classes
    HasFlags
  236. def isFreeTerm: Boolean
    Definition Classes
    SymbolContextApiImpl
  237. def isFreeType: Boolean
    Definition Classes
    SymbolContextApiImpl
  238. def isGADTSkolem: Boolean
    Definition Classes
    Symbol
  239. def isGetter: Boolean
    Definition Classes
    Symbol
  240. def isHigherOrderTypeParameter: Boolean
    Definition Classes
    Symbol
  241. def isImplementationArtifact: Boolean

    Does this symbol represent an implementation artifact that isn't meant for public use? Examples of such artifacts are erasure bridges and outer fields.

    Does this symbol represent an implementation artifact that isn't meant for public use? Examples of such artifacts are erasure bridges and outer fields.

    Definition Classes
    SymbolContextApiImplSymbolApi
  242. def isImplicit: Boolean
    Definition Classes
    HasFlags
  243. def isInDefaultNamespace: Boolean
    Definition Classes
    Symbol
  244. final def isIncompleteIn(base: SymbolTable.Symbol): Boolean

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

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

    Definition Classes
    Symbol
  245. final def isInitialized: Boolean
    Definition Classes
    Symbol
  246. final def isInitializedToDefault: Boolean
    Definition Classes
    Symbol
  247. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  248. def isInterface: Boolean
    Definition Classes
    HasFlags
  249. final def isInterpreterWrapper: Boolean

    Does this symbol denote a wrapper created by the repl?

    Does this symbol denote a wrapper created by the repl?

    Definition Classes
    Symbol
  250. def isInvariant: Boolean
    Definition Classes
    Symbol
  251. def isJava: Boolean

    Is this symbol defined by Java?

    Is this symbol defined by Java?

    Definition Classes
    SymbolContextApiImplSymbolApi
  252. def isJavaAnnotation: Boolean

    Does this symbol represent a java annotation interface?

    Does this symbol represent a java annotation interface?

    Definition Classes
    SymbolContextApiImplSymbolApi
  253. def isJavaDefined: Boolean
    Definition Classes
    HasFlags
  254. def isJavaEnum: Boolean

    Does this symbol represent a java enum class or a java enum value?

    Does this symbol represent a java enum class or a java enum value?

    Definition Classes
    SymbolContextApiImplSymbolApi
  255. def isJavaInterface: Boolean
    Definition Classes
    ClassSymbolSymbol
  256. def isLabel: Boolean
    Definition Classes
    SymbolHasFlags
  257. def isLazy: Boolean
    Definition Classes
    HasFlags
  258. final def isLess(that: SymbolTable.Symbol): Boolean

    A total ordering between symbols that refines the class inheritance graph (i.e.

    A total ordering between symbols that refines the class inheritance graph (i.e. subclass.isLess(superclass) always holds). the ordering is given by: (_.isType, -_.baseTypeSeq.length) for type symbols, followed by id.

    Definition Classes
    Symbol
  259. def isLessAccessibleThan(other: SymbolTable.Symbol): Boolean
    Definition Classes
    Symbol
  260. def isLifted: Boolean
    Definition Classes
    HasFlags
  261. def isLiftedMethod: Boolean
    Definition Classes
    Symbol
  262. def isLocalClass: Boolean

    Is this class locally defined? A class is local, if

    Is this class locally defined? A class is local, if

    • it is anonymous, or
    • its owner is a value
    • it is defined within a local class
    Definition Classes
    ClassSymbolSymbol
  263. def isLocalDummy: Boolean
    Definition Classes
    Symbol
  264. final def isLocalToBlock: Boolean

    Is this symbol defined in a block?

    Is this symbol defined in a block?

    Definition Classes
    Symbol
  265. def isLocalToThis: Boolean
    Definition Classes
    HasFlags
  266. final def isLocatable: Boolean

    Can this symbol be loaded by a reflective mirror?

    Can this symbol be loaded by a reflective mirror?

    Scalac relies on ScalaSignature' annotation to retain symbols across compilation runs. Such annotations (also called "pickles") are applied on top-level classes and include information about all symbols reachable from the annotee. However, local symbols (e.g. classes or definitions local to a block) are typically unreachable and information about them gets lost.

    This method is useful for macro writers who wish to save certain ASTs to be used at runtime. With isLocatable' it's possible to check whether a tree can be retained as is, or it needs special treatment.

    Definition Classes
    Symbol
  267. def isMacro: Boolean
    Definition Classes
    HasFlags
  268. def isMethod: Boolean

    Does this symbol represent the definition of a method? If yes, isTerm is also guaranteed to be true.

    Does this symbol represent the definition of a method? If yes, isTerm is also guaranteed to be true.

    Definition Classes
    SymbolApi
  269. final def isMethodWithExtension: Boolean
    Definition Classes
    Symbol
  270. def isMixinConstructor: Boolean
    Definition Classes
    Symbol
  271. def isModule: Boolean

    Does this symbol represent the definition of a module (i.e.

    Does this symbol represent the definition of a module (i.e. it results from an object definition?). If yes, isTerm is also guaranteed to be true.

    Definition Classes
    SymbolApi
  272. def isModuleClass: Boolean

    Does this symbol represent the definition of a class implicitly associated with an object definition (module class in scala compiler parlance)? If yes, isType is also guaranteed to be true.

    Does this symbol represent the definition of a class implicitly associated with an object definition (module class in scala compiler parlance)? If yes, isType is also guaranteed to be true.

    Definition Classes
    ClassSymbolSymbolApi
  273. def isModuleNotMethod: Boolean

    Nested modules with a non-static owner receive the METHOD flag during UnCurry's info transform.

    Nested modules with a non-static owner receive the METHOD flag during UnCurry's info transform. (They are replaced by a ClassDef and DefDef for the module accessor during the fields phase.)

    Note: the METHOD flag is added lazily in the info transformer of the UnCurry phase. This means that forcing the sym.info may change the value of sym.isMethod. Forcing the info is in the responsibility of the caller. Doing it eagerly here was tried (0ccdb151f) but has proven to lead to bugs (scala/bug#8907).

    Here's an example where one can see all four of FF FT TF TT for (isStatic, isMethod) at various phases.

    trait A1 { case class Quux() } object A2 extends A1 { object Flax } // -- namer object Quux in trait A1 // -M flatten object Quux in trait A1 // S- flatten object Flax in object A2 // -M posterasure object Quux in trait A1 // -M jvm object Quux in trait A1 // SM jvm object Quux in object A2

    So "isModuleNotMethod" exists not for its achievement in brevity, but to encapsulate the relevant condition.

    Definition Classes
    Symbol
  274. def isModuleOrModuleClass: Boolean
    Definition Classes
    Symbol
  275. final def isModuleVar: Boolean
    Definition Classes
    Symbol
  276. final def isMonomorphicType: Boolean

    Is symbol a monomorphic type? assumption: if a type starts out as monomorphic, it will not acquire type parameters in later phases.

    Is symbol a monomorphic type? assumption: if a type starts out as monomorphic, it will not acquire type parameters in later phases.

    Definition Classes
    Symbol
  277. def isMutable: Boolean
    Definition Classes
    HasFlags
  278. def isMutableVal: Boolean
    Definition Classes
    SymbolContextApiImpl
  279. def isNestedClass: Boolean

    Is this class nested in another class or module (not a package).

    Is this class nested in another class or module (not a package). Includes locally defined classes.

    Definition Classes
    ClassSymbolSymbol
  280. final def isNestedIn(that: SymbolTable.Symbol): Boolean

    A partial ordering between symbols.

    A partial ordering between symbols. (this isNestedIn that) holds iff this symbol is defined within a class or method defining that symbol

    Definition Classes
    Symbol
  281. final def isNonBottomSubClass(that: SymbolTable.Symbol): Boolean

    Is this class symbol a subclass of that symbol, and is this class symbol also different from Null or Nothing?

    Is this class symbol a subclass of that symbol, and is this class symbol also different from Null or Nothing?

    Definition Classes
    TypeSymbolSymbol
  282. final def isNonClassType: Boolean

    A Type, but not a Class.

    A Type, but not a Class.

    Definition Classes
    ClassSymbolTypeSymbolSymbol
  283. def isNumeric: Boolean

    Does this symbol represent the definition of a numeric value class? Namely, is it one of scala.Double, scala.Float, scala.Long, scala.Int, scala.Char, scala.Short, scala.Byte, scala.Unit or scala.Boolean?

    Does this symbol represent the definition of a numeric value class? Namely, is it one of scala.Double, scala.Float, scala.Long, scala.Int, scala.Char, scala.Short, scala.Byte, scala.Unit or scala.Boolean?

    Definition Classes
    ClassSymbolClassSymbolApi
  284. final def isNumericSubClass(that: SymbolTable.Symbol): Boolean
    Definition Classes
    Symbol
  285. def isNumericValueClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  286. final def isOmittablePrefix: Boolean

    Conditions where we omit the prefix when printing a symbol, to avoid unpleasantries like Predef.String, $iw.$iw.Foo and <empty>.Bippy.

    Conditions where we omit the prefix when printing a symbol, to avoid unpleasantries like Predef.String, $iw.$iw.Foo and <empty>.Bippy.

    Definition Classes
    Symbol
  287. def isOnlyRefinementMember: Boolean

    Is this a term symbol only defined in a refinement (so that it needs to be accessed by reflection)?

    Is this a term symbol only defined in a refinement (so that it needs to be accessed by reflection)?

    Definition Classes
    Symbol
  288. final def isOuterAccessor: Boolean

    Is this symbol an accessor method for outer?

    Is this symbol an accessor method for outer?

    Definition Classes
    Symbol
  289. final def isOuterField: Boolean

    Is this symbol an accessor method for outer?

    Is this symbol an accessor method for outer?

    Definition Classes
    Symbol
  290. final def isOuterParam: Boolean

    Is this symbol an outer parameter in a constructor

    Is this symbol an outer parameter in a constructor

    Definition Classes
    Symbol
  291. def isOverloaded: Boolean
    Definition Classes
    Symbol
  292. def isOverloadedMethod: Boolean

    Used to provide a better error message for asMethod.

    Used to provide a better error message for asMethod.

    Attributes
    protected
    Definition Classes
    SymbolApi
  293. final def isOverridableMember: Boolean
    Definition Classes
    Symbol
  294. def isOverride: Boolean
    Definition Classes
    HasFlags
  295. final def isOverridingSymbol: Boolean
    Definition Classes
    Symbol
  296. def isPackageClass: Boolean

    Package/package object tests

    Package/package object tests

    Definition Classes
    ClassSymbolSymbolSymbolApi
  297. def isPackageObject: Boolean
    Definition Classes
    Symbol
  298. def isPackageObjectClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  299. def isPackageObjectOrClass: Boolean
    Definition Classes
    Symbol
  300. def isParamAccessor: Boolean
    Definition Classes
    HasFlags
  301. def isParamWithDefault: Boolean
    Definition Classes
    SymbolContextApiImpl
  302. def isParameter: Boolean
    Definition Classes
    HasFlags
  303. final def isPatternTypeVariable: Boolean
    Definition Classes
    Symbol
  304. final def isPossibleInRefinement: Boolean
    Definition Classes
    Symbol
  305. final def isPrimaryConstructor: Boolean

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

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

    Definition Classes
    Symbol
  306. def isPrimitive: Boolean

    Does this symbol represent the definition of a primitive class? Namely, is it one of scala.Double, scala.Float, scala.Long, scala.Int, scala.Char, scala.Short, scala.Byte, scala.Unit or scala.Boolean?

    Does this symbol represent the definition of a primitive class? Namely, is it one of scala.Double, scala.Float, scala.Long, scala.Int, scala.Char, scala.Short, scala.Byte, scala.Unit or scala.Boolean?

    Definition Classes
    ClassSymbolClassSymbolApi
  307. def isPrimitiveValueClass: Boolean
    Definition Classes
    ClassSymbolSymbol
  308. def isPrivate: Boolean
    Definition Classes
    HasFlags
  309. def isPrivateLocal: Boolean
    Definition Classes
    HasFlags
  310. def isPrivateThis: Boolean

    Does this symbol represent a declaration or definition written in a source file as private[this] or generated in tree/symbol form with the combination of flags LOCAL and PRIVATE? If yes, isPrivate is guaranteed to be true.

    Does this symbol represent a declaration or definition written in a source file as private[this] or generated in tree/symbol form with the combination of flags LOCAL and PRIVATE? If yes, isPrivate is guaranteed to be true.

    Definition Classes
    SymbolContextApiImplSymbolApi
  311. def isProtected: Boolean
    Definition Classes
    HasFlags
  312. def isProtectedLocal: Boolean
    Definition Classes
    HasFlags
  313. def isProtectedThis: Boolean

    Does this symbol represent a declaration or definition written in a source file as protected[this] or generated in tree/symbol form with the combination of flags LOCAL and PROTECTED? If yes, isProtected is guaranteed to be true,

    Does this symbol represent a declaration or definition written in a source file as protected[this] or generated in tree/symbol form with the combination of flags LOCAL and PROTECTED? If yes, isProtected is guaranteed to be true,

    Definition Classes
    SymbolContextApiImplSymbolApi
  314. def isPublic: Boolean
    Definition Classes
    HasFlags
  315. def isRefinementClass: Boolean
    Definition Classes
    Symbol
  316. def isRoot: Boolean

    Overridden in custom objects in Definitions

    Overridden in custom objects in Definitions

    Definition Classes
    Symbol
  317. def isRootPackage: Boolean
    Definition Classes
    Symbol
  318. def isRootSymbol: Boolean
    Definition Classes
    Symbol
  319. def isSealed: Boolean
    Definition Classes
    HasFlags
  320. def isSerializable: Boolean
    Definition Classes
    Symbol
  321. def isSetter: Boolean
    Definition Classes
    Symbol
  322. def isSetterParameter: Boolean
    Definition Classes
    Symbol
  323. def isSingletonExistential: Boolean
    Definition Classes
    Symbol
  324. def isSkolem: Boolean
    Definition Classes
    Symbol
  325. def isSourceMethod: Boolean
    Definition Classes
    Symbol
  326. def isSpecialized: Boolean
    Definition Classes
    HasFlags
  327. final def isStable: Boolean

    Does this symbol denote a stable value, ignoring volatility?

    Does this symbol denote a stable value, ignoring volatility?

    Stability and volatility are checked separately to allow volatile paths in patterns that amount to equality checks. scala/bug#6815

    Definition Classes
    Symbol
  328. def isStatic: Boolean

    Is this symbol static (i.e.

    Is this symbol static (i.e. with no outer instance)? Q: When exactly is a sym marked as STATIC? A: If it's a member of a toplevel object, or of an object contained in a toplevel object, or any number of levels deep. http://groups.google.com/group/scala-internals/browse_thread/thread/d385bcd60b08faf6

    TODO: should this only be invoked on class / module symbols? because there's also isStaticMember.

    Note: the result of isStatic changes over time.

    • Lambdalift local definitions to the class level, the owner field is modified. object T { def foo { object O } } After lambdalift, the OModule.isStatic is true.
    • After flatten, nested classes are moved to the package level. Invoking owner on a class returns a package class, for which isStaticOwner is true. For example, class C { object O } OModuleClass.isStatic is true after flatten. Using phase travel to get before flatten, method owner returns the class C.

    Why not make a stable version of isStatic? Maybe some parts of the compiler depend on the current implementation.

    Definition Classes
    SymbolSymbolApi
  329. final def isStaticConstructor: Boolean

    Is this symbol a static constructor?

    Is this symbol a static constructor?

    Definition Classes
    Symbol
  330. final def isStaticMember: Boolean

    Is this symbol a static member of its class? (i.e.

    Is this symbol a static member of its class? (i.e. needs to be implemented as a Java static?)

    Definition Classes
    Symbol
  331. def isStaticModule: Boolean
    Definition Classes
    Symbol
  332. final def isStaticOwner: Boolean

    Does this symbol denote a class that defines static symbols?

    Does this symbol denote a class that defines static symbols?

    Definition Classes
    Symbol
  333. def isStrictFP: Boolean
    Definition Classes
    Symbol
  334. final def isStructuralRefinement: Boolean

    Is this class or type defined as a structural refinement type?

    Is this class or type defined as a structural refinement type?

    Definition Classes
    Symbol
  335. final def isStructuralRefinementMember: Boolean
    Definition Classes
    Symbol
  336. def isSubClass(that: SymbolTable.Symbol): Boolean

    Overridden in NullClass and NothingClass for custom behavior.

    Overridden in NullClass and NothingClass for custom behavior.

    Definition Classes
    Symbol
  337. def isSuperAccessor: Boolean
    Definition Classes
    HasFlags
  338. def isSynthetic: Boolean
    Definition Classes
    HasFlags
  339. def isTerm: Boolean

    Does this symbol represent the definition of a term? Note that every symbol is either a term or a type.

    Does this symbol represent the definition of a term? Note that every symbol is either a term or a type. So for every symbol sym (except for NoSymbol), either sym.isTerm is true or sym.isType is true.

    Definition Classes
    SymbolApi
  340. def isTermMacro: Boolean
    Definition Classes
    Symbol
  341. final def isThisSym: Boolean
    Definition Classes
    Symbol
  342. def isThreadsafe(purpose: SymbolTable.SymbolOps): Boolean

    We consider a symbol to be thread-safe, when multiple concurrent threads can call its methods (either directly or indirectly via public reflection or internal compiler infrastructure), without any locking and everything works as it should work.

    We consider a symbol to be thread-safe, when multiple concurrent threads can call its methods (either directly or indirectly via public reflection or internal compiler infrastructure), without any locking and everything works as it should work.

    In its basic form, isThreadsafe always returns false. Runtime reflection augments reflection infrastructure with threadsafety-tracking mechanism implemented in SynchronizedSymbol that communicates with underlying completers and can sometimes return true if the symbol has been completed to the point of thread safety.

    The purpose parameter signifies whether we want to just check immutability of certain flags for the given mask. This is necessary to enable robust auto-initialization of Symbol.flags for runtime reflection, and is also quite handy in avoiding unnecessary initializations when requesting for flags that have already been set.

    Definition Classes
    Symbol
  343. final def isTopLevel: Boolean

    Is this symbol owned by a package?

    Is this symbol owned by a package?

    Definition Classes
    Symbol
  344. def isTrait: Boolean

    Does this symbol represent a trait?

    Does this symbol represent a trait?

    Definition Classes
    ClassSymbolClassSymbolApiSymbolHasFlags
  345. def isTraitOrInterface: Boolean
    Definition Classes
    HasFlags
  346. final def isType: Boolean

    Does this symbol represent the definition of a type? Note that every symbol is either a term or a type.

    Does this symbol represent the definition of a type? Note that every symbol is either a term or a type. So for every symbol sym (except for NoSymbol), either sym.isTerm is true or sym.isType is true.

    Definition Classes
    TypeSymbolApiSymbolApi
  347. def isTypeParameter: Boolean
    Definition Classes
    TypeSymbolSymbol
  348. def isTypeParameterOrSkolem: Boolean
    Definition Classes
    TypeSymbolSymbol
  349. def isTypeSkolem: Boolean
    Definition Classes
    Symbol
  350. def isVal: Boolean
    Definition Classes
    SymbolContextApiImpl
  351. def isValue: Boolean
    Definition Classes
    Symbol
  352. def isValueParameter: Boolean
    Definition Classes
    Symbol
  353. def isVar: Boolean
    Definition Classes
    SymbolContextApiImpl
  354. def isVarargsMethod: Boolean
    Definition Classes
    Symbol
  355. def isVariable: Boolean
    Definition Classes
    Symbol
  356. final def isWeakSubClass(that: SymbolTable.Symbol): Boolean
    Definition Classes
    Symbol
  357. def javaBinaryName: SymbolTable.Name
    Definition Classes
    Symbol
  358. def javaBinaryNameString: String
    Definition Classes
    Symbol
  359. def javaClassName: String
    Definition Classes
    Symbol
  360. def javaSimpleName: SymbolTable.Name

    These should be moved somewhere like JavaPlatform.

    These should be moved somewhere like JavaPlatform.

    Definition Classes
    Symbol
  361. final def keyString: String

    String representation of symbol's definition key word

    String representation of symbol's definition key word

    Definition Classes
    Symbol
  362. final def kindString: String
    Definition Classes
    Symbol
  363. def knownDirectSubclasses: Set[SymbolTable.Symbol]
    Definition Classes
    SymbolContextApiImpl
  364. def linkedClassOfClass: SymbolTable.Symbol

    For a module class: its linked class For a plain class: the module class of its linked module.

    For a module class: its linked class For a plain class: the module class of its linked module.

    class Foo <-- linkedClassOfClass --> class Foo$

    Definition Classes
    ClassSymbolSymbol
  365. def localName: SymbolTable.TermName
    Definition Classes
    Symbol
  366. def locationString: String

    String representation of location, plus a preposition.

    String representation of location, plus a preposition. Doesn't do much, for backward compatibility reasons.

    Definition Classes
    Symbol
  367. final def logicallyEnclosingMember: SymbolTable.Symbol

    The method or class which logically encloses the current symbol.

    The method or class which logically encloses the current symbol. If the symbol is defined in the initialization part of a template this is the template's primary constructor, otherwise it is the physically enclosing method or class.

    Example 1:

    def f() { val x = { def g() = ...; g() } }

    In this case the owner chain of g is x, followed by f and g.logicallyEnclosingMember == f.

    Example 2:

    class C { def <init> = { ... } val x = { def g() = ...; g() } } }

    In this case the owner chain of g is x, followed by C but g.logicallyEnclosingMember is the primary constructor symbol <init> (or, for traits: $init) of C.

    Definition Classes
    Symbol
  368. final def makeNotPrivate(base: SymbolTable.Symbol): Unit

    Remove private modifier from symbol syms definition.

    Remove private modifier from symbol syms definition. If sym is a is not a constructor nor a static module rename it by expanding its name to avoid name clashes

    base

    the fully qualified name of this class will be appended if name expansion is needed

    Definition Classes
    Symbol
  369. def makePublic: SymbolTable.Symbol

    Remove any access boundary and clear flags PROTECTED | PRIVATE.

    Remove any access boundary and clear flags PROTECTED | PRIVATE.

    Definition Classes
    Symbol
  370. def makeSerializable(): Unit

    Adds the interface scala.Serializable to the parents of a ClassInfoType.

    Adds the interface scala.Serializable to the parents of a ClassInfoType. Note that the tree also has to be updated accordingly.

    Definition Classes
    Symbol
  371. final def map(f: (SymbolTable.Symbol) ⇒ SymbolTable.Symbol): SymbolTable.Symbol

    If this is a NoSymbol, returns NoSymbol, otherwise returns the result of applying f to this symbol.

    If this is a NoSymbol, returns NoSymbol, otherwise returns the result of applying f to this symbol.

    Definition Classes
    SymbolSymbolApi
    Annotations
    @inline()
  372. def markAllCompleted(): ClassSymbol.this.type
    Definition Classes
    Symbol
  373. def markFlagsCompleted(mask: Long): ClassSymbol.this.type
    Definition Classes
    Symbol
  374. final def matchingSymbol(site: SymbolTable.Type, admit: Long = 0L): SymbolTable.Symbol

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

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

    Definition Classes
    Symbol
  375. final def matchingSymbol(ofclazz: SymbolTable.Symbol, site: SymbolTable.Type): SymbolTable.Symbol

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

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

    ofclazz

    The class containing the symbol's definition

    site

    The base type from which member types are computed

    Definition Classes
    Symbol
  376. def maybeInitialize: Boolean
    Definition Classes
    Symbol
  377. def migrationMessage: Option[String]
    Definition Classes
    Symbol
  378. def migrationVersion: Option[String]
    Definition Classes
    Symbol
  379. def mixinClasses: List[SymbolTable.Symbol]

    The directly or indirectly inherited mixins of this class except for mixin classes inherited by the superclass.

    The directly or indirectly inherited mixins of this class except for mixin classes inherited by the superclass. Mixin classes appear in linearization order.

    Definition Classes
    Symbol
  380. def modifyInfo(f: (SymbolTable.Type) ⇒ SymbolTable.Type): ClassSymbol.this.type

    Modifies this symbol's info in place.

    Modifies this symbol's info in place.

    Definition Classes
    Symbol
  381. def module: SymbolTable.Symbol
    Definition Classes
    SymbolContextApiImpl
  382. def moduleClass: SymbolTable.Symbol

    The module class corresponding to this module.

    The module class corresponding to this module.

    Definition Classes
    Symbol
  383. def moduleSuffix: String
    Definition Classes
    Symbol
  384. final def name: NameType

    The name of the symbol as a member of the Name type.

    The name of the symbol as a member of the Name type.

    Definition Classes
    SymbolSymbolApi
  385. def nameString: String

    String representation of symbol's simple name.

    String representation of symbol's simple name. If !settings.debug translates expansions of operators back to operator symbol. E.g. $eq => =. If settings.uniqid, adds id. If settings.Yshowsymowners, adds owner's id If settings.Yshowsymkinds, adds abbreviated symbol kind.

    Definition Classes
    Symbol
  386. def name_=(name: SymbolTable.Name): Unit
    Definition Classes
    TypeSymbolSymbol
  387. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  388. def needsExpandedSetterName: Boolean
    Definition Classes
    Symbol
  389. final def needsFlatClasses: Boolean
    Definition Classes
    Symbol
  390. def needsModuleSuffix: Boolean

    Whether this symbol needs nme.MODULE_SUFFIX_STRING (aka $) appended on the java platform.

    Whether this symbol needs nme.MODULE_SUFFIX_STRING (aka $) appended on the java platform.

    Definition Classes
    Symbol
  391. final def newAbstractType(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.AbstractTypeSymbol

    Symbol of an abstract type type T >: ...

    Symbol of an abstract type type T >: ... <: ...

    Definition Classes
    Symbol
  392. final def newAliasType(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.AliasTypeSymbol

    Symbol of a type definition type T = ...

    Symbol of a type definition type T = ...

    Definition Classes
    Symbol
  393. final def newAnonymousFunctionClass(pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ClassSymbol
    Definition Classes
    Symbol
  394. final def newAnonymousFunctionValue(pos: SymbolTable.Position, newFlags: Long = 0L): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  395. final def newClass(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ClassSymbol
    Definition Classes
    Symbol
  396. def newClassConstructor(pos: SymbolTable.Position): SymbolTable.MethodSymbol

    Instance constructor with info set.

    Instance constructor with info set.

    Definition Classes
    Symbol
  397. final def newClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ClassSymbol
    Definition Classes
    Symbol
  398. def newClassWithInfo(name: SymbolTable.TypeName, parents: List[SymbolTable.Type], scope: SymbolTable.Scope, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ClassSymbol

    A new class with its info set to a ClassInfoType with given scope and parents.

    A new class with its info set to a ClassInfoType with given scope and parents.

    Definition Classes
    Symbol
  399. final def newConstructor(pos: SymbolTable.Position, newFlags: Long = 0L): SymbolTable.MethodSymbol

    Propagates ConstrFlags (JAVA, specifically) from owner to constructor.

    Propagates ConstrFlags (JAVA, specifically) from owner to constructor.

    Definition Classes
    Symbol
  400. final def newErrorClass(name: SymbolTable.TypeName): SymbolTable.ClassSymbol
    Definition Classes
    Symbol
  401. final def newErrorSymbol(name: SymbolTable.Name): SymbolTable.Symbol
    Definition Classes
    Symbol
  402. final def newErrorValue(name: SymbolTable.TermName): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  403. final def newExistential(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TypeSymbol

    Symbol of an existential type T forSome { ...

    Symbol of an existential type T forSome { ... }

    Definition Classes
    Symbol
  404. def newExistentialSkolem(name: SymbolTable.TypeName, info: SymbolTable.Type, flags: Long, pos: SymbolTable.Position, origin: AnyRef): SymbolTable.TypeSkolem

    Create a new existential type skolem with this symbol its owner, and the given other properties.

    Create a new existential type skolem with this symbol its owner, and the given other properties.

    Definition Classes
    Symbol
  405. def newExistentialSkolem(basis: SymbolTable.Symbol, origin: AnyRef): SymbolTable.TypeSkolem

    Create a new existential type skolem with this symbol its owner, based on the given symbol and origin.

    Create a new existential type skolem with this symbol its owner, based on the given symbol and origin.

    Definition Classes
    Symbol
  406. def newGADTSkolem(name: SymbolTable.TypeName, origin: SymbolTable.Symbol, info: SymbolTable.Type): SymbolTable.TypeSkolem
    Definition Classes
    Symbol
  407. final def newImport(pos: SymbolTable.Position): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  408. final def newLabel(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition): SymbolTable.MethodSymbol
    Definition Classes
    Symbol
  409. def newLinkedModule(moduleClass: SymbolTable.Symbol, newFlags: Long = 0L): SymbolTable.ModuleSymbol
    Definition Classes
    Symbol
  410. final def newLocalDummy(pos: SymbolTable.Position): SymbolTable.TermSymbol

    Create local dummy for template (owner of local blocks)

    Create local dummy for template (owner of local blocks)

    Definition Classes
    Symbol
  411. final def newMethod(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.MethodSymbol
    Definition Classes
    Symbol
  412. final def newMethodSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.MethodSymbol
    Definition Classes
    Symbol
  413. final def newModule(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags0: Long = 0L): SymbolTable.ModuleSymbol
    Definition Classes
    Symbol
  414. final def newModuleAndClassSymbol(name: SymbolTable.Name, pos: SymbolTable.Position, flags0: SymbolTable.FlagSet): (SymbolTable.ModuleSymbol, SymbolTable.ClassSymbol)
    Definition Classes
    Symbol
  415. final def newModuleClass(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ModuleClassSymbol
    Definition Classes
    Symbol
  416. final def newModuleClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ModuleClassSymbol
    Definition Classes
    Symbol
  417. final def newModuleSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ModuleSymbol
    Definition Classes
    Symbol
  418. def newNestedSymbol(name: SymbolTable.Name, pos: SymbolTable.Position, newFlags: Long, isClass: Boolean): SymbolTable.Symbol
    Definition Classes
    SymbolContextApiImpl
  419. final def newNonClassSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TypeSymbol
    Definition Classes
    Symbol
  420. final def newOverloaded(pre: SymbolTable.Type, alternatives: List[SymbolTable.Symbol]): SymbolTable.TermSymbol

    pre

    type relative to which alternatives are seen. for instance: class C[T] { def m(x: T): T def m'(): T } val v: C[Int] Then v.m has symbol TermSymbol(flags = {OVERLOADED}, tpe = OverloadedType(C[Int], List(m, m'))) You recover the type of m doing a m.tpe.asSeenFrom(pre, C) (generally, owner of m, which is C here). or: pre.memberType(m)

    Definition Classes
    Symbol
  421. final def newPackage(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.ModuleSymbol
    Definition Classes
    Symbol
  422. final def newRefinementClass(pos: SymbolTable.Position): SymbolTable.RefinementClassSymbol

    Refinement types P { val x: String; type T <: Number } also have symbols, they are refinementClasses

    Refinement types P { val x: String; type T <: Number } also have symbols, they are refinementClasses

    Definition Classes
    Symbol
  423. def newStaticConstructor(pos: SymbolTable.Position): SymbolTable.MethodSymbol

    Static constructor with info set.

    Static constructor with info set.

    Definition Classes
    Symbol
  424. def newStubSymbol(name: SymbolTable.Name, missingMessage: String): SymbolTable.Symbol

    Creates a placeholder symbol for when a name is encountered during unpickling for which there is no corresponding classfile.

    Creates a placeholder symbol for when a name is encountered during unpickling for which there is no corresponding classfile. This defers failure to the point when that name is used for something, which is often to the point of never.

    Definition Classes
    Symbol
  425. def newSyntheticTypeParam(name: String, newFlags: Long): SymbolTable.TypeSymbol
    Definition Classes
    Symbol
  426. def newSyntheticTypeParams(num: Int): List[SymbolTable.TypeSymbol]
    Definition Classes
    Symbol
  427. final def newSyntheticValueParam(argtype: SymbolTable.Type, name: SymbolTable.TermName = nme.syntheticParamName(1)): SymbolTable.TermSymbol

    Synthetic value parameter when parameter symbol is not available.

    Synthetic value parameter when parameter symbol is not available. Calling this method multiple times will re-use the same parameter name.

    Definition Classes
    Symbol
  428. final def newSyntheticValueParams(argtypes: List[SymbolTable.Type], freshName: () ⇒ SymbolTable.TermName): List[SymbolTable.TermSymbol]
    Definition Classes
    Symbol
  429. final def newSyntheticValueParams(argtypes: List[SymbolTable.Type]): List[SymbolTable.TermSymbol]

    Synthetic value parameters when parameter symbols are not available.

    Synthetic value parameters when parameter symbols are not available. Calling this method multiple times will re-use the same parameter names.

    Definition Classes
    Symbol
  430. final def newTermSymbol(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  431. final def newThisSym(name: SymbolTable.TermName = nme.this_, pos: SymbolTable.Position = NoPosition): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  432. final def newTypeParameter(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TypeSymbol

    Symbol of a type parameter

    Symbol of a type parameter

    Definition Classes
    Symbol
  433. final def newTypeSkolem: SymbolTable.TypeSkolem

    Type skolems are type parameters seen from the inside Assuming a polymorphic method m[T], its type is a PolyType which has a TypeParameter with name T in its typeParams list.

    Type skolems are type parameters seen from the inside Assuming a polymorphic method m[T], its type is a PolyType which has a TypeParameter with name T in its typeParams list. While type checking the parameters, result type and body of the method, there's a local copy of T which is a TypeSkolem.

    Definition Classes
    Symbol
  434. final def newTypeSkolemSymbol(name: SymbolTable.TypeName, origin: AnyRef, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TypeSkolem
    Definition Classes
    Symbol
  435. def newTypeSymbol(name: SymbolTable.TypeName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TypeSymbol
    Definition Classes
    Symbol
  436. final def newValue(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  437. final def newValueParameter(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  438. final def newVariable(name: SymbolTable.TermName, pos: SymbolTable.Position = NoPosition, newFlags: Long = 0L): SymbolTable.TermSymbol
    Definition Classes
    Symbol
  439. def nextOverriddenSymbol: SymbolTable.Symbol

    Equivalent to allOverriddenSymbols.head (or NoSymbol if no overrides) but more efficient.

    Equivalent to allOverriddenSymbols.head (or NoSymbol if no overrides) but more efficient.

    Definition Classes
    Symbol
  440. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  441. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native()
  442. final def orElse(alt: ⇒ SymbolTable.Symbol): SymbolTable.Symbol

    Provides an alternate if symbol is a NoSymbol.

    Provides an alternate if symbol is a NoSymbol.

    Definition Classes
    SymbolSymbolApi
    Annotations
    @inline()
  443. def originalEnclosingTopLevelClassOrDummy: SymbolTable.Symbol

    The top-level class or local dummy symbol containing this symbol, using the original owner chain.

    The top-level class or local dummy symbol containing this symbol, using the original owner chain.

    Definition Classes
    Symbol
  444. def originalInfo: SymbolTable.Type
    Definition Classes
    Symbol
  445. def originalOwner: SymbolTable.Symbol

    The initial owner of this symbol.

    The initial owner of this symbol.

    Definition Classes
    Symbol
  446. final def outerClass: SymbolTable.Symbol

    The class that is logically an outer class of given clazz.

    The class that is logically an outer class of given clazz. This is the enclosing class, except for classes defined locally to constructors, where it is the outer class of the enclosing class.

    Definition Classes
    Symbol
  447. def outerSource: SymbolTable.Symbol

    For an outer accessor: The class from which the outer originates.

    For an outer accessor: The class from which the outer originates. For all other symbols: NoSymbol

    Definition Classes
    Symbol
  448. final def overriddenSymbol(baseClass: SymbolTable.Symbol): SymbolTable.Symbol

    The symbol, in class baseClass, that is overridden by this symbol.

    The symbol, in class baseClass, that is overridden by this symbol.

    baseClass

    is a base class of this symbol's owner.

    Definition Classes
    Symbol
  449. def overrideChain: collection.immutable.List[SymbolTable.Symbol]
    Definition Classes
    Symbol
  450. def overrides: List[SymbolTable.Symbol]

    Returns all symbols overridden by this symbol.

    Returns all symbols overridden by this symbol.

    Definition Classes
    SymbolContextApiImplSymbolApi
  451. final def overridingSymbol(ofclazz: SymbolTable.Symbol): SymbolTable.Symbol

    The symbol overriding this symbol in given subclass ofclazz.

    The symbol overriding this symbol in given subclass ofclazz.

    ofclazz

    is a subclass of this symbol's owner

    Definition Classes
    Symbol
  452. def owner: SymbolTable.Symbol

    The owner of a symbol.

    The owner of a symbol. Changes over time to adapt to the structure of the trees:

    • Up to lambdalift, the owner is the lexically enclosing definition. For definitions in a local block, the owner is also the next enclosing definition.
    • After lambdalift, all local method and class definitions (those not owned by a class or package class) change their owner to the enclosing class. This is done through a destructive "sym.owner = sym.owner.enclClass". The old owner is saved by saveOriginalOwner.
    • After flatten, all classes are owned by a PackageClass. This is done through a phase check (if after flatten) in the (overridden) method "def owner" in ModuleSymbol / ClassSymbol. The rawowner field is not modified.
    • Owners are also changed in other situations, for example when moving trees into a new lexical context, e.g. in the named/default arguments transformation, or when translating extension method definitions.

    In general when seeking the owner of a symbol, one should call owner. The other possibilities include:

    • call safeOwner if it is expected that the target may be NoSymbol
    • call assertOwner if it is an unrecoverable error if the target is NoSymbol

    owner behaves like safeOwner, but logs NoSymbol.owner calls under -Xdev. assertOwner aborts compilation immediately if called on NoSymbol.

    Definition Classes
    ClassSymbolSymbolSymbolApi
  453. def ownerChain: List[SymbolTable.Symbol]
    Definition Classes
    Symbol
  454. def owner_=(owner: SymbolTable.Symbol): Unit
    Definition Classes
    Symbol
  455. def ownersIterator: Iterator[SymbolTable.Symbol]
    Definition Classes
    Symbol
  456. def ownsString: String

    String representation of location.

    String representation of location.

    Definition Classes
    Symbol
  457. def packageObject: SymbolTable.Symbol

    The package object symbol corresponding to this package or package class symbol, or NoSymbol otherwise

    The package object symbol corresponding to this package or package class symbol, or NoSymbol otherwise

    Definition Classes
    Symbol
  458. def paramLists: List[List[SymbolTable.Symbol]]
    Definition Classes
    SymbolContextApiImpl
  459. def paramPos: Int

    The sequence number of this parameter symbol among all type and value parameters of symbol's owner.

    The sequence number of this parameter symbol among all type and value parameters of symbol's owner. -1 if symbol does not appear among the parameters of its owner.

    Definition Classes
    Symbol
  460. def paramss: List[List[SymbolTable.Symbol]]

    The value parameter sections of this symbol.

    The value parameter sections of this symbol.

    Definition Classes
    Symbol
  461. def parentSymbols: List[SymbolTable.Symbol]
    Definition Classes
    Symbol
  462. def parentSymbolsIterator: Iterator[SymbolTable.Symbol]
    Definition Classes
    Symbol
  463. def pos: SymbolTable.Position
    Definition Classes
    Attachable
  464. def pos_=(pos: SymbolTable.Position): Unit
    Definition Classes
    Attachable
  465. def primaryConstructor: SymbolTable.Symbol

    For a Scala class or module class, the primary constructor of the class.

    For a Scala class or module class, the primary constructor of the class. For a Scala trait, its mixin constructor. For a Scala package class, NoSymbol. For a Java class, NoSymbol.

    Known issues: Due to scala/bug#8367, primaryConstructor may return unexpected results when called for Java classes (for some vague definition of a "Java class", which apparently not only includes javac-produced classfiles, but also consists of classes defined in Scala programs under the java.lang package). What's even worse, for some Java classes we can't even guarantee stability of the return value - depending on your classloader configuration and/or JDK version you might get different primaryConstructor for the same ClassSymbol. We have logged these issues at scala/bug#8193.

    Definition Classes
    ClassSymbolClassSymbolApiSymbol
  466. def primaryConstructorName: StdNames.nme.NameType
  467. def privateWithin: SymbolTable.Symbol

    Access level encoding: there are three scala flags (PRIVATE, PROTECTED, and LOCAL) which combine with value privateWithin (the "foo" in private[foo]) to define from where an entity can be accessed.

    Access level encoding: there are three scala flags (PRIVATE, PROTECTED, and LOCAL) which combine with value privateWithin (the "foo" in private[foo]) to define from where an entity can be accessed. The meanings are as follows:

    PRIVATE access restricted to class only. PROTECTED access restricted to class and subclasses only. LOCAL can only be set in conjunction with PRIVATE or PROTECTED. Further restricts access to the same object instance.

    In addition, privateWithin can be used to set a visibility barrier. When set, everything contained in the named enclosing package or class has access. It is incompatible with PRIVATE or LOCAL, but is additive with PROTECTED (i.e. if either the flags or privateWithin allow access, then it is allowed.)

    The java access levels translate as follows:

    java private: hasFlag(PRIVATE) && !hasAccessBoundary java package: !hasFlag(PRIVATE | PROTECTED) && (privateWithin == enclosing package) java protected: hasFlag(PROTECTED) && (privateWithin == enclosing package) java public: !hasFlag(PRIVATE | PROTECTED) && !hasAccessBoundary

    Definition Classes
    SymbolHasFlagsSymbolApi
  468. def privateWithin_=(sym: SymbolTable.Symbol): Unit
    Definition Classes
    Symbol
  469. def rawFlagString: String
    Definition Classes
    Symbol
  470. def rawFlagString(mask: Long): String
    Definition Classes
    Symbol
  471. def rawInfo: SymbolTable.Type

    Return info without checking for initialization or completing

    Return info without checking for initialization or completing

    Definition Classes
    Symbol
  472. final def rawInfoIsNoType: Boolean
    Definition Classes
    Symbol
  473. val rawatt: Attachments { type Pos = Symbols.this.Position }
    Attributes
    protected
    Definition Classes
    Attachable
  474. final def rawflags: Long
    Definition Classes
    Symbol
  475. def rawflags_=(x: Long): Unit
    Definition Classes
    Symbol
  476. final def rawname: NameType
    Definition Classes
    Symbol
  477. final def rawowner: SymbolTable.Symbol
    Definition Classes
    Symbol
  478. def removeAnnotation(cls: SymbolTable.Symbol): SymbolTable.Symbol
    Definition Classes
    Annotatable
  479. def removeAttachment[T](implicit arg0: ClassTag[T]): ClassSymbol.this.type
    Definition Classes
    Attachable
  480. def reset(completer: SymbolTable.Type): ClassSymbol.this.type

    Reset symbol to initial state

    Reset symbol to initial state

    Definition Classes
    ClassSymbolTypeSymbolSymbol
  481. def resetFlag(mask: Long): ClassSymbol.this.type
    Definition Classes
    Symbol
  482. def resetFlags(): Unit
    Definition Classes
    Symbol
  483. def resolveOverloadedFlag(flag: Long): String

    Default implementation calls the generic string function, which will print overloaded flags as <flag1/flag2/flag3>.

    Default implementation calls the generic string function, which will print overloaded flags as <flag1/flag2/flag3>. Subclasses of Symbol refine.

    Definition Classes
    ClassSymbolTypeSymbolSymbolHasFlags
  484. final def safeOwner: SymbolTable.Symbol
    Definition Classes
    Symbol
  485. final def sealedChildren: Set[SymbolTable.Symbol]
    Definition Classes
    Symbol
  486. final def sealedDescendants: Set[SymbolTable.Symbol]

    Recursively assemble all children of this symbol.

    Recursively assemble all children of this symbol.

    Definition Classes
    Symbol
  487. final def sealedSortName: String

    The String used to order otherwise identical sealed symbols.

    The String used to order otherwise identical sealed symbols. This uses data which is stable across runs and variable classpaths (the initial Name) before falling back on id, which varies depending on exactly when a symbol is loaded.

    Definition Classes
    Symbol
  488. def selfType: SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  489. def setAnnotations(annots: List[SymbolTable.AnnotationInfo]): ClassSymbol.this.type
    Definition Classes
    SymbolAnnotatable
  490. def setAnnotations(annots: SymbolTable.AnnotationInfo*): ClassSymbol.this.type
    Definition Classes
    SymbolContextApiImpl
  491. def setAttachments(attachments: Attachments { type Pos = Symbols.this.Position }): ClassSymbol.this.type
    Definition Classes
    Attachable
  492. def setFlag(mask: Long): ClassSymbol.this.type
    Definition Classes
    Symbol
  493. def setInfo(info: SymbolTable.Type): ClassSymbol.this.type

    Set initial info.

    Set initial info.

    Definition Classes
    Symbol
  494. def setInfoAndEnter(info: SymbolTable.Type): ClassSymbol.this.type

    Set the info and enter this symbol into the owner's scope.

    Set the info and enter this symbol into the owner's scope.

    Definition Classes
    Symbol
  495. def setInfoOwnerAdjusted(info: SymbolTable.Type): ClassSymbol.this.type
    Definition Classes
    Symbol
  496. def setName(name: SymbolTable.Name): ClassSymbol.this.type
    Definition Classes
    Symbol
  497. def setPos(newpos: SymbolTable.Position): ClassSymbol.this.type
    Definition Classes
    Attachable
  498. def setPrivateWithin(sym: SymbolTable.Symbol): ClassSymbol.this.type
    Definition Classes
    Symbol
  499. def setter: SymbolTable.Symbol
    Definition Classes
    SymbolContextApiImpl
  500. final def setterIn(base: SymbolTable.Symbol, hasExpandedName: Boolean = needsExpandedSetterName): SymbolTable.Symbol

    The setter of this value or getter definition, or NoSymbol if none exists.

    The setter of this value or getter definition, or NoSymbol if none exists.

    Definition Classes
    Symbol
  501. def setterName: SymbolTable.TermName
    Definition Classes
    Symbol
  502. def setterNameInBase(base: SymbolTable.Symbol, expanded: Boolean): SymbolTable.TermName
    Definition Classes
    Symbol
  503. def shortSymbolClass: String
    Definition Classes
    Symbol
  504. def signatureString: String
    Definition Classes
    Symbol
  505. final def simpleName: SymbolTable.Name

    The simple name of this Symbol

    The simple name of this Symbol

    Definition Classes
    Symbol
  506. final def skipConstructor: SymbolTable.Symbol

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

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

    Definition Classes
    Symbol
  507. def skipPackageObject: SymbolTable.Symbol

    If this is a package object or its implementing class, its owner: otherwise this.

    If this is a package object or its implementing class, its owner: otherwise this.

    Definition Classes
    Symbol
  508. final def sourceFile: AbstractFile
    Definition Classes
    Symbol
  509. def sourceModule: SymbolTable.Symbol

    The module corresponding to this module class (note that this is not updated when a module is cloned), or NoSymbol if this is not a ModuleClass.

    The module corresponding to this module class (note that this is not updated when a module is cloned), or NoSymbol if this is not a ModuleClass.

    Definition Classes
    ClassSymbolSymbol
  510. def sourceModule_=(sym: SymbolTable.Symbol): Unit
    Definition Classes
    Symbol
  511. def staticAnnotations: collection.immutable.List[SymbolTable.AnnotationInfo]
    Definition Classes
    Annotatable
  512. def substInfo(syms0: List[SymbolTable.Symbol], syms1: List[SymbolTable.Symbol]): ClassSymbol.this.type

    Substitute second list of symbols for first in current info.

    Substitute second list of symbols for first in current info.

    NOTE: this discards the type history (uses setInfo)

    Definition Classes
    Symbol
  513. def suchThat(cond: (SymbolTable.Symbol) ⇒ Boolean): SymbolTable.Symbol

    Does the same as filter, but crashes if there are multiple matches.

    Does the same as filter, but crashes if there are multiple matches.

    Definition Classes
    SymbolSymbolApi
  514. def sugaredSymbolOrSelf: SymbolTable.Symbol

    Given a field, construct a term symbol that represents the source construct that gave rise the field

    Given a field, construct a term symbol that represents the source construct that gave rise the field

    Definition Classes
    Symbol
  515. def superClass: SymbolTable.Symbol

    The superclass of this class.

    The superclass of this class.

    Definition Classes
    Symbol
  516. def superPrefix(supertpe: SymbolTable.Type): SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  517. final def superSymbolIn(base: SymbolTable.Symbol): SymbolTable.Symbol

    The symbol accessed by a super in the definition of this symbol when seen from class base.

    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.

    Definition Classes
    Symbol
  518. def symbolCreationString: String
    Definition Classes
    Symbol
  519. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  520. def thisPrefix: SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  521. def thisSym: SymbolTable.Symbol

    A symbol carrying the self type of the class as its type

    A symbol carrying the self type of the class as its type

    Definition Classes
    ClassSymbolSymbol
  522. def thisType: SymbolTable.Type

    the type this.type in this class

    the type this.type in this class

    Definition Classes
    ClassSymbolSymbol
  523. final def toOption: Option[SymbolTable.Symbol]
    Definition Classes
    Symbol
  524. def toString(): String

    String representation, including symbol's kind e.g., "class Foo", "method Bar".

    String representation, including symbol's kind e.g., "class Foo", "method Bar". If hasMeaninglessName is true, uses the owner's name to disambiguate identity.

    Definition Classes
    ClassSymbolSymbol → AnyRef → Any
  525. def toType: SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  526. def toTypeConstructor: SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  527. def toTypeIn(site: SymbolTable.Type): SymbolTable.Type
    Definition Classes
    SymbolContextApiImpl
  528. final def tpe: SymbolTable.Type

    The "type" of this symbol.

    The "type" of this symbol. The type of a term symbol is its usual type. A TypeSymbol is more complicated; see that class for elaboration. Since tpe forwards to tpe_*, if you call it on a type symbol with unapplied type parameters, the type returned will contain dummies types. These will hide legitimate errors or create spurious ones if used as normal types.

    For type symbols, tpe is different than info. tpe returns a typeRef to the type symbol, info returns the type information of the type symbol, e.g. a ClassInfoType for classes or a TypeBounds for abstract types.

    Definition Classes
    Symbol
  529. def tpeHK: SymbolTable.Type

    typeConstructor throws an exception when called on term symbols; this is a more forgiving alternative.

    typeConstructor throws an exception when called on term symbols; this is a more forgiving alternative. Calls typeConstructor on TypeSymbols, returns info otherwise.

    Definition Classes
    TypeSymbolSymbol
  530. def tpe_*: SymbolTable.Type

    A polymorphic type symbol has two distinct "types":

    A polymorphic type symbol has two distinct "types":

    tpe_* a TypeRef with: dummy type args, no unapplied type parameters, and kind * tpeHK a TypeRef with: no type args, unapplied type parameters, and kind (*,*,...,*) => * depending on the number of tparams.

    The dummy type args in tpe_* are created by wrapping a TypeRef around the type parameter symbols. Types containing dummies will hide errors or introduce spurious ones if they are passed around as if normal types. They should only be used in local operations where they will either be discarded immediately after, or will undergo substitution in which the dummies are replaced by actual type arguments.

    Definition Classes
    TypeSymbolSymbol
  531. def typeConstructor: SymbolTable.Type

    Only applicable to TypeSymbols, it is the type corresponding to the symbol itself.

    Only applicable to TypeSymbols, it is the type corresponding to the symbol itself. For instance, the type of a List might be List[Int] - the same symbol's typeConstructor is simply List. One might be tempted to write that as List[_], and in some contexts this is possible, but it is discouraged because it is syntactically indistinguishable from and easily confused with the type List[T] forSome { type T; }, which can also be written List[_].

    Definition Classes
    TypeSymbolSymbol
  532. def typeOfThis: SymbolTable.Type

    The type of this in a class, or else the type of the symbol itself.

    The type of this in a class, or else the type of the symbol itself.

    Definition Classes
    Symbol
  533. def typeOfThis_=(tp: SymbolTable.Type): Unit

    Sets the self type of the class

    Sets the self type of the class

    Definition Classes
    ClassSymbolSymbol
  534. def typeParams: List[SymbolTable.Symbol]

    The type parameters of this symbol.

    The type parameters of this symbol. assumption: if a type starts out as monomorphic, it will not acquire type parameters later.

    Definition Classes
    Symbol
  535. def typeSignature: SymbolTable.Type

    Definition Classes
    SymbolContextApiImplSymbolApi
    See also

    info

  536. def typeSignatureIn(site: SymbolTable.Type): SymbolTable.Type

    Definition Classes
    SymbolContextApiImplSymbolApi
    See also

    infoIn

  537. def unexpandedName: SymbolTable.Name

    If this symbol has an expanded name, its original (unexpanded) name, otherwise the name itself.

    If this symbol has an expanded name, its original (unexpanded) name, otherwise the name itself.

    Definition Classes
    Symbol
  538. def unpackLocation: AnyRef

    If this symbol is an existential skolem the location (a Tree or null) where it was unpacked.

    If this symbol is an existential skolem the location (a Tree or null) where it was unpacked. Resulttype is AnyRef because trees are not visible here.

    Definition Classes
    Symbol
  539. def unsafeTypeParams: List[SymbolTable.Symbol]

    The type parameters of this symbol, without ensuring type completion.

    The type parameters of this symbol, without ensuring type completion. assumption: if a type starts out as monomorphic, it will not acquire type parameters later.

    Definition Classes
    Symbol
  540. def updateAttachment[T](attachment: T)(implicit arg0: ClassTag[T]): ClassSymbol.this.type
    Definition Classes
    Attachable
  541. def updateInfo(info: SymbolTable.Type): SymbolTable.Symbol

    Set new info valid from start of this phase.

    Set new info valid from start of this phase.

    Definition Classes
    Symbol
  542. def validTo: Period
    Definition Classes
    Symbol
  543. def validTo_=(x: Period): Unit
    Definition Classes
    Symbol
  544. def variance: Variance

    The variance of this symbol.

    The variance of this symbol.

    Definition Classes
    Symbol
  545. def varianceString: String

    String representation of symbol's variance

    String representation of symbol's variance

    Definition Classes
    Symbol
  546. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  547. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  548. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... ) @native()
  549. final def withAnnotation(annot: SymbolTable.AnnotationInfo): SymbolTable.Symbol
    Definition Classes
    Annotatable
  550. def withAnnotations(annots: List[SymbolTable.AnnotationInfo]): ClassSymbol.this.type
    Definition Classes
    SymbolAnnotatable
  551. def withoutAnnotations: ClassSymbol.this.type
    Definition Classes
    SymbolAnnotatable

Deprecated Value Members

  1. final def freshExistential(suffix: String): SymbolTable.TypeSymbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.1) Use overload that accepts an id

  2. final def getter(base: SymbolTable.Symbol): SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use getterIn instead

  3. def hasLocalFlag: Boolean
    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use isLocalToThis instead

  4. def isImplClass: Boolean
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.0) trait implementation classes have been removed in Scala 2.12

  5. final def isLocal: Boolean

    Is this symbol defined in a block?

    Is this symbol defined in a block?

    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use isLocalToBlock instead

  6. def isPackage: Boolean
    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use hasPackageFlag instead

  7. def lazyAccessor: SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.0) No longer applicable, as lazy vals are not desugared until the fields phase

  8. def lazyAccessorOrSelf: SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.12.0) No longer applicable, as lazy vals are not desugared until the fields phase

  9. def originalName: SymbolTable.Name
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use unexpandedName

  10. final def setter(base: SymbolTable.Symbol, hasExpandedName: Boolean = needsExpandedSetterName): SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use setterIn instead

  11. final def superSymbol(base: SymbolTable.Symbol): SymbolTable.Symbol
    Definition Classes
    Symbol
    Annotations
    @deprecated
    Deprecated

    (Since version 2.11.0) use superSymbolIn instead

Inherited from SymbolTable.TypeSymbol

Inherited from SymbolTable.TypeSymbolApi

Inherited from SymbolTable.Symbol

Inherited from SymbolTable.Attachable

Inherited from HasFlags

Inherited from SymbolTable.SymbolApi

Inherited from AnyRef

Inherited from Any

Class Symbol Members

Method Symbol Members

TypeSymbol Members

Symbol Basic Information

Symbol Type Tests

Symbol Conversions

Iteration Helpers

These methods enable collections-like operations on symbols.

Ungrouped