scala.reflect.internal.Symbols

Symbol

abstract class Symbol extends SymbolContextApiImpl with HasFlags with Annotatable[Symbol]

The class for all symbols

Definition Classes
SymbolsSymbolsSymbols
Source
Symbols.scala
Linear Supertypes
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Symbol
  2. Annotatable
  3. HasFlags
  4. SymbolContextApiImpl
  5. SymbolContextApi
  6. SymbolApi
  7. HasFlagsApi
  8. SymbolBase
  9. AnyRef
  10. Any
Implicitly
  1. by any2stringadd
  2. by any2stringfmt
  3. by any2ArrowAssoc
  4. by any2Ensuring
  1. Hide All
  2. Show all
Learn more about member selection
Visibility
  1. Public
  2. All

Instance Constructors

  1. new Symbol(initOwner: Symbol, initPos: Position, initName: Name)

    Attributes
    protected[Symbols]

Type Members

  1. type AccessBoundaryType = Symbol

    Definition Classes
    SymbolHasFlags
  2. type AnnotationType = AnnotationInfo

    Definition Classes
    SymbolHasFlags
  3. abstract type NameType >: Null <: Name

    The type of the symbol name.

    The type of the symbol name. Can be either TermName or TypeName depending on whether this is a TermSymbol or a TypeSymbol.

    Type name namespaces do not intersect with term name namespaces. This fact is reflected in different types for names of TermSymbol and TypeSymbol.

    Definition Classes
    SymbolBase
  4. abstract type TypeOfClonedSymbol >: Null <: Symbol { type NameType = Symbol.this.NameType }

Abstract Value Members

  1. abstract def asNameType(n: Name): NameType

  2. abstract def cloneSymbolImpl(owner: Symbol, newFlags: Long): TypeOfClonedSymbol

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

  3. abstract def doCookJavaRawInfo(): Unit

    Attributes
    protected
  4. abstract def existentialBound: Type

    If we quantify existentially over this symbol, the bound of the type variable that stands for it pre: symbol is a term, a class, or an abstract type (no alias type allowed)

  5. abstract 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
    SymbolSymbolBase
  6. abstract def name_=(n: Name): Unit

  7. abstract def rawname: NameType

Concrete Value Members

  1. final def !=(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  2. final def !=(arg0: Any): Boolean

    Test two objects for inequality.

    Test two objects for inequality.

    returns

    true if !(this == that), false otherwise.

    Definition Classes
    Any
  3. final def ##(): Int

    Equivalent to x.hashCode except for boxed numeric types and null.

    Equivalent to x.hashCode except for boxed numeric types and null. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. For null returns a hashcode where null.hashCode throws a NullPointerException.

    returns

    a hash value consistent with ==

    Definition Classes
    AnyRef → Any
  4. def +(other: String): String

    Implicit information
    This member is added by an implicit conversion from Symbol to StringAdd performed by method any2stringadd in scala.Predef.
    Definition Classes
    StringAdd
  5. def ->[B](y: B): (Symbol, B)

    Implicit information
    This member is added by an implicit conversion from Symbol to ArrowAssoc[Symbol] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc
    Annotations
    @inline()
  6. final def ==(arg0: AnyRef): Boolean

    Definition Classes
    AnyRef
  7. final def ==(arg0: Any): Boolean

    Test two objects for equality.

    Test two objects for equality. The expression x == that is equivalent to if (x eq null) that eq null else x.equals(that).

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    Any
  8. 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]
  9. def accessBoundary(base: Symbol): Symbol

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

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

  10. def accessString: String

    Definition Classes
    HasFlags
  11. final def accessed(ownerTp: Type): Symbol

    The symbol accessed by this accessor function, but with given owner type.

  12. final def accessed: Symbol

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

  13. def accessedOrSelf: Symbol

    If this is an accessor, the accessed symbol.

    If this is an accessor, the accessed symbol. Otherwise, this symbol.

  14. final def accurateKindString: String

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

  15. def addAnnotation(sym: Symbol, args: Tree*): Symbol.this.type

  16. def addAnnotation(annot: AnnotationInfo): Symbol.this.type

  17. def addChild(sym: Symbol): Unit

  18. def alias: Symbol

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

  19. final def allOverriddenSymbols: List[Symbol]

    Returns all symbols overriden by this symbol.

  20. def alternatives: List[Symbol]

  21. def ancestors: List[Symbol]

    All directly or indirectly inherited classes.

  22. final def andAlso(f: (Symbol) ⇒ Unit): Symbol

    Annotations
    @inline()
  23. def annotations: List[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
    SymbolAnnotatableHasFlags
  24. def annotationsString: String

  25. def asClassSymbol: ClassSymbol

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

    This symbol cast to a ClassSymbol representing a class or trait. Returns ClassCastException if isClass is false.

    Definition Classes
    SymbolBase
  26. def asFreeTermSymbol: FreeTermSymbol

    This symbol cast to a free term symbol.

    This symbol cast to a free term symbol. Returns ClassCastException if isFreeTerm is false.

    Definition Classes
    SymbolBase
  27. def asFreeTypeSymbol: FreeTypeSymbol

    This symbol cast to a free type symbol.

    This symbol cast to a free type symbol. Returns ClassCastException if isFreeType is false.

    Definition Classes
    SymbolBase
  28. final def asInstanceOf[T0]: T0

    Cast the receiver object to be of type T0.

    Cast the receiver object to be of type T0.

    Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression 1.asInstanceOf[String] will throw a ClassCastException at runtime, while the expression List(1).asInstanceOf[List[String]] will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

    returns

    the receiver object.

    Definition Classes
    Any
    Exceptions thrown
    ClassCastException

    if the receiver object is not an instance of the erasure of type T0.

  29. def asMethodSymbol: MethodSymbol

    This symbol cast to a MethodSymbol.

    This symbol cast to a MethodSymbol. Returns ClassCastException if isMethod is false.

    Definition Classes
    SymbolBase
  30. def asModuleSymbol: ModuleSymbol

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

    This symbol cast to a ModuleSymbol defined by an object definition. Returns ClassCastException if isModule is false.

    Definition Classes
    SymbolBase
  31. def asTermSymbol: TermSymbol

    This symbol cast to a TermSymbol.

    This symbol cast to a TermSymbol. Returns ClassCastException if isTerm is false.

    Definition Classes
    SymbolBase
  32. def asType: Type

    Definition Classes
    SymbolContextApiImpl
  33. def asTypeConstructor: Type

    Definition Classes
    SymbolContextApiImpl
  34. def asTypeIn(site: Type): Type

    Definition Classes
    SymbolContextApiImpl
  35. def asTypeSymbol: TypeSymbol

    This symbol cast to a TypeSymbol.

    This symbol cast to a TypeSymbol. Returns ClassCastException if isType is false.

    Definition Classes
    SymbolBase
  36. def associatedFile: AbstractFileType

    Overridden in ModuleSymbols to delegate to the module class.

  37. def associatedFile_=(f: AbstractFileType): Unit

  38. final def binaryFile: AbstractFileType

  39. def calculateFlagString(basis: Long): String

    Attributes
    protected
    Definition Classes
    HasFlags
  40. final def caseFieldAccessors: List[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.

  41. final def caseModule: Symbol

    The case module corresponding to this case class

  42. def changeNameInOwners(name: Name): Unit

    Attributes
    protected[this]
  43. def children: Set[Symbol]

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

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

  44. def classBound: 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 }

  45. def clone(): AnyRef

    Create a copy of the receiver object.

    Create a copy of the receiver object.

    The default implementation of the clone method is platform dependent.

    returns

    a copy of the receiver object.

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  46. final def cloneSymbol(newOwner: Symbol, newFlags: Long, newName: Name): TypeOfClonedSymbol

  47. final def cloneSymbol(newOwner: Symbol, newFlags: Long): TypeOfClonedSymbol

  48. final def cloneSymbol(newOwner: Symbol): TypeOfClonedSymbol

    A clone of this symbol, but with given owner.

  49. final def cloneSymbol: TypeOfClonedSymbol

    A clone of this symbol.

  50. def companionClass: 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.

  51. def companionModule: 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

  52. def companionSymbol: 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
    SymbolSymbolApi
  53. final def constrParamAccessors: List[Symbol]

  54. final def cookJavaRawInfo(): Unit

    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.

  55. def createAbstractTypeSymbol(name: TypeName, pos: Position, newFlags: Long): AbstractTypeSymbol

    Symbol creation implementations.

    Symbol creation implementations.

    Attributes
    protected
  56. def createAliasTypeSymbol(name: TypeName, pos: Position, newFlags: Long): AliasTypeSymbol

    Attributes
    protected
  57. def createClassSymbol(name: TypeName, pos: Position, newFlags: Long): ClassSymbol

    Attributes
    protected
  58. def createImplClassSymbol(name: TypeName, pos: Position, newFlags: Long): ClassSymbol

    Attributes
    protected
  59. def createMethodSymbol(name: TermName, pos: Position, newFlags: Long): MethodSymbol

    Attributes
    protected
  60. def createModuleClassSymbol(name: TypeName, pos: Position, newFlags: Long): ModuleClassSymbol

    Attributes
    protected
  61. def createModuleSymbol(name: TermName, pos: Position, newFlags: Long): ModuleSymbol

    Attributes
    protected
  62. def createPackageClassSymbol(name: TypeName, pos: Position, newFlags: Long): PackageClassSymbol

    Attributes
    protected
  63. def createPackageObjectClassSymbol(pos: Position, newFlags: Long): PackageObjectClassSymbol

    Attributes
    protected
  64. def createPackageSymbol(name: TermName, pos: Position, newFlags: Long): ModuleSymbol

    Attributes
    protected
  65. def createRefinementClassSymbol(pos: Position, newFlags: Long): RefinementClassSymbol

    Attributes
    protected
  66. def createTermSymbol(name: TermName, pos: Position, newFlags: Long): TermSymbol

    Attributes
    protected
  67. def createTypeSkolemSymbol(name: TypeName, origin: AnyRef, pos: Position, newFlags: Long): TypeSkolem

    Attributes
    protected
  68. def createValueMemberSymbol(name: TermName, pos: Position, newFlags: Long): TermSymbol

    Attributes
    protected
  69. def createValueParameterSymbol(name: TermName, pos: Position, newFlags: Long): TermSymbol

    Attributes
    protected
  70. def deSkolemize: Symbol

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

  71. def debugFlagString: String

  72. def debugLocationString: String

  73. def decodedName: String

    The decoded name of the symbol, e.

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

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

  75. def defStringSeenAs(info: Type): String

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

  76. def deprecatedParamName: Option[TermName]

  77. def deprecationMessage: Option[String]

  78. def deprecationVersion: Option[String]

  79. def effectiveOwner: Symbol

    The owner, skipping package objects.

  80. def elisionLevel: Option[Int]

  81. def enclClass: Symbol

    The next enclosing class.

  82. def enclClassChain: List[Symbol]

  83. def enclMethod: Symbol

    The next enclosing method.

  84. def enclosingClass: Symbol

    If this symbol is a class, this symbol; otherwise the next enclosing class, or NoSymbol if none exists.

    If this symbol is a class, this symbol; otherwise the next enclosing class, or NoSymbol if none exists.

    Definition Classes
    SymbolBase
  85. def enclosingMethod: Symbol

    If this symbol is a method, this symbol; otherwise the next enclosing method, or NoSymbol if none exists.

    If this symbol is a method, this symbol; otherwise the next enclosing method, or NoSymbol if none exists.

    Definition Classes
    SymbolBase
  86. def enclosingPackage: Symbol

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

  87. def enclosingPackageClass: 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 onwner. TODO: Also harmonize with enclClass, enclMethod etc.

    Definition Classes
    SymbolSymbolApi
  88. def enclosingRootClass: Symbol

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

  89. final def enclosingSuchThat(p: (Symbol) ⇒ Boolean): Symbol

    Annotations
    @inline()
  90. def enclosingTopLevelClass: Symbol

    The top-level class containing this symbol.

    The top-level class containing this symbol.

    Definition Classes
    SymbolSymbolApi
  91. def encodedName: String

    The name of the symbol before decoding, e.

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

  92. def ensuring(cond: (Symbol) ⇒ Boolean, msg: ⇒ Any): Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to Ensuring[Symbol] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  93. def ensuring(cond: (Symbol) ⇒ Boolean): Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to Ensuring[Symbol] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  94. def ensuring(cond: Boolean, msg: ⇒ Any): Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to Ensuring[Symbol] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  95. def ensuring(cond: Boolean): Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to Ensuring[Symbol] performed by method any2Ensuring in scala.Predef.
    Definition Classes
    Ensuring
  96. final def eq(arg0: AnyRef): Boolean

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    Tests whether the argument (arg0) is a reference to the receiver object (this).

    The eq method implements an equivalence relation on non-null instances of AnyRef, and has three additional properties:

    • It is consistent: for any non-null instances x and y of type AnyRef, multiple invocations of x.eq(y) consistently returns true or consistently returns false.
    • For any non-null instance x of type AnyRef, x.eq(null) and null.eq(x) returns false.
    • null.eq(null) returns true.

    When overriding the equals or hashCode methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2), they should be equal to each other (o1 == o2) and they should hash to the same value (o1.hashCode == o2.hashCode).

    returns

    true if the argument is a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  97. def equals(arg0: Any): Boolean

    The equality method for reference types.

    The equality method for reference types. Default implementation delegates to eq.

    See also equals in Any.

    returns

    true if the receiver object is equivalent to the argument; false otherwise.

    Definition Classes
    AnyRef → Any
  98. def existentialToString: String

    String representation of existentially bound variable

  99. def exists: Boolean

  100. def expandName(base: 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.

  101. final def extendedOverriddenSymbols: List[Symbol]

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

  102. def filter(cond: (Symbol) ⇒ Boolean): Symbol

    .

    ...

    Definition Classes
    SymbolSymbolApi
  103. def filterAnnotations(p: (AnnotationInfo) ⇒ Boolean): Symbol.this.type

    Definition Classes
    SymbolAnnotatable
  104. def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the finalize method is invoked, as well as the interaction between finalize and non-local returns and exceptions, are all platform dependent.

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
    Note

    not specified by SLS as a member of AnyRef

  105. def firstParam: Symbol

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

  106. def firstParamAccessor: Symbol

    Return the accessor method of the first parameter of this class.

    Return the accessor method of the first parameter of this class. or NoSymbol if it does not exist.

  107. def flagBitsToString(bits: Long): String

    Definition Classes
    HasFlags
  108. def flagMask: Long

    The default mask determining which flags to display.

    The default mask determining which flags to display.

    Definition Classes
    SymbolHasFlags
  109. def flagString(mask: Long): String

    Definition Classes
    HasFlags
  110. 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
  111. 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
    SymbolHasFlagsHasFlagsApi
  112. def flagsExplanationString: String

  113. def flags_=(fs: Long): Unit

  114. final def flatOwnerInfo: 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
  115. def formatted(fmtstr: String): String

    Returns string formatted according to given format string.

    Returns string formatted according to given format string. Format strings are as for String.format (@see java.lang.String.format).

    Implicit information
    This member is added by an implicit conversion from Symbol to StringFormat performed by method any2stringfmt in scala.Predef.
    Definition Classes
    StringFormat
    Annotations
    @inline()
  116. final def freshExistential(suffix: String): TypeSymbol

  117. def fullLocationString: String

  118. 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
    SymbolSymbolBase
  119. 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.

  120. def fullNameAsName(separator: Char): Name

  121. def fullNameString: String

  122. def getAnnotation(cls: Symbol): Option[AnnotationInfo]

    Definition Classes
    Annotatable
  123. def getAnnotations: List[AnnotationInfo]

    A list of annotations attached to this Symbol.

    A list of annotations attached to this Symbol.

    Definition Classes
    SymbolContextApiImplSymbolApi
  124. final def getClass(): Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

    a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
    AnyRef → Any
    Note

    not specified by SLS as a member of AnyRef

  125. final def getFlag(mask: Long): Long

    Annotations
    @inline()
  126. final def getter(base: Symbol): Symbol

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

  127. def getterName: TermName

  128. def hasAbstractFlag: Boolean

    Definition Classes
    HasFlags
  129. 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
  130. def hasAccessorFlag: Boolean

    Definition Classes
    HasFlags
  131. 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
    SymbolHasFlagsHasFlagsApi
    Annotations
    @inline()
  132. def hasAnnotation(cls: Symbol): Boolean

    Test for, get, or remove an annotation

    Test for, get, or remove an annotation

    Definition Classes
    Annotatable
  133. def hasBridgeAnnotation: Boolean

  134. def hasCompleteInfo: Boolean

  135. def hasDefault: Boolean

    Definition Classes
    SymbolHasFlags
  136. final def hasFlag(mask: Long): Boolean

    Does symbol have ANY flag in mask set?

    Does symbol have ANY flag in mask set?

    Definition Classes
    SymbolHasFlagsHasFlagsApi
    Annotations
    @inline()
  137. final def hasGetter: Boolean

  138. def hasLocalFlag: Boolean

    Definition Classes
    HasFlags
  139. 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.

    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.

  140. def hasMigrationAnnotation: Boolean

  141. def hasModuleFlag: Boolean

    Definition Classes
    HasFlags
  142. 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
  143. def hasPackageFlag: Boolean

    Definition Classes
    HasFlags
  144. def hasParamWhich(cond: (Symbol) ⇒ Boolean): Boolean

  145. def hasRawInfo: Boolean

  146. def hasStableFlag: Boolean

    Definition Classes
    HasFlags
  147. def hasStaticFlag: Boolean

    Definition Classes
    HasFlags
  148. def hasTransOwner(sym: 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.)

  149. final def hasTypeAt(pid: Int): Boolean

    Was symbol's type updated during given phase?

  150. def hashCode(): Int

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in Any.

    returns

    the hash code value for this object.

    Definition Classes
    AnyRef → Any
  151. val id: Int

    An id number which is unique for all symbols in this universe

    An id number which is unique for all symbols in this universe

    Definition Classes
    SymbolSymbolBase
  152. final def idString: String

    If settings.

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

  153. final def implClass: Symbol

    The implementation class of a trait.

    The implementation class of a trait. If available it will be the symbol with the same owner, and the name of this symbol with $class appended to it.

  154. def implicitNotFoundMsg: Option[String]

  155. def info: Type

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

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

  156. final def infoString(tp: Type): String

    String representation of symbol's definition following its name

  157. def info_=(info: Type): Unit

  158. def infosString: String

  159. def initFlags(mask: Long): Symbol.this.type

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

  160. final def initialize: Symbol.this.type

    Initialize the symbol

  161. def isAbstractClass: Boolean

    These are all tests for varieties of ClassSymbol, which has these subclasses:

    These are all tests for varieties of ClassSymbol, which has these subclasses:

    • ModuleClassSymbol
    • RefinementClassSymbol
    • PackageClassSymbol (extends ModuleClassSymbol)
  162. def isAbstractOverride: Boolean

    Definition Classes
    HasFlags
  163. def isAbstractType: Boolean

    Does this symbol represent the definition of an abstract type? If yes, isType is also guaranteed to be true.

    Does this symbol represent the definition of an abstract type? If yes, isType is also guaranteed to be true.

    Definition Classes
    SymbolSymbolApi
  164. def isAccessor: Boolean

    Qualities of Terms, always false for TypeSymbols.

    Qualities of Terms, always false for TypeSymbols.

    Definition Classes
    SymbolSymbolApi
  165. def isAliasType: Boolean

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

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

    Definition Classes
    SymbolSymbolApi
  166. def isAnonOrRefinementClass: Boolean

  167. def isAnonymousClass: Boolean

  168. final def isAnonymousFunction: Boolean

  169. def isAnyOverride: Boolean

    Definition Classes
    HasFlags
  170. final def isAuxiliaryConstructor: Boolean

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

  171. def isBottomClass: Boolean

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

  172. def isBridge: Boolean

  173. def isCapturedVariable: Boolean

  174. def isCase: Boolean

    Definition Classes
    HasFlags
  175. def isCaseAccessor: Boolean

    Definition Classes
    HasFlags
  176. def isCaseAccessorMethod: Boolean

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

  177. final def isCaseApplyOrUnapply: Boolean

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

  178. def isCaseClass: Boolean

  179. 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
    SymbolBase
  180. def isClassConstructor: Boolean

  181. def isClassLocalToConstructor: Boolean

  182. def isCoDefinedWith(that: Symbol): Boolean

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

  183. def isConcreteClass: Boolean

  184. final def isConstant: Boolean

    Is this symbol a constant?

  185. def isConstructor: Boolean

  186. def isContravariant: Boolean

    Qualities of Types, always false for TermSymbols.

  187. def isCovariant: Boolean

  188. def isDeferred: Boolean

    Definition Classes
    HasFlags
  189. final def isDefinedInPackage: Boolean

  190. def isDeprecated: Boolean

  191. final def isDerivedValueClass: Boolean

    Does this symbol represent the definition of a custom value class? Namely, is AnyVal among its parent classes? TODO: Why not just have in reflect.

    Does this symbol represent the definition of a custom value class? Namely, is AnyVal among its parent classes? TODO: Why not just have in reflect.internal? [Eugene++] because it's useful for macros

    Definition Classes
    SymbolSymbolApi
  192. def isEarlyInitialized: Boolean

  193. def isEffectiveRoot: Boolean

    Is this symbol an effective root for fullname string?

  194. final def isEffectivelyFinal: Boolean

    Is this symbol effectively final? I.

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

  195. def isEmptyPackage: Boolean

  196. def isEmptyPackageClass: Boolean

  197. def isEmptyPrefix: Boolean

  198. final def isErroneous: Boolean

    Does this symbol or its underlying type represent a typechecking error?

    Does this symbol or its underlying type represent a typechecking error?

    Definition Classes
    SymbolSymbolApi
  199. final def isError: Boolean

  200. def isExistential: Boolean

    Does this symbol represent an existentially bound type? If yes, isType is also guaranteed to be true.

    Does this symbol represent an existentially bound type? If yes, isType is also guaranteed to be true.

    Definition Classes
    SymbolContextApiImplSymbolApi
  201. def isExistentialQuantified: Boolean

  202. def isExistentialSkolem: Boolean

  203. def isExistentiallyBound: Boolean

  204. def isFBounded: Boolean

  205. def isFinal: Boolean

    Definition Classes
    HasFlags
  206. def isFreeTerm: Boolean

    Does this symbol represent a free term captured by reification? If yes, isTerm is also guaranteed to be true.

    Does this symbol represent a free term captured by reification? If yes, isTerm is also guaranteed to be true.

    Definition Classes
    SymbolBase
  207. def isFreeType: Boolean

    Does this symbol represent a free type captured by reification? If yes, isType is also guaranteed to be true.

    Does this symbol represent a free type captured by reification? If yes, isType is also guaranteed to be true.

    Definition Classes
    SymbolBase
  208. def isGADTSkolem: Boolean

  209. def isGetter: Boolean

    Does this symbol represent a getter of a field? If yes, isTerm and isMethod are also guaranteed to be true.

    Does this symbol represent a getter of a field? If yes, isTerm and isMethod are also guaranteed to be true.

    Definition Classes
    SymbolSymbolApi
  210. def isHigherOrderTypeParameter: Boolean

  211. def isImplClass: Boolean

  212. final def isImplOnly: Boolean

    Is this a symbol which exists only in the implementation class, not in its trait?

  213. def isImplicit: Boolean

    Definition Classes
    HasFlags
  214. def isInDefaultNamespace: Boolean

  215. final def isIncompleteIn(base: 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.

    base

    ...

    returns

    ...

  216. final def isInitialized: Boolean

  217. final def isInitializedToDefault: Boolean

  218. final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is T0.

    Test whether the dynamic type of the receiver object is T0.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression 1.isInstanceOf[String] will return false, while the expression List(1).isInstanceOf[List[String]] will return true. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

    true if the receiver object is an instance of erasure of type T0; false otherwise.

    Definition Classes
    Any
  219. def isInterface: Boolean

    Definition Classes
    HasFlags
  220. final def isInterpreterWrapper: Boolean

    Does this symbol denote a wrapper created by the repl?

  221. def isJavaDefined: Boolean

    Definition Classes
    HasFlags
  222. def isJavaInterface: Boolean

  223. def isLabel: Boolean

    Definition Classes
    SymbolHasFlags
  224. def isLazy: Boolean

    Definition Classes
    HasFlags
  225. final def isLazyAccessor: Boolean

  226. final def isLess(that: Symbol): Boolean

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

    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.

  227. def isLessAccessibleThan(other: Symbol): Boolean

  228. def isLifted: Boolean

    Definition Classes
    HasFlags
  229. def isLiftedMethod: Boolean

  230. final def isLocal: Boolean

    Is this symbol locally defined? I.

    Is this symbol locally defined? I.e. not accessed from outside this instance

  231. 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
  232. def isLocalDummy: Boolean

  233. final def isLocatable: Boolean

    Determines whether this symbol can be loaded by subsequent reflective compilation

    Determines whether this symbol can be loaded by subsequent reflective compilation

    Definition Classes
    SymbolSymbolApi
  234. def isMemberOf(clazz: Symbol): Boolean

    Is this symbol a member of class clazz?

  235. 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
    SymbolBase
  236. final def isMethodWithExtension: Boolean

  237. def isMixinConstructor: Boolean

  238. def isModule: Boolean

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

    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
    SymbolBase
  239. def isModuleClass: Boolean

    Does this symbol represent the definition of a class implicitly associated with an object definition (module class in scala compiler parlance).

    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
    SymbolBase
  240. def isModuleOrModuleClass: Boolean

  241. final def isModuleVar: Boolean

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

  243. def isMutable: Boolean

    Definition Classes
    HasFlags
  244. def isNestedClass: Boolean

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

  245. final def isNestedIn(that: 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

  246. def isNonBottomSubClass(that: Symbol): Boolean

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

  247. def isNonClassType: Boolean

    A Type, but not a Class.

  248. final def isNumericSubClass(that: Symbol): Boolean

  249. def isNumericValueClass: Boolean

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

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

    Definition Classes
    SymbolSymbolApi
  250. final def isOmittablePrefix: Boolean

    Conditions where we omit the prefix when printing a symbol, to avoid unpleasantries like Predef.

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

  251. def isOnlyRefinementMember: Boolean

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

  252. final def isOuterAccessor: Boolean

    Is this symbol an accessor method for outer?

  253. final def isOuterField: Boolean

    Is this symbol an accessor method for outer?

  254. def isOverloaded: Boolean

    Is this symbol an overloaded method?

    Is this symbol an overloaded method?

    Definition Classes
    SymbolSymbolApi
  255. final def isOverridableMember: Boolean

  256. def isOverride: Boolean

    Definition Classes
    HasFlags
  257. def isOverridingSymbol: Boolean

    Equivalent to allOverriddenSymbols.

    Equivalent to allOverriddenSymbols.nonEmpty, but more efficient.

  258. def isPackage: Boolean

    Definition Classes
    HasFlags
  259. def isPackageClass: Boolean

    Package/package object tests

    Package/package object tests

    Definition Classes
    SymbolSymbolApi
  260. def isPackageObject: Boolean

  261. def isPackageObjectClass: Boolean

  262. def isPackageObjectOrClass: Boolean

  263. def isParamAccessor: Boolean

    Definition Classes
    HasFlags
  264. final def isPossibleInRefinement: Boolean

  265. final def isPrimaryConstructor: Boolean

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

  266. def isPrimitiveValueClass: Boolean

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

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

    Definition Classes
    SymbolSymbolApi
  267. def isPrivate: Boolean

    Definition Classes
    HasFlags
  268. def isPrivateLocal: Boolean

    Definition Classes
    HasFlags
  269. def isProtected: Boolean

    Definition Classes
    HasFlags
  270. def isProtectedLocal: Boolean

    Definition Classes
    HasFlags
  271. def isPublic: Boolean

    Definition Classes
    HasFlags
  272. def isRefinementClass: Boolean

  273. def isRoot: Boolean

    Overridden in custom objects in Definitions

  274. def isRootPackage: Boolean

  275. def isRootSymbol: Boolean

  276. def isSealed: Boolean

    Definition Classes
    HasFlags
  277. def isSerializable: Boolean

  278. def isSetter: Boolean

    Does this symbol represent a setter of a field? If yes, isTerm and isMethod are also guaranteed to be true.

    Does this symbol represent a setter of a field? If yes, isTerm and isMethod are also guaranteed to be true.

    Definition Classes
    SymbolSymbolApi
  279. def isSetterParameter: Boolean

  280. def isSingletonExistential: Boolean

  281. def isSkolem: Boolean

  282. def isSourceMethod: Boolean

  283. def isSpecialized: Boolean

  284. def isStable: Boolean

    Does this symbol denote a stable value?

    Does this symbol denote a stable value?

    Definition Classes
    SymbolSymbolApi
  285. def isStableClass: Boolean

  286. def isStatic: Boolean

    Is this symbol static (i.

    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

    Definition Classes
    SymbolSymbolApi
  287. final def isStaticConstructor: Boolean

    Is this symbol a static constructor?

  288. final def isStaticMember: Boolean

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

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

  289. final def isStaticModule: Boolean

  290. final def isStaticOwner: Boolean

    Does this symbol denote a class that defines static symbols?

  291. def isStrictFP: Boolean

  292. final def isStructuralRefinement: Boolean

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

  293. final def isStructuralRefinementMember: Boolean

  294. def isSubClass(that: Symbol): Boolean

    Overridden in NullClass and NothingClass for custom behavior.

  295. def isSuperAccessor: Boolean

    Definition Classes
    HasFlags
  296. def isSynthetic: Boolean

    Definition Classes
    HasFlags
  297. def isTerm: Boolean

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

    Does this symbol represent the definition of a term? Note that every symbol is either a term or a term. So for every symbol sym, either sym.isTerm is true or sym.isTerm is true.

    Definition Classes
    SymbolBase
  298. def isTermMacro: Boolean

  299. final def isThisSym: Boolean

  300. def isTopLevelModule: Boolean

  301. def isTrait: Boolean

    Definition Classes
    SymbolHasFlags
  302. 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, either sym.isTerm is true or sym.isType is true.

    Definition Classes
    SymbolBase
  303. def isTypeMacro: Boolean

  304. def isTypeParameter: Boolean

  305. def isTypeParameterOrSkolem: Boolean

  306. def isTypeSkolem: Boolean

  307. final def isUpdatedAt(pid: Int): Boolean

    Was symbol's type updated during given phase?

  308. def isValue: Boolean

    Does this symbol represent a value, i.

    Does this symbol represent a value, i.e. not a module and not a method? If yes, isTerm is also guaranteed to be true. [Eugene++] I need a review of the implementation

    Definition Classes
    SymbolSymbolApi
  309. def isValueParameter: Boolean

  310. def isVarargsMethod: Boolean

  311. def isVariable: Boolean

    Does this symbol represent a mutable value? If yes, isTerm and isValue are also guaranteed to be true.

    Does this symbol represent a mutable value? If yes, isTerm and isValue are also guaranteed to be true.

    Definition Classes
    SymbolSymbolApi
  312. final def isWeakSubClass(that: Symbol): Boolean

  313. def javaBinaryName: Name

  314. def javaClassName: String

  315. def javaSimpleName: Name

    These should be moved somewhere like JavaPlatform.

  316. final def keyString: String

    String representation of symbol's definition key word

  317. def kind: String

    The string discriminator of this symbol; useful for debugging

    The string discriminator of this symbol; useful for debugging

    Definition Classes
    SymbolContextApiImplSymbolApi
  318. final def kindString: String

  319. def lazyAccessor: Symbol

    For a lazy value, its lazy accessor.

    For a lazy value, its lazy accessor. NoSymbol for all others.

  320. def lazyAccessorOrSelf: Symbol

    If this is a lazy value, the lazy accessor; otherwise this symbol.

  321. def linkedClassOfClass: 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$

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

  323. def logicallyEnclosingMember: 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.

  324. final def makeNotPrivate(base: 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

  325. def makePublic: Symbol

    Remove any access boundary and clear flags PROTECTED | PRIVATE.

  326. def makeSerializable(): Unit

    Adds the interface scala.

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

  327. final def map(f: (Symbol) ⇒ Symbol): 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()
  328. final def matchingSymbol(site: Type, admit: Long = 0L): Symbol

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

  329. final def matchingSymbol(ofclazz: Symbol, site: Type): 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

  330. def migrationMessage: Option[String]

  331. def migrationVersion: Option[String]

  332. def mixinClasses: List[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.

  333. def modifyInfo(f: (Type) ⇒ Type): Symbol.this.type

    Modifies this symbol's info in place.

  334. def moduleClass: Symbol

    The module class corresponding to this module.

  335. def moduleSuffix: String

  336. 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.Yshowsymkinds, adds abbreviated symbol kind.

  337. final def ne(arg0: AnyRef): Boolean

    Equivalent to !(this eq that).

    Equivalent to !(this eq that).

    returns

    true if the argument is not a reference to the receiver object; false otherwise.

    Definition Classes
    AnyRef
  338. final def needsFlatClasses: Boolean

  339. final def needsImplClass: Boolean

    Is this symbol a trait which needs an implementation class?

  340. def needsModuleSuffix: Boolean

    Whether this symbol needs nme.

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

  341. final def newAbstractType(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): AbstractTypeSymbol

    Symbol of an abstract type type T >: .

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

  342. final def newAliasType(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): AliasTypeSymbol

    Symbol of a type definition type T = .

    Symbol of a type definition type T = ...

  343. final def newAnonymousFunctionClass(pos: Position = NoPosition, newFlags: Long = 0L): ClassSymbol

  344. final def newAnonymousFunctionValue(pos: Position, newFlags: Long = 0L): TermSymbol

  345. final def newClass(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): ClassSymbol

  346. def newClassConstructor(pos: Position): MethodSymbol

    Instance constructor with info set.

  347. final def newClassSymbol(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): ClassSymbol

    Definition Classes
    SymbolSymbolBase
  348. def newClassWithInfo(name: TypeName, parents: List[Type], scope: Scope, pos: Position = NoPosition, newFlags: Long = 0L): ClassSymbol

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

  349. final def newConstructor(pos: Position, newFlags: Long = 0L): MethodSymbol

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

  350. final def newErrorClass(name: TypeName): ClassSymbol

  351. final def newErrorSymbol(name: Name): Symbol

  352. final def newErrorValue(name: TermName): TermSymbol

  353. final def newExistential(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): TypeSymbol

    Symbol of an existential type T forSome { .

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

  354. def newExistentialSkolem(basis: Symbol, origin: AnyRef): TypeSkolem

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

  355. def newGADTSkolem(name: TypeName, origin: Symbol, info: Type): TypeSkolem

  356. final def newGetter: MethodSymbol

    Create a new getter for current symbol (which must be a field)

  357. def newImplClass(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): ClassSymbol

  358. final def newImport(pos: Position): TermSymbol

  359. final def newLabel(name: TermName, pos: Position = NoPosition): MethodSymbol

  360. def newLinkedModule(clazz: Symbol, newFlags: Long = 0L): ModuleSymbol

  361. final def newLocalDummy(pos: Position): TermSymbol

    Create local dummy for template (owner of local blocks)

  362. final def newMethod(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): MethodSymbol

  363. final def newMethodSymbol(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): MethodSymbol

    Definition Classes
    SymbolSymbolBase
  364. final def newModule(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleSymbol

  365. final def newModuleAndClassSymbol(name: Name, pos: Position, flags: FlagSet): (ModuleSymbol, ClassSymbol)

    Definition Classes
    SymbolSymbolBase
  366. final def newModuleClass(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleClassSymbol

  367. final def newModuleClassSymbol(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleClassSymbol

  368. final def newModuleSymbol(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleSymbol

  369. def newNestedSymbol(name: Name, pos: Position, newFlags: Long, isClass: Boolean): Symbol

    Definition Classes
    SymbolContextApiImpl
  370. final def newNonClassSymbol(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): TypeSymbol

  371. final def newOverloaded(pre: Type, alternatives: List[Symbol]): 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)

  372. final def newPackage(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleSymbol

  373. final def newPackageSymbol(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): ModuleSymbol

  374. final def newRefinementClass(pos: Position): RefinementClassSymbol

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

  375. def newStaticConstructor(pos: Position): MethodSymbol

    Static constructor with info set.

  376. def newSyntheticTypeParam(name: String, newFlags: Long): TypeSymbol

  377. def newSyntheticTypeParam(): TypeSymbol

  378. def newSyntheticTypeParams(num: Int): List[TypeSymbol]

  379. final def newSyntheticValueParam(argtype: Type): Symbol

    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.

  380. final def newSyntheticValueParams(argtypes: List[Type]): List[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.

  381. final def newSyntheticValueParamss(argtypess: List[List[Type]]): List[List[TermSymbol]]

    Synthetic value parameters when parameter symbols are not available

  382. final def newTermSymbol(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): TermSymbol

    Definition Classes
    SymbolSymbolBase
  383. final def newThisSym(name: TermName = nme.this_, pos: Position = NoPosition): TermSymbol

  384. final def newTypeParameter(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): TypeSymbol

    Symbol of a type parameter

  385. final def newTypeSkolem: 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.

  386. final def newTypeSkolemSymbol(name: TypeName, origin: AnyRef, pos: Position = NoPosition, newFlags: Long = 0L): TypeSkolem

  387. def newTypeSymbol(name: TypeName, pos: Position = NoPosition, newFlags: Long = 0L): TypeSymbol

    Definition Classes
    SymbolSymbolBase
  388. final def newValue(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): TermSymbol

  389. final def newValueParameter(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): TermSymbol

  390. final def newVariable(name: TermName, pos: Position = NoPosition, newFlags: Long = 0L): TermSymbol

  391. def nextOverriddenSymbol: Symbol

    Equivalent to allOverriddenSymbols.

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

  392. final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  393. final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
    AnyRef
    Note

    not specified by SLS as a member of AnyRef

  394. final def orElse(alt: ⇒ Symbol): Symbol

    .

    ...

    Definition Classes
    SymbolSymbolApi
    Annotations
    @inline()
  395. def originalEnclosingMethod: Symbol

    Return the original enclosing method of this symbol.

    Return the original enclosing method of this symbol. It should return the same thing as enclMethod when called before lambda lift, but it preserves the original nesting when called afterwards.

    Note

    This method is NOT available in the presentation compiler run. The originalOwner map is not populated for memory considerations (the symbol may hang on to lazy types and in turn to whole (outdated) compilation units.

  396. def originalInfo: Type

  397. def originalName: Name

    If this symbol has an expanded name, its original name, otherwise its name itself.

    If this symbol has an expanded name, its original name, otherwise its name itself.

    See also

    expandName

  398. def originalOwnerChain: List[Symbol]

  399. final def outerClass: 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.

  400. def outerSource: 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

  401. final def overriddenSymbol(ofclazz: Symbol): Symbol

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

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

    ofclazz

    is a base class of this symbol's owner.

  402. final def overridingSymbol(ofclazz: Symbol): 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

  403. def owner: Symbol

    The owner of this symbol.

    The owner of this symbol. This is the symbol that directly contains the current symbol's definition. The NoSymbol symbol does not have an owner, and calling this method on one causes an internal error. The owner of the Scala root class scala.reflect.api.mirror.RootClass and the Scala root object scala.reflect.api.mirror.RootPackage is NoSymbol. Every other symbol has a chain of owners that ends in scala.reflect.api.mirror.RootClass.

    Definition Classes
    SymbolSymbolBase
  404. def ownerChain: List[Symbol]

  405. def ownerOfNewSymbols: Symbol

    For RootClass, this is EmptyPackageClass.

    For RootClass, this is EmptyPackageClass. For all other symbols, the symbol itself.

  406. def owner_=(owner: Symbol): Unit

  407. def ownersIterator: Iterator[Symbol]

  408. def ownsString: String

    String representation of location.

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

  410. def paramss: List[List[Symbol]]

    The value parameter sections of this symbol.

  411. def parentSymbols: List[Symbol]

  412. def pos: Position

    The position of this symbol

    The position of this symbol

    Definition Classes
    SymbolSymbolApi
  413. def primaryConstructor: Symbol

    The primary constructor of a class.

  414. def privateWithin: 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
  415. def privateWithin_=(sym: Symbol): Unit

  416. def rawFlagString: String

  417. def rawFlagString(mask: Long): String

  418. def rawInfo: Type

    Return info without checking for initialization or completing

  419. def rawflags: Long

  420. def rawflags_=(x: Long): Unit

  421. def rawowner: Symbol

  422. def removeAnnotation(cls: Symbol): Symbol

    Definition Classes
    Annotatable
  423. def reset(completer: Type): Symbol.this.type

    Reset symbol to initial state

  424. def resetFlag(mask: Long): Symbol.this.type

  425. def resetFlags(): Unit

  426. def resolveOverloaded(pre: Type, targs: Seq[Type], posVargTypes: Seq[Type], nameVargTypes: Seq[(TermName, Type)], expected: Type): Symbol

    Definition Classes
    SymbolContextApiImpl
  427. 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
    SymbolHasFlags
  428. def sealedDescendants: Set[Symbol]

    Recursively assemble all children of this symbol.

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

  430. def selfType: Type

    Definition Classes
    SymbolContextApiImpl
  431. def setAnnotations(annots: List[AnnotationInfo]): Symbol.this.type

    Definition Classes
    SymbolAnnotatable
  432. def setAnnotations(annots: AnnotationInfo*): Symbol.this.type

    Definition Classes
    SymbolContextApiImpl
  433. def setFlag(mask: Long): Symbol.this.type

  434. def setInfo(info: Type): Symbol.this.type

    Set initial info.

  435. def setInfoAndEnter(info: Type): Symbol.this.type

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

  436. def setInfoOwnerAdjusted(info: Type): Symbol.this.type

  437. def setInternalFlags(flag: Long): Symbol.this.type

    Definition Classes
    SymbolContextApiImpl
  438. def setName(name: Name): Symbol.this.type

  439. def setPos(pos: Position): Symbol.this.type

  440. def setPrivateWithin(sym: Symbol): Symbol.this.type

  441. def setTypeSignature(tpe: Type): Symbol.this.type

    Definition Classes
    SymbolContextApiImpl
  442. final def setter(base: Symbol, hasExpandedName: Boolean): Symbol

  443. final def setter(base: Symbol): Symbol

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

  444. def shortSymbolClass: String

  445. def signatureString: String

  446. final def simpleName: Name

    The simple name of this Symbol

  447. final def skipConstructor: Symbol

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

  448. def skipPackageObject: Symbol

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

  449. final def sourceFile: AbstractFileType

  450. def sourceModule: 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.

  451. def sourceModule_=(sym: Symbol): Unit

  452. def substInfo(syms0: List[Symbol], syms1: List[Symbol]): Symbol.this.type

    Substitute second list of symbols for first in current info.

  453. def suchThat(cond: (Symbol) ⇒ Boolean): Symbol

    .

    ...

    Definition Classes
    SymbolSymbolApi
  454. def superClass: Symbol

    The superclass of this class.

  455. final def superSymbol(base: Symbol): 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.

  456. def symbolCreationString: String

  457. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  458. final def tag: Int

    A tag which (in the ideal case) uniquely identifies class symbols

  459. def thisPrefix: Type

    Definition Classes
    SymbolContextApiImpl
  460. def thisSym: Symbol

    The self symbol (a TermSymbol) of a class with explicit self type, or else the symbol itself (a TypeSymbol).

    The self symbol (a TermSymbol) of a class with explicit self type, or else the symbol itself (a TypeSymbol).

    WARNING: you're probably better off using typeOfThis, as it's more uniform across classes with and without self variables.

    Example by Paul: scala> trait Foo1 { } scala> trait Foo2 { self => } scala> intp("Foo1").thisSym res0: $r.intp.global.Symbol = trait Foo1

    scala> intp("Foo2").thisSym res1: $r.intp.global.Symbol = value self

    Martin says: The reason thisSym' is this' is so that thisType can be this.thisSym.tpe. It's a trick to shave some cycles off.

    Morale: DO: if (clazz.typeOfThis.typeConstructor ne clazz.typeConstructor) ... DON'T: if (clazz.thisSym ne clazz) ...

  461. def thisType: Type

    If symbol is a class, the type this.type in this class, otherwise NoPrefix.

    If symbol is a class, the type this.type in this class, otherwise NoPrefix. We always have: thisType <:< typeOfThis

  462. def throwsAnnotations(): List[Symbol]

    Symbols of any @throws annotations on this symbol.

    Symbols of any @throws annotations on this symbol.

    Definition Classes
    Annotatable
  463. def toInterface: Symbol

    If this symbol is an implementation class, its interface, otherwise the symbol itself The method follows two strategies to determine the interface.

    If this symbol is an implementation class, its interface, otherwise the symbol itself The method follows two strategies to determine the interface.

    • during or after erasure, it takes the last parent of the implementation class (which is always the interface, by convention)
    • before erasure, it looks up the interface name in the scope of the owner of the class. This only works for implementation classes owned by other classes or traits. !!! Why?
  464. def toString(): String

    String representation, including symbol's kind e.

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

    returns

    a String representation of the object.

    Definition Classes
    Symbol → AnyRef → Any
  465. def tpe: Type

    Get type.

    Get type. The type of a symbol is: for a type symbol, the type corresponding to the symbol itself,

  466. def tpeHK: Type

  467. def typeConstructor: Type

    The type constructor of a symbol is: For a type symbol, the type corresponding to the symbol itself, excluding parameters.

    The type constructor of a symbol is: For a type symbol, the type corresponding to the symbol itself, excluding parameters. Not applicable for term symbols.

  468. def typeOfThis: Type

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

  469. def typeOfThis_=(tp: Type): Unit

  470. def typeParams: List[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.

  471. def typeSignature: Type

    The type signature of this symbol.

    The type signature of this symbol. Note if the symbol is a member of a class, one almost always is interested in typeSignatureIn with a site type instead.

    Definition Classes
    SymbolContextApiImplSymbolApi
  472. def typeSignatureIn(site: Type): 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
  473. 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.

  474. def unsafeTypeParams: List[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.

  475. def updateInfo(info: Type): Symbol

    Set new info valid from start of this phase.

  476. def validTo: Period

  477. def validTo_=(x: Period): Unit

  478. final def variance: Int

    The variance of this symbol as an integer

  479. def varianceString: String

    String representation of symbol's variance

  480. final def wait(): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  481. final def wait(arg0: Long, arg1: Int): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  482. final def wait(arg0: Long): Unit

    Definition Classes
    AnyRef
    Annotations
    @throws()
  483. final def withAnnotation(annot: AnnotationInfo): Symbol

    Definition Classes
    Annotatable
  484. def withAnnotations(annots: List[AnnotationInfo]): Symbol.this.type

    Definition Classes
    SymbolAnnotatable
  485. def withoutAnnotations: Symbol.this.type

    Definition Classes
    SymbolAnnotatable
  486. def [B](y: B): (Symbol, B)

    Implicit information
    This member is added by an implicit conversion from Symbol to ArrowAssoc[Symbol] performed by method any2ArrowAssoc in scala.Predef.
    Definition Classes
    ArrowAssoc

Shadowed Implict Value Members

  1. val self: Any

    Implicit information
    This member is added by an implicit conversion from Symbol to StringAdd performed by method any2stringadd in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (symbol: StringAdd).self
    Definition Classes
    StringAdd
  2. val self: Any

    Implicit information
    This member is added by an implicit conversion from Symbol to StringFormat performed by method any2stringfmt in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (symbol: StringFormat).self
    Definition Classes
    StringFormat

Deprecated Value Members

  1. def defaultFlagString: String

    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use flagString

  2. def hasDefaultFlag: Boolean

    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use hasDefault

  3. def hasFlagsToString(mask: Long): String

    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use flagString(mask)

  4. def hasTraitFlag: Boolean

    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use isTrait

  5. def isParameter: Boolean

    Definition Classes
    HasFlags
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use isValueParameter or isTypeParameter

  6. def newAbstractType(pos: Position, name: TypeName): Symbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  7. def newAliasType(pos: Position, name: TypeName): Symbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  8. def newClass(pos: Position, name: TypeName): Symbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  9. def newExistential(pos: Position, name: TypeName): Symbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  10. def newLabel(pos: Position, name: TermName): MethodSymbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  11. def newMethod(pos: Position, name: TermName): MethodSymbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  12. def newModuleClass(pos: Position, name: TypeName): Symbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  13. def newValue(pos: Position, name: TermName): TermSymbol

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use the other signature

  14. def sourceFile_=(f: AbstractFileType): Unit

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use associatedFile_= instead

  15. def toplevelClass: Symbol

    Kept for source compatibility with 2.

    Kept for source compatibility with 2.9. Scala IDE for Eclipse relies on this.

    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use enclosingTopLevelClass

  16. def x: Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to ArrowAssoc[Symbol] performed by method any2ArrowAssoc in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (symbol: ArrowAssoc[Symbol]).x
    Definition Classes
    ArrowAssoc
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use leftOfArrow instead

  17. def x: Symbol

    Implicit information
    This member is added by an implicit conversion from Symbol to Ensuring[Symbol] performed by method any2Ensuring in scala.Predef.
    Shadowing
    This implicitly inherited member is ambiguous. One or more implicitly inherited members have similar signatures, so calling this member may produce an ambiguous implicit conversion compiler error.
    To access this member you can use a type ascription:
    (symbol: Ensuring[Symbol]).x
    Definition Classes
    Ensuring
    Annotations
    @deprecated
    Deprecated

    (Since version 2.10.0) Use resultOfEnsuring instead

Inherited from Annotatable[Symbol]

Inherited from HasFlags

Inherited from SymbolContextApiImpl

Inherited from SymbolContextApi

Inherited from SymbolApi

Inherited from HasFlagsApi

Inherited from SymbolBase

Inherited from AnyRef

Inherited from Any

Inherited by implicit conversion any2stringadd from Symbol to StringAdd

Inherited by implicit conversion any2stringfmt from Symbol to StringFormat

Inherited by implicit conversion any2ArrowAssoc from Symbol to ArrowAssoc[Symbol]

Inherited by implicit conversion any2Ensuring from Symbol to Ensuring[Symbol]