abstract class Symbol extends Forest.AbsSymbol with HasFlags

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Symbol
  2. HasFlags
  3. AbsSymbol
  4. AnyRef
  5. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Instance Constructors

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

Type Members

  1. type AccessBoundaryType = Forest.Symbol
    Definition Classes
    SymbolHasFlags
  2. type AnnotationType = Forest.AnnotationInfo
    Definition Classes
    SymbolHasFlags
  3. type FlagsType = Long
    Definition Classes
    SymbolHasFlags

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. def accessBoundary(base: Forest.Symbol): Forest.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.

  5. def accessString: String
  6. def addAnnotation(sym: Forest.Symbol, args: Forest.Tree*): Symbol.this.type
  7. def addAnnotation(annot: Forest.AnnotationInfo): Symbol.this.type
  8. def allModifiers: Set[api.Modifier.Value]

    The modifiers of this symbol

    The modifiers of this symbol

    Definition Classes
    SymbolAbsSymbol
  9. def annotations: List[Forest.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
    SymbolHasFlags
  10. def annotationsString: String
  11. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  12. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def decodedName: String

    The decoded name of the symbol, e.g.

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

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

  15. def defaultFlagMask: Long
  16. def defaultFlagString: String
  17. def effectiveOwner: Forest.Symbol

    The owner, skipping package objects.

  18. def enclClass: Forest.Symbol

    The next enclosing class.

  19. 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 ==.

  20. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  21. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  22. def existentialToString: String

    String representation of existentially bound variable

  23. def filterAnnotations(p: (Forest.AnnotationInfo) ⇒ Boolean): Symbol.this.type
  24. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. 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
  26. final def flags_=(fs: Long): Unit
  27. final def fullName: String

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

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

  29. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  30. final def getFlag(mask: Long): Long
  31. def hasAbstractFlag: Boolean
    Definition Classes
    HasFlags
  32. 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
  33. def hasAccessorFlag: Boolean
    Definition Classes
    HasFlags
  34. 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
  35. def hasContravariantFlag: Boolean
    Definition Classes
    HasFlags
  36. def hasDefault: Boolean
    Definition Classes
    HasFlags
  37. def hasDefaultFlag: Boolean
    Definition Classes
    HasFlags
  38. 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
  39. def hasFlagsToString(mask: Long): 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
    SymbolHasFlags
  40. def hasInConstructorFlag: Boolean
    Definition Classes
    HasFlags
  41. def hasLocalFlag: Boolean
    Definition Classes
    HasFlags
  42. def hasModifier(mod: api.Modifier.Value): Boolean

    Does this symbol have given modifier?

    Does this symbol have given modifier?

    Definition Classes
    SymbolAbsSymbol
  43. def hasModuleFlag: Boolean
    Definition Classes
    HasFlags
  44. 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
  45. def hasPackageFlag: Boolean
    Definition Classes
    HasFlags
  46. def hasPreSuperFlag: Boolean
    Definition Classes
    HasFlags
  47. def hasStableFlag: Boolean
    Definition Classes
    HasFlags
  48. def hasStaticFlag: Boolean
    Definition Classes
    HasFlags
  49. def hasTraitFlag: Boolean
    Definition Classes
    HasFlags
  50. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  51. val id: Int
    Definition Classes
    SymbolAbsSymbol
  52. final def isAbstractClass: Boolean
  53. def isAbstractOverride: Boolean
    Definition Classes
    HasFlags
  54. def isAbstractType: Boolean
  55. def isAliasType: Boolean
  56. final def isAnonOrRefinementClass: Boolean
  57. final def isAnonymousClass: Boolean
  58. final def isAnonymousFunction: Boolean
  59. def isAnyOverride: Boolean
    Definition Classes
    HasFlags
  60. def isBottomClass: Boolean
  61. final def isBridge: Boolean
  62. def isByNameParam: Boolean
    Definition Classes
    HasFlags
  63. def isCase: Boolean
    Definition Classes
    HasFlags
  64. def isCaseAccessor: Boolean
    Definition Classes
    HasFlags
  65. def isClass: Boolean
  66. final def isClassConstructor: Boolean
  67. final def isConcreteClass: Boolean
  68. final def isContravariant: Boolean
  69. final def isCovariant: Boolean
  70. def isDefaultInit: Boolean
    Definition Classes
    HasFlags
  71. def isDeferred: Boolean
    Definition Classes
    HasFlags
  72. final def isEarlyInitialized: Boolean
  73. def isEffectiveRoot: Boolean

    Is this symbol an effective root for fullname string?

  74. final def isEffectivelyFinal: Boolean

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

  75. final def isEmptyPackage: Boolean

    Package tests

  76. final def isEmptyPackageClass: Boolean
  77. def isEmptyPrefix: Boolean
  78. final def isError: Boolean
  79. final def isExistentiallyBound: Boolean
  80. def isFinal: Boolean
    Definition Classes
    HasFlags
  81. def isHeader: Boolean
    Definition Classes
    HasFlags
  82. final def isImplClass: Boolean
  83. def isImplicit: Boolean
    Definition Classes
    HasFlags
  84. final def isInitializedToDefault: Boolean
  85. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  86. def isInterface: Boolean
    Definition Classes
    HasFlags
  87. def isJavaDefined: Boolean
    Definition Classes
    HasFlags
  88. final def isJavaInterface: Boolean
  89. def isLabel: Boolean
    Definition Classes
    HasFlags
  90. def isLazy: Boolean
    Definition Classes
    HasFlags
  91. final def isLazyAccessor: Boolean
  92. def isLifted: Boolean
    Definition Classes
    HasFlags
  93. final def isLocal: Boolean

    Is this symbol locally defined? I.e.

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

  94. final def isMethod: Boolean
  95. final def isMixinConstructor: Boolean
  96. final def isModule: Boolean
  97. final def isModuleClass: Boolean
  98. def isMutable: Boolean
    Definition Classes
    HasFlags
  99. final def isNonBottomSubClass(that: Forest.Symbol): Boolean

    Is this class symbol a subclass of that symbol?

  100. def isNonClassType: Boolean

    Is this symbol a type but not a class?

  101. final def isNumericValueClass: Boolean
  102. final def isOmittablePrefix: Boolean

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

  103. final def isOverloaded: Boolean
  104. final def isOverridableMember: Boolean
  105. def isOverride: Boolean
    Definition Classes
    HasFlags
  106. final def isPackage: Boolean
  107. final def isPackageClass: Boolean
  108. final def isPackageObject: Boolean
  109. final def isPackageObjectClass: Boolean
  110. final def isPackageObjectOrClass: Boolean
  111. def isParamAccessor: Boolean
    Definition Classes
    HasFlags
  112. def isParameter: Boolean
    Definition Classes
    HasFlags
  113. final def isPredefModuleClass: Boolean
  114. def isPrivate: Boolean
    Definition Classes
    HasFlags
  115. def isPrivateLocal: Boolean
    Definition Classes
    HasFlags
  116. def isProtected: Boolean
    Definition Classes
    HasFlags
  117. def isProtectedLocal: Boolean
    Definition Classes
    HasFlags
  118. def isPublic: Boolean
    Definition Classes
    HasFlags
  119. final def isRefinementClass: Boolean
  120. final def isRoot: Boolean
  121. final def isRootPackage: Boolean
  122. def isSealed: Boolean
    Definition Classes
    HasFlags
  123. def isSingletonExistential: Boolean
  124. final def isSourceMethod: Boolean
  125. final def isStructuralRefinement: Boolean
  126. def isSubClass(that: Forest.Symbol): Boolean

    Overridden in NullClass and NothingClass for custom behavior.

  127. def isSuperAccessor: Boolean
    Definition Classes
    HasFlags
  128. def isSynthetic: Boolean
    Definition Classes
    HasFlags
  129. def isTerm: Boolean
  130. final def isTrait: Boolean
    Definition Classes
    SymbolHasFlags
  131. def isType: Boolean
  132. final def isTypeParameter: Boolean
  133. final def isValue: Boolean

    Term symbols with the exception of static parts of Java classes and packages.

  134. final def isValueClass: Boolean
  135. final def isValueParameter: Boolean
  136. final def isVarargsMethod: Boolean
  137. final def isVariable: Boolean
  138. final def keyString: String

    String representation of symbol's definition key word

  139. def lazyAccessor: Forest.Symbol

    For a lazy value, its lazy accessor.

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

  140. def module: Forest.Symbol
  141. def moduleClass: Forest.Symbol

    The module class corresponding to this module.

    The module class corresponding to this module.

    Definition Classes
    SymbolAbsSymbol
  142. def name: Forest.Name

    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
    SymbolAbsSymbol
  143. def nameString: String

    String representation of symbol's simple name.

  144. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  145. final def newAbstractType(name: Forest.Name, pos: Position = NoPosition): Forest.TypeSymbol
  146. final def newAbstractType(pos: Position, name: Forest.Name): Forest.TypeSymbol

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

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

  147. final def newAliasType(name: Forest.Name, pos: Position = NoPosition): Forest.TypeSymbol
  148. final def newAliasType(pos: Position, name: Forest.Name): Forest.TypeSymbol

    Symbol of a type definition type T = ...

  149. final def newClass(name: Forest.Name, pos: Position = NoPosition): Forest.ClassSymbol
  150. final def newClass(pos: Position, name: Forest.Name): Forest.ClassSymbol
  151. def newClassConstructor(pos: Position): Forest.MethodSymbol

    Instance constructor with info set.

  152. final def newConstructor(pos: Position): Forest.MethodSymbol

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

  153. final def newExistential(pos: Position, name: Forest.Name): Forest.Symbol
  154. final def newLabel(pos: Position, name: Forest.TermName): Forest.MethodSymbol
  155. final def newLocalDummy(pos: Position): Forest.TermSymbol

    Create local dummy for template (owner of local blocks)

  156. final def newMethod(name: Forest.TermName, pos: Position = NoPosition): Forest.MethodSymbol
  157. final def newMethod(pos: Position, name: Forest.TermName): Forest.MethodSymbol
  158. final def newModule(name: Forest.TermName): Forest.ModuleSymbol
  159. final def newModule(pos: Position, name: Forest.TermName): Forest.ModuleSymbol
  160. final def newModule(name: Forest.TermName, clazz: Forest.Symbol, pos: Position = NoPosition): Forest.ModuleSymbol
  161. final def newModule(pos: Position, name: Forest.TermName, clazz: Forest.ClassSymbol): Forest.ModuleSymbol
  162. final def newModuleClass(name: Forest.Name, pos: Position = NoPosition): Forest.ModuleClassSymbol
  163. final def newModuleClass(pos: Position, name: Forest.Name): Forest.ModuleClassSymbol
  164. final def newPackage(name: Forest.TermName, pos: Position = NoPosition): Forest.ModuleSymbol
  165. final def newPackage(pos: Position, name: Forest.TermName): Forest.ModuleSymbol
  166. final def newRefinementClass(pos: Position): Forest.ClassSymbol

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

  167. def newStaticConstructor(pos: Position): Forest.MethodSymbol

    Static constructor with info set.

  168. final def newSyntheticValueParam(argtype: Forest.Type): Forest.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.

  169. final def newSyntheticValueParams(argtypes: List[Forest.Type]): List[Forest.Symbol]

    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.

  170. final def newSyntheticValueParamss(argtypess: List[List[Forest.Type]]): List[List[Forest.Symbol]]

    Synthetic value parameters when parameter symbols are not available

  171. final def newTypeParameter(name: Forest.Name, pos: Position = NoPosition): Forest.TypeSymbol
  172. final def newTypeParameter(pos: Position, name: Forest.Name): Forest.TypeSymbol

    Symbol of a type parameter

  173. final def newValue(name: Forest.TermName, pos: Position = NoPosition): Forest.TermSymbol
  174. final def newValue(pos: Position, name: Forest.TermName): Forest.TermSymbol
  175. final def newValueParameter(pos: Position, name: Forest.TermName): Forest.TermSymbol
  176. final def newVariable(pos: Position, name: Forest.TermName): Forest.TermSymbol
  177. final def notify(): Unit
    Definition Classes
    AnyRef
  178. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  179. def owner: Forest.Symbol

    The owner of this symbol.

    The owner of this symbol.

    Definition Classes
    SymbolAbsSymbol
  180. def ownerChain: List[Forest.Symbol]
  181. final def ownerNames(separator: Char): String
  182. final def ownerNames: String
  183. def paramss: List[List[Forest.Symbol]]
  184. def pos: Position
  185. def privateWithin: Forest.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
    SymbolHasFlags
  186. def privateWithin_=(sym: Forest.Symbol): Unit
  187. var rawflags: Long
  188. var rawname: Forest.Name
  189. var rawowner: Forest.Symbol
  190. var rawpos: Position
  191. final def resetFlag(mask: Long): Symbol.this.type
  192. final def resetFlags(): Unit
  193. def setAnnotations(annots: List[Forest.AnnotationInfo]): Symbol.this.type
  194. final def setFlag(mask: Long): Symbol.this.type
  195. final def setNotFlag(flag: Int): Any

    If the given flag is set on this symbol, also set the corresponding notFLAG.

    If the given flag is set on this symbol, also set the corresponding notFLAG. For instance if flag is PRIVATE, the notPRIVATE flag will be set if PRIVATE is currently set.

  196. def setPrivateWithin(sym: Forest.Symbol): Symbol.this.type
  197. def signatureString: String
  198. final def simpleName: Forest.Name

    The simple name of this Symbol

  199. final def skipPackageObject: Forest.Symbol

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

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

  201. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  202. def thisType: Forest.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

  203. def toString(): String
    Definition Classes
    Symbol → AnyRef → Any
  204. final def toType: Forest.Type
  205. def tpe: Forest.Type
  206. def tpeHK: Forest.Type
  207. def typeConstructor: Forest.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.

  208. def typeParams: List[Forest.Symbol]
  209. final def variance: Int

    The variance of this symbol as an integer

  210. def varianceString: String

    String representation of symbol's variance

  211. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  212. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  213. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  214. def withAnnotations(annots: List[Forest.AnnotationInfo]): Symbol.this.type
  215. def withoutAnnotations: Symbol.this.type

Inherited from HasFlags

Inherited from Forest.AbsSymbol

Inherited from AnyRef

Inherited from Any

Ungrouped