scala.reflect.generic

# HasFlags

#### trait HasFlags extends AnyRef

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

Annotations
  @deprecated
Deprecated

  (Since version 2.9.1) scala.reflect.generic will be removed

Source
  HasFlags.scala

Linear Supertypes
AnyRef, Any
Known Subclasses
AbsSymbol, Modifiers
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

   Test two objects for inequality.

   Test two objects for inequality.

   returns

     `true` if !(this == that), false otherwise.

   Definition Classes
     Any

3. #### final def ##(): Int

   Equivalent to `x.hashCode` except for boxed numeric types.

   Equivalent to `x.hashCode` except for boxed numeric types. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them.

   returns

     a hash value consistent with ==

   Definition Classes
     AnyRef → Any

4. #### final def ==(arg0: AnyRef): Boolean

   Definition Classes
     AnyRef

5. #### final def ==(arg0: Any): Boolean

   Test two objects for equality.

   Test two objects for equality.

   returns

     `true` if the receiver object is equivalent to the argument; `false` otherwise.

   Definition Classes
     Any

6. #### final def asInstanceOf[T0]: T0

   Cast the receiver object to be of type `T0`.

   Cast the receiver object to be of type `T0`.

   Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression `1.asInstanceOf[String]` will throw a `ClassCastException` at runtime, while the expression `List(1).asInstanceOf[List[String]]` will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.

   returns

     the receiver object.

   Definition Classes
     Any
   Exceptions thrown
     ClassCastException

     if the receiver object is not an instance of the erasure of type `T0`.

7. #### def clone(): AnyRef

   Create a copy of the receiver object.

   Create a copy of the receiver object.

   The default implementation of the `clone` method is platform dependent.

   returns

     a copy of the receiver object.

   Attributes
     protected[lang]
   Definition Classes
     AnyRef
   Annotations
     @throws()
   Note

     not specified by SLS as a member of AnyRef

8. #### final def eq(arg0: AnyRef): Boolean

   Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

   Tests whether the argument (`arg0`) is a reference to the receiver object (`this`).

   The `eq` method implements an equivalence relation on non-null instances of `AnyRef`, and has three additional properties:

   - It is consistent: for any non-null instances `x` and `y` of type `AnyRef`, multiple invocations of `x.eq(y)` consistently returns `true` or consistently returns `false`.
   - For any non-null instance `x` of type `AnyRef`, `x.eq(null)` and `null.eq(x)` returns `false`.
   - `null.eq(null)` returns `true`.

   When overriding the `equals` or `hashCode` methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (`o1 eq o2`), they should be equal to each other (`o1 == o2`) and they should hash to the same value (`o1.hashCode == o2.hashCode`).

   returns

     `true` if the argument is a reference to the receiver object; `false` otherwise.

   Definition Classes
     AnyRef

9. #### def equals(arg0: Any): Boolean

   The equality method for reference types.

   The equality method for reference types. See equals in Any.

   returns

     `true` if the receiver object is equivalent to the argument; `false` otherwise.

   Definition Classes
     AnyRef → Any

10. #### def finalize(): Unit

    Called by the garbage collector on the receiver object when there are no more references to the object.

    Called by the garbage collector on the receiver object when there are no more references to the object.

    The details of when and if the `finalize` method is invoked, as well as the interaction between `finalize` and non-local returns and exceptions, are all platform dependent.

    Attributes
      protected[lang]
    Definition Classes
      AnyRef
    Annotations
      @throws()
    Note

      not specified by SLS as a member of AnyRef

11. #### final def getClass(): java.lang.Class[_]

    A representation that corresponds to the dynamic class of the receiver object.

    A representation that corresponds to the dynamic class of the receiver object.

    The nature of the representation is platform dependent.

    returns

      a representation that corresponds to the dynamic class of the receiver object.

    Definition Classes
      AnyRef → Any
    Note

      not specified by SLS as a member of AnyRef

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

    The hashCode method for reference types.

    The hashCode method for reference types. See hashCode in Any.

    returns

      the hash code value for this object.

    Definition Classes
      AnyRef → Any

27. #### def isAbstractOverride: Boolean

28. #### def isByNameParam: Boolean

29. #### def isCase: Boolean

30. #### def isCaseAccessor: Boolean

31. #### def isDefaultInit: Boolean

32. #### def isDeferred: Boolean

33. #### def isFinal: Boolean

34. #### def isImplicit: Boolean

35. #### final def isInstanceOf[T0]: Boolean

    Test whether the dynamic type of the receiver object is `T0`.

    Test whether the dynamic type of the receiver object is `T0`.

    Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression `1.isInstanceOf[String]` will return `false`, while the expression `List(1).isInstanceOf[List[String]]` will return `true`. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.

    returns

      `true` if the receiver object is an instance of erasure of type `T0`; `false` otherwise.

    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

    Equivalent to `!(this eq that)`.

    Equivalent to `!(this eq that)`.

    returns

      `true` if the argument is not a reference to the receiver object; `false` otherwise.

    Definition Classes
      AnyRef

55. #### final def notify(): Unit

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Wakes up a single thread that is waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

56. #### final def notifyAll(): Unit

    Wakes up all threads that are waiting on the receiver object's monitor.

    Wakes up all threads that are waiting on the receiver object's monitor.

    Definition Classes
      AnyRef
    Note

      not specified by SLS as a member of AnyRef

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

    Definition Classes
      AnyRef

58. #### def toString(): String

    Creates a String representation of this object.

    Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.

    returns

      a String representation of the object.

    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()

### Deprecated Value Members

1. #### def isAbstract: Boolean

   Annotations
     @deprecated
   Deprecated

     (Since version 2.9.0)

### Inherited from AnyRef

### Inherited from Any