Class

treehugger.Symbols

Symbol

Related Doc: package Symbols

Permalink

abstract class Symbol extends Forest.AbsSymbol with HasFlags

Linear Supertypes
Known Subclasses
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)

    Permalink

Type Members

  1. type AccessBoundaryType = Forest.Symbol

    Permalink
    Definition Classes
    SymbolHasFlags
  2. type AnnotationType = Forest.AnnotationInfo

    Permalink
    Definition Classes
    SymbolHasFlags
  3. type FlagsType = Long

    Permalink
    Definition Classes
    SymbolHasFlags

Value Members

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

    Permalink
    Definition Classes
    AnyRef → Any
  2. final def ##(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean

    Permalink
    Definition Classes
    AnyRef → Any
  4. def accessBoundary(base: Forest.Symbol): Forest.Symbol

    Permalink

    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

    Permalink
  6. def addAnnotation(sym: Forest.Symbol, args: Forest.Tree*): Symbol.this.type

    Permalink
  7. def addAnnotation(annot: Forest.AnnotationInfo): Symbol.this.type

    Permalink
  8. def allModifiers: Set[api.Modifier.Value]

    Permalink

    The modifiers of this symbol

    The modifiers of this symbol

    Definition Classes
    SymbolAbsSymbol
  9. def annotations: List[Forest.AnnotationInfo]

    Permalink

    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

    Permalink
  11. final def asInstanceOf[T0]: T0

    Permalink
    Definition Classes
    Any
  12. def clone(): AnyRef

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  13. def decodedName: String

    Permalink

    The decoded name of the symbol, e.g.

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

  14. def defString: String

    Permalink

    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

    Permalink
  16. def defaultFlagString: String

    Permalink
  17. def effectiveOwner: Forest.Symbol

    Permalink

    The owner, skipping package objects.

  18. def enclClass: Forest.Symbol

    Permalink

    The next enclosing class.

  19. def encodedName: String

    Permalink

    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

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

    Permalink
    Definition Classes
    AnyRef → Any
  22. def existentialToString: String

    Permalink

    String representation of existentially bound variable

  23. def filterAnnotations(p: (Forest.AnnotationInfo) ⇒ Boolean): Symbol.this.type

    Permalink
  24. def finalize(): Unit

    Permalink
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  25. final def flags: Long

    Permalink

    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

    Permalink
  27. final def fullName: String

    Permalink

    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

    Permalink

    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[_]

    Permalink
    Definition Classes
    AnyRef → Any
  30. final def getFlag(mask: Long): Long

    Permalink
  31. def hasAbstractFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  32. final def hasAccessBoundary: Boolean

    Permalink

    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

    Permalink
    Definition Classes
    HasFlags
  34. final def hasAllFlags(mask: Long): Boolean

    Permalink

    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

    Permalink
    Definition Classes
    HasFlags
  36. def hasDefault: Boolean

    Permalink
    Definition Classes
    HasFlags
  37. def hasDefaultFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  38. final def hasFlag(mask: Long): Boolean

    Permalink

    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

    Permalink

    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

    Permalink
    Definition Classes
    HasFlags
  41. def hasLocalFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  42. def hasModifier(mod: api.Modifier.Value): Boolean

    Permalink

    Does this symbol have given modifier?

    Does this symbol have given modifier?

    Definition Classes
    SymbolAbsSymbol
  43. def hasModuleFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  44. def hasNoFlags(mask: Long): Boolean

    Permalink

    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

    Permalink
    Definition Classes
    HasFlags
  46. def hasPreSuperFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  47. def hasStableFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  48. def hasStaticFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  49. def hasTraitFlag: Boolean

    Permalink
    Definition Classes
    HasFlags
  50. def hashCode(): Int

    Permalink
    Definition Classes
    AnyRef → Any
  51. val id: Int

    Permalink

    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
    SymbolAbsSymbol
  52. final def isAbstractClass: Boolean

    Permalink
  53. def isAbstractOverride: Boolean

    Permalink
    Definition Classes
    HasFlags
  54. def isAbstractType: Boolean

    Permalink
  55. def isAliasType: Boolean

    Permalink
  56. final def isAnonOrRefinementClass: Boolean

    Permalink
  57. final def isAnonymousClass: Boolean

    Permalink
  58. final def isAnonymousFunction: Boolean

    Permalink
  59. def isAnyOverride: Boolean

    Permalink
    Definition Classes
    HasFlags
  60. def isBottomClass: Boolean

    Permalink
  61. final def isBridge: Boolean

    Permalink
  62. def isByNameParam: Boolean

    Permalink
    Definition Classes
    HasFlags
  63. def isCase: Boolean

    Permalink
    Definition Classes
    HasFlags
  64. def isCaseAccessor: Boolean

    Permalink
    Definition Classes
    HasFlags
  65. def isClass: Boolean

    Permalink
  66. final def isClassConstructor: Boolean

    Permalink
  67. final def isConcreteClass: Boolean

    Permalink
  68. final def isContravariant: Boolean

    Permalink
  69. final def isCovariant: Boolean

    Permalink
  70. def isDefaultInit: Boolean

    Permalink
    Definition Classes
    HasFlags
  71. def isDeferred: Boolean

    Permalink
    Definition Classes
    HasFlags
  72. final def isEarlyInitialized: Boolean

    Permalink
  73. def isEffectiveRoot: Boolean

    Permalink

    Is this symbol an effective root for fullname string?

  74. final def isEffectivelyFinal: Boolean

    Permalink

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

  75. final def isEmptyPackage: Boolean

    Permalink

    Package tests

  76. final def isEmptyPackageClass: Boolean

    Permalink
  77. def isEmptyPrefix: Boolean

    Permalink
  78. final def isError: Boolean

    Permalink
  79. final def isExistentiallyBound: Boolean

    Permalink
  80. def isFinal: Boolean

    Permalink
    Definition Classes
    HasFlags
  81. def isHeader: Boolean

    Permalink
    Definition Classes
    HasFlags
  82. final def isImplClass: Boolean

    Permalink
  83. def isImplicit: Boolean

    Permalink
    Definition Classes
    HasFlags
  84. final def isInitializedToDefault: Boolean

    Permalink
  85. final def isInstanceOf[T0]: Boolean

    Permalink
    Definition Classes
    Any
  86. def isInterface: Boolean

    Permalink
    Definition Classes
    HasFlags
  87. def isJavaDefined: Boolean

    Permalink
    Definition Classes
    HasFlags
  88. final def isJavaInterface: Boolean

    Permalink
  89. def isLabel: Boolean

    Permalink
    Definition Classes
    HasFlags
  90. def isLazy: Boolean

    Permalink
    Definition Classes
    HasFlags
  91. final def isLazyAccessor: Boolean

    Permalink
  92. def isLifted: Boolean

    Permalink
    Definition Classes
    HasFlags
  93. final def isLocal: Boolean

    Permalink

    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

    Permalink
  95. final def isMixinConstructor: Boolean

    Permalink
  96. final def isModule: Boolean

    Permalink
  97. final def isModuleClass: Boolean

    Permalink
  98. def isMutable: Boolean

    Permalink
    Definition Classes
    HasFlags
  99. final def isNonBottomSubClass(that: Forest.Symbol): Boolean

    Permalink

    Is this class symbol a subclass of that symbol?

  100. def isNonClassType: Boolean

    Permalink

    Is this symbol a type but not a class?

  101. final def isNumericValueClass: Boolean

    Permalink
  102. final def isOmittablePrefix: Boolean

    Permalink

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

  103. final def isOverloaded: Boolean

    Permalink
  104. final def isOverridableMember: Boolean

    Permalink
  105. def isOverride: Boolean

    Permalink
    Definition Classes
    HasFlags
  106. final def isPackage: Boolean

    Permalink
  107. final def isPackageClass: Boolean

    Permalink
  108. final def isPackageObject: Boolean

    Permalink
  109. final def isPackageObjectClass: Boolean

    Permalink
  110. final def isPackageObjectOrClass: Boolean

    Permalink
  111. def isParamAccessor: Boolean

    Permalink
    Definition Classes
    HasFlags
  112. def isParameter: Boolean

    Permalink
    Definition Classes
    HasFlags
  113. final def isPredefModuleClass: Boolean

    Permalink
  114. def isPrivate: Boolean

    Permalink
    Definition Classes
    HasFlags
  115. def isPrivateLocal: Boolean

    Permalink
    Definition Classes
    HasFlags
  116. def isProtected: Boolean

    Permalink
    Definition Classes
    HasFlags
  117. def isProtectedLocal: Boolean

    Permalink
    Definition Classes
    HasFlags
  118. def isPublic: Boolean

    Permalink
    Definition Classes
    HasFlags
  119. final def isRefinementClass: Boolean

    Permalink
  120. final def isRoot: Boolean

    Permalink
  121. final def isRootPackage: Boolean

    Permalink
  122. def isSealed: Boolean

    Permalink
    Definition Classes
    HasFlags
  123. def isSingletonExistential: Boolean

    Permalink
  124. final def isSourceMethod: Boolean

    Permalink
  125. final def isStructuralRefinement: Boolean

    Permalink
  126. def isSubClass(that: Forest.Symbol): Boolean

    Permalink

    Overridden in NullClass and NothingClass for custom behavior.

  127. def isSuperAccessor: Boolean

    Permalink
    Definition Classes
    HasFlags
  128. def isSynthetic: Boolean

    Permalink
    Definition Classes
    HasFlags
  129. def isTerm: Boolean

    Permalink
  130. final def isTrait: Boolean

    Permalink
    Definition Classes
    SymbolHasFlags
  131. def isType: Boolean

    Permalink
  132. final def isTypeParameter: Boolean

    Permalink
  133. final def isValue: Boolean

    Permalink

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

  134. final def isValueClass: Boolean

    Permalink
  135. final def isValueParameter: Boolean

    Permalink
  136. final def isVarargsMethod: Boolean

    Permalink
  137. final def isVariable: Boolean

    Permalink
  138. final def keyString: String

    Permalink

    String representation of symbol's definition key word

  139. def lazyAccessor: Forest.Symbol

    Permalink

    For a lazy value, its lazy accessor.

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

  140. def module: Forest.Symbol

    Permalink
  141. def moduleClass: Forest.Symbol

    Permalink

    The module class corresponding to this module.

    The module class corresponding to this module.

    Definition Classes
    SymbolAbsSymbol
  142. def name: Forest.Name

    Permalink

    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

    Permalink

    String representation of symbol's simple name.

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

    Permalink
    Definition Classes
    AnyRef
  145. final def newAbstractType(name: Forest.Name, pos: Position = NoPosition): Forest.TypeSymbol

    Permalink
  146. final def newAbstractType(pos: Position, name: Forest.Name): Forest.TypeSymbol

    Permalink

    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

    Permalink
  148. final def newAliasType(pos: Position, name: Forest.Name): Forest.TypeSymbol

    Permalink

    Symbol of a type definition type T = ...

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

    Permalink
  150. final def newClass(pos: Position, name: Forest.Name): Forest.ClassSymbol

    Permalink
  151. def newClassConstructor(pos: Position): Forest.MethodSymbol

    Permalink

    Instance constructor with info set.

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

    Permalink

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

  153. final def newExistential(pos: Position, name: Forest.Name): Forest.Symbol

    Permalink
  154. final def newLabel(pos: Position, name: Forest.TermName): Forest.MethodSymbol

    Permalink
  155. final def newLocalDummy(pos: Position): Forest.TermSymbol

    Permalink

    Create local dummy for template (owner of local blocks)

  156. final def newMethod(name: Forest.TermName, pos: Position = NoPosition): Forest.MethodSymbol

    Permalink
  157. final def newMethod(pos: Position, name: Forest.TermName): Forest.MethodSymbol

    Permalink
  158. final def newModule(name: Forest.TermName): Forest.ModuleSymbol

    Permalink
  159. final def newModule(pos: Position, name: Forest.TermName): Forest.ModuleSymbol

    Permalink
  160. final def newModule(name: Forest.TermName, clazz: Forest.Symbol, pos: Position = NoPosition): Forest.ModuleSymbol

    Permalink
  161. final def newModule(pos: Position, name: Forest.TermName, clazz: Forest.ClassSymbol): Forest.ModuleSymbol

    Permalink
  162. final def newModuleClass(name: Forest.Name, pos: Position = NoPosition): Forest.ModuleClassSymbol

    Permalink
  163. final def newModuleClass(pos: Position, name: Forest.Name): Forest.ModuleClassSymbol

    Permalink
  164. final def newPackage(name: Forest.TermName, pos: Position = NoPosition): Forest.ModuleSymbol

    Permalink
  165. final def newPackage(pos: Position, name: Forest.TermName): Forest.ModuleSymbol

    Permalink
  166. final def newRefinementClass(pos: Position): Forest.ClassSymbol

    Permalink

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

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

    Permalink

    Static constructor with info set.

  168. final def newSyntheticValueParam(argtype: Forest.Type): Forest.Symbol

    Permalink

    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]

    Permalink

    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]]

    Permalink

    Synthetic value parameters when parameter symbols are not available

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

    Permalink
  172. final def newTypeParameter(pos: Position, name: Forest.Name): Forest.TypeSymbol

    Permalink

    Symbol of a type parameter

  173. final def newValue(name: Forest.TermName, pos: Position = NoPosition): Forest.TermSymbol

    Permalink
  174. final def newValue(pos: Position, name: Forest.TermName): Forest.TermSymbol

    Permalink
  175. final def newValueParameter(pos: Position, name: Forest.TermName): Forest.TermSymbol

    Permalink
  176. final def newVariable(pos: Position, name: Forest.TermName): Forest.TermSymbol

    Permalink
  177. final def notify(): Unit

    Permalink
    Definition Classes
    AnyRef
  178. final def notifyAll(): Unit

    Permalink
    Definition Classes
    AnyRef
  179. def owner: Forest.Symbol

    Permalink

    The owner of this symbol.

    The owner of this symbol.

    Definition Classes
    SymbolAbsSymbol
  180. def ownerChain: List[Forest.Symbol]

    Permalink
  181. final def ownerNames(separator: Char): String

    Permalink
  182. final def ownerNames: String

    Permalink
  183. def paramss: List[List[Forest.Symbol]]

    Permalink
  184. def pos: Position

    Permalink
  185. def privateWithin: Forest.Symbol

    Permalink

    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

    Permalink
  187. var rawflags: Long

    Permalink
  188. var rawname: Forest.Name

    Permalink
  189. var rawowner: Forest.Symbol

    Permalink
  190. var rawpos: Position

    Permalink
  191. final def resetFlag(mask: Long): Symbol.this.type

    Permalink
  192. final def resetFlags(): Unit

    Permalink
  193. def setAnnotations(annots: List[Forest.AnnotationInfo]): Symbol.this.type

    Permalink
  194. final def setFlag(mask: Long): Symbol.this.type

    Permalink
  195. final def setNotFlag(flag: Int): Any

    Permalink

    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

    Permalink
  197. def signatureString: String

    Permalink
  198. final def simpleName: Forest.Name

    Permalink

    The simple name of this Symbol

  199. final def skipPackageObject: Forest.Symbol

    Permalink

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

  200. def sourceModule: Forest.Symbol

    Permalink

    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

    Permalink
    Definition Classes
    AnyRef
  202. def thisType: Forest.Type

    Permalink

    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

    Permalink
    Definition Classes
    Symbol → AnyRef → Any
  204. final def toType: Forest.Type

    Permalink
  205. def tpe: Forest.Type

    Permalink
  206. def tpeHK: Forest.Type

    Permalink
  207. def typeConstructor: Forest.Type

    Permalink

    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]

    Permalink
  209. final def variance: Int

    Permalink

    The variance of this symbol as an integer

  210. def varianceString: String

    Permalink

    String representation of symbol's variance

  211. final def wait(): Unit

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

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

    Permalink
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  214. def withAnnotations(annots: List[Forest.AnnotationInfo]): Symbol.this.type

    Permalink
  215. def withoutAnnotations: Symbol.this.type

    Permalink

Inherited from HasFlags

Inherited from Forest.AbsSymbol

Inherited from AnyRef

Inherited from Any

Ungrouped