treehugger.Symbols

Symbol

abstract class Symbol extends Forest.AbsSymbol with HasFlags

Definition Classes
SymbolsSymbols
Linear Supertypes
HasFlags, Forest.AbsSymbol, AnyRef, Any
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: AnyRef): Boolean

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

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

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

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

    Definition Classes
    Any
  6. 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.

  7. def accessString: String

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

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

  10. def allModifiers: Set[api.Modifier.Value]

    The modifiers of this symbol

    The modifiers of this symbol

    Definition Classes
    SymbolAbsSymbol
  11. 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
  12. def annotationsString: String

  13. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  14. def clone(): AnyRef

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

    The decoded name of the symbol, e.

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

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

  17. def defaultFlagMask: Long

  18. def defaultFlagString: String

  19. def effectiveOwner: Forest.Symbol

    The owner, skipping package objects.

  20. def enclClass: Forest.Symbol

    The next enclosing class.

  21. def encodedName: String

    The name of the symbol before decoding, e.

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

  22. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  24. def existentialToString: String

    String representation of existentially bound variable

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

  26. def finalize(): Unit

    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  27. 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
  28. final def flags_=(fs: Long): Unit

  29. final def fullName: String

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

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

  31. final def getClass(): Class[_]

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

  33. def hasAbstractFlag: Boolean

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

    Definition Classes
    HasFlags
  36. 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
  37. def hasContravariantFlag: Boolean

    Definition Classes
    HasFlags
  38. def hasDefault: Boolean

    Definition Classes
    HasFlags
  39. def hasDefaultFlag: Boolean

    Definition Classes
    HasFlags
  40. 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
  41. 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
  42. def hasInConstructorFlag: Boolean

    Definition Classes
    HasFlags
  43. def hasLocalFlag: Boolean

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

    Does this symbol have given modifier?

    Does this symbol have given modifier?

    Definition Classes
    SymbolAbsSymbol
  45. def hasModuleFlag: Boolean

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

    Definition Classes
    HasFlags
  48. def hasPreSuperFlag: Boolean

    Definition Classes
    HasFlags
  49. def hasStableFlag: Boolean

    Definition Classes
    HasFlags
  50. def hasStaticFlag: Boolean

    Definition Classes
    HasFlags
  51. def hasTraitFlag: Boolean

    Definition Classes
    HasFlags
  52. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  53. 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
  54. final def isAbstractClass: Boolean

  55. def isAbstractOverride: Boolean

    Definition Classes
    HasFlags
  56. def isAbstractType: Boolean

  57. def isAliasType: Boolean

  58. final def isAnonOrRefinementClass: Boolean

  59. final def isAnonymousClass: Boolean

  60. final def isAnonymousFunction: Boolean

  61. def isAnyOverride: Boolean

    Definition Classes
    HasFlags
  62. def isBottomClass: Boolean

  63. final def isBridge: Boolean

  64. def isByNameParam: Boolean

    Definition Classes
    HasFlags
  65. def isCase: Boolean

    Definition Classes
    HasFlags
  66. def isCaseAccessor: Boolean

    Definition Classes
    HasFlags
  67. def isClass: Boolean

  68. final def isClassConstructor: Boolean

  69. final def isConcreteClass: Boolean

  70. final def isContravariant: Boolean

  71. final def isCovariant: Boolean

  72. def isDefaultInit: Boolean

    Definition Classes
    HasFlags
  73. def isDeferred: Boolean

    Definition Classes
    HasFlags
  74. final def isEarlyInitialized: Boolean

  75. def isEffectiveRoot: Boolean

    Is this symbol an effective root for fullname string?

  76. final def isEffectivelyFinal: Boolean

    Is this symbol effectively final? I.

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

  77. final def isEmptyPackage: Boolean

    Package tests

  78. final def isEmptyPackageClass: Boolean

  79. def isEmptyPrefix: Boolean

  80. final def isError: Boolean

  81. final def isExistentiallyBound: Boolean

  82. def isFinal: Boolean

    Definition Classes
    HasFlags
  83. def isHeader: Boolean

    Definition Classes
    HasFlags
  84. final def isImplClass: Boolean

  85. def isImplicit: Boolean

    Definition Classes
    HasFlags
  86. final def isInitializedToDefault: Boolean

  87. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  88. def isInterface: Boolean

    Definition Classes
    HasFlags
  89. def isJavaDefined: Boolean

    Definition Classes
    HasFlags
  90. final def isJavaInterface: Boolean

  91. def isLabel: Boolean

    Definition Classes
    HasFlags
  92. def isLazy: Boolean

    Definition Classes
    HasFlags
  93. final def isLazyAccessor: Boolean

  94. def isLifted: Boolean

    Definition Classes
    HasFlags
  95. final def isLocal: Boolean

    Is this symbol locally defined? I.

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

  96. final def isMethod: Boolean

  97. final def isMixinConstructor: Boolean

  98. final def isModule: Boolean

  99. final def isModuleClass: Boolean

  100. def isMutable: Boolean

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

    Is this class symbol a subclass of that symbol?

  102. def isNonClassType: Boolean

    Is this symbol a type but not a class?

  103. final def isNumericValueClass: Boolean

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

  105. final def isOverloaded: Boolean

  106. final def isOverridableMember: Boolean

  107. def isOverride: Boolean

    Definition Classes
    HasFlags
  108. final def isPackage: Boolean

  109. final def isPackageClass: Boolean

  110. final def isPackageObject: Boolean

  111. final def isPackageObjectClass: Boolean

  112. final def isPackageObjectOrClass: Boolean

  113. def isParamAccessor: Boolean

    Definition Classes
    HasFlags
  114. def isParameter: Boolean

    Definition Classes
    HasFlags
  115. final def isPredefModuleClass: Boolean

  116. def isPrivate: Boolean

    Definition Classes
    HasFlags
  117. def isPrivateLocal: Boolean

    Definition Classes
    HasFlags
  118. def isProtected: Boolean

    Definition Classes
    HasFlags
  119. def isProtectedLocal: Boolean

    Definition Classes
    HasFlags
  120. def isPublic: Boolean

    Definition Classes
    HasFlags
  121. final def isRefinementClass: Boolean

  122. final def isRoot: Boolean

  123. final def isRootPackage: Boolean

  124. def isSealed: Boolean

    Definition Classes
    HasFlags
  125. def isSingletonExistential: Boolean

  126. final def isSourceMethod: Boolean

  127. final def isStructuralRefinement: Boolean

  128. def isSubClass(that: Forest.Symbol): Boolean

    Overridden in NullClass and NothingClass for custom behavior.

  129. def isSuperAccessor: Boolean

    Definition Classes
    HasFlags
  130. def isSynthetic: Boolean

    Definition Classes
    HasFlags
  131. def isTerm: Boolean

  132. final def isTrait: Boolean

    Definition Classes
    SymbolHasFlags
  133. def isType: Boolean

  134. final def isTypeParameter: Boolean

  135. final def isValue: Boolean

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

  136. final def isValueClass: Boolean

  137. final def isValueParameter: Boolean

  138. final def isVarargsMethod: Boolean

  139. final def isVariable: Boolean

  140. final def keyString: String

    String representation of symbol's definition key word

  141. def lazyAccessor: Forest.Symbol

    For a lazy value, its lazy accessor.

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

  142. def module: Forest.Symbol

  143. def moduleClass: Forest.Symbol

    The module class corresponding to this module.

    The module class corresponding to this module.

    Definition Classes
    SymbolAbsSymbol
  144. 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
  145. def nameString: String

    String representation of symbol's simple name.

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

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

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

    Symbol of an abstract type type T >: .

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

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

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

    Symbol of a type definition type T = .

    Symbol of a type definition type T = ...

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

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

  153. def newClassConstructor(pos: Position): Forest.MethodSymbol

    Instance constructor with info set.

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

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

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

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

  157. final def newLocalDummy(pos: Position): Forest.TermSymbol

    Create local dummy for template (owner of local blocks)

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

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

  160. final def newModule(name: Forest.TermName): Forest.ModuleSymbol

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

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

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

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

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

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

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

  168. final def newRefinementClass(pos: Position): Forest.ClassSymbol

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

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

    Static constructor with info set.

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

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

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

    Synthetic value parameters when parameter symbols are not available

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

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

    Symbol of a type parameter

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

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

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

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

  179. final def notify(): Unit

    Definition Classes
    AnyRef
  180. final def notifyAll(): Unit

    Definition Classes
    AnyRef
  181. def owner: Forest.Symbol

    The owner of this symbol.

    The owner of this symbol.

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

  183. final def ownerNames(separator: Char): String

  184. final def ownerNames: String

  185. def paramss: List[List[Forest.Symbol]]

  186. def pos: Position

  187. 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
  188. def privateWithin_=(sym: Forest.Symbol): Unit

  189. var rawflags: Long

  190. var rawname: Forest.Name

  191. var rawowner: Forest.Symbol

  192. var rawpos: Position

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

  194. final def resetFlags(): Unit

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

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

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

  198. def setPrivateWithin(sym: Forest.Symbol): Symbol.this.type

  199. def signatureString: String

  200. final def simpleName: Forest.Name

    The simple name of this Symbol

  201. final def skipPackageObject: Forest.Symbol

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

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

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

    Definition Classes
    AnyRef
  204. 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

  205. def toString(): String

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

  207. def tpe: Forest.Type

  208. def tpeHK: Forest.Type

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

  210. def typeParams: List[Forest.Symbol]

  211. final def variance: Int

    The variance of this symbol as an integer

  212. def varianceString: String

    String representation of symbol's variance

  213. final def wait(): Unit

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

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

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

  217. def withoutAnnotations: Symbol.this.type

Inherited from HasFlags

Inherited from Forest.AbsSymbol

Inherited from AnyRef

Inherited from Any

Ungrouped