treehugger.Symbols

Symbol

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
Learn more about member selection
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.

    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.

    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

    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

  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.

    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.

    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.

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

    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