t

treehugger

HasFlags

trait HasFlags extends AnyRef

Common code utilized by Modifiers (which carry the flags associated with Trees) and Symbol.

Linear Supertypes
AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. HasFlags
  2. AnyRef
  3. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. All

Type Members

  1. abstract type AccessBoundaryType
  2. abstract type AnnotationType
  3. abstract type FlagsType

Abstract Value Members

  1. abstract def annotations: List[AnnotationType]

    A list of annotations attached to this entity.

  2. abstract def flags: FlagsType

    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.

    Attributes
    protected
  3. abstract def hasAccessBoundary: Boolean

    Whether this entity has a "privateWithin" visibility barrier attached.

  4. abstract def hasAllFlags(mask: Long): Boolean

    Whether this entity has ALL of the flags in the given mask.

  5. abstract def hasFlag(flag: Long): Boolean

    Whether this entity has ANY of the flags in the given mask.

  6. abstract def hasFlagsToString(mask: FlagsType): String

    The printable representation of this entity's flags and access boundary, restricted to flags in the given mask.

  7. abstract def privateWithin: AccessBoundaryType

    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

Concrete 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. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def clone(): AnyRef
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  6. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  7. def equals(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  8. def finalize(): Unit
    Attributes
    protected[java.lang]
    Definition Classes
    AnyRef
    Annotations
    @throws( classOf[java.lang.Throwable] )
  9. final def getClass(): Class[_]
    Definition Classes
    AnyRef → Any
  10. def hasAbstractFlag: Boolean
  11. def hasAccessorFlag: Boolean
  12. def hasContravariantFlag: Boolean
  13. def hasDefault: Boolean
  14. def hasDefaultFlag: Boolean
  15. def hasInConstructorFlag: Boolean
  16. def hasLocalFlag: Boolean
  17. def hasModuleFlag: Boolean
  18. def hasNoFlags(mask: Long): Boolean

    Whether this entity has NONE of the flags in the given mask.

  19. def hasPackageFlag: Boolean
  20. def hasPreSuperFlag: Boolean
  21. def hasStableFlag: Boolean
  22. def hasStaticFlag: Boolean
  23. def hasTraitFlag: Boolean
  24. def hashCode(): Int
    Definition Classes
    AnyRef → Any
  25. def isAbstractOverride: Boolean
  26. def isAnyOverride: Boolean
  27. def isByNameParam: Boolean
  28. def isCase: Boolean
  29. def isCaseAccessor: Boolean
  30. def isDefaultInit: Boolean
  31. def isDeferred: Boolean
  32. def isFinal: Boolean
  33. def isHeader: Boolean
  34. def isImplicit: Boolean
  35. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  36. def isInterface: Boolean
  37. def isJavaDefined: Boolean
  38. def isLabel: Boolean
  39. def isLazy: Boolean
  40. def isLifted: Boolean
  41. def isMutable: Boolean
  42. def isOverride: Boolean
  43. def isParamAccessor: Boolean
  44. def isParameter: Boolean
  45. def isPrivate: Boolean
  46. def isPrivateLocal: Boolean
  47. def isProtected: Boolean
  48. def isProtectedLocal: Boolean
  49. def isPublic: Boolean
  50. def isSealed: Boolean
  51. def isSuperAccessor: Boolean
  52. def isSynthetic: Boolean
  53. def isTrait: Boolean
  54. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  55. final def notify(): Unit
    Definition Classes
    AnyRef
  56. final def notifyAll(): Unit
    Definition Classes
    AnyRef
  57. final def synchronized[T0](arg0: ⇒ T0): T0
    Definition Classes
    AnyRef
  58. def toString(): String
    Definition Classes
    AnyRef → Any
  59. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  60. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )
  61. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws( ... )

Inherited from AnyRef

Inherited from Any

Ungrouped