scala.reflect.internal

HasFlags

trait HasFlags extends AnyRef

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

Source
HasFlags.scala
Linear Supertypes
AnyRef, Any
Known Subclasses
Ordering
  1. Alphabetic
  2. By inheritance
Inherited
  1. Hide All
  2. Show all
  1. HasFlags
  2. AnyRef
  3. Any
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: 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. final def asInstanceOf[T0]: T0

    Definition Classes
    Any
  7. def clone(): AnyRef

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  8. final def eq(arg0: AnyRef): Boolean

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

    Definition Classes
    AnyRef → Any
  10. def finalize(): Unit

    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws()
  11. final def getClass(): Class[_]

    Definition Classes
    AnyRef → Any
  12. def hasAbstractFlag: Boolean

  13. def hasAccessorFlag: Boolean

  14. def hasContravariantFlag: Boolean

  15. def hasDefault: Boolean

  16. def hasDefaultFlag: Boolean

  17. def hasInConstructorFlag: Boolean

  18. def hasLocalFlag: Boolean

  19. def hasModuleFlag: Boolean

  20. def hasNoFlags(mask: Long): Boolean

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

  21. def hasPackageFlag: Boolean

  22. def hasPreSuperFlag: Boolean

  23. def hasStableFlag: Boolean

  24. def hasStaticFlag: Boolean

  25. def hasTraitFlag: Boolean

  26. def hashCode(): Int

    Definition Classes
    AnyRef → Any
  27. def isAbstractOverride: Boolean

  28. def isAnyOverride: Boolean

  29. def isByNameParam: Boolean

  30. def isCase: Boolean

  31. def isCaseAccessor: Boolean

  32. def isClearing(f: Long, mask: Long): Boolean

    Attributes
    protected
  33. def isDefaultInit: Boolean

  34. def isDeferred: Boolean

  35. def isFinal: Boolean

  36. def isImplicit: Boolean

  37. final def isInstanceOf[T0]: Boolean

    Definition Classes
    Any
  38. def isInterface: Boolean

  39. def isJavaDefined: Boolean

  40. def isLabel: Boolean

  41. def isLazy: Boolean

  42. def isLifted: Boolean

  43. def isMutable: Boolean

  44. def isOverride: Boolean

  45. def isParamAccessor: Boolean

  46. def isParameter: Boolean

  47. def isPrivate: Boolean

  48. def isPrivateLocal: Boolean

  49. def isProtected: Boolean

  50. def isProtectedLocal: Boolean

  51. def isPublic: Boolean

  52. def isSealed: Boolean

  53. def isSetting(f: Long, mask: Long): Boolean

    Attributes
    protected
  54. def isSuperAccessor: Boolean

  55. def isSynthetic: Boolean

  56. def isTrait: Boolean

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

    Definition Classes
    AnyRef
  58. final def notify(): Unit

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

    Definition Classes
    AnyRef
  60. final def synchronized[T0](arg0: ⇒ T0): T0

    Definition Classes
    AnyRef
  61. def toString(): String

    Definition Classes
    AnyRef → Any
  62. final def wait(): Unit

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

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

    Definition Classes
    AnyRef
    Annotations
    @throws()

Deprecated Value Members

  1. def isAbstract: Boolean

    Annotations
    @deprecated
    Deprecated

    (Since version 2.9.0)

Inherited from AnyRef

Inherited from Any