A list of annotations attached to this entity.
A list of annotations attached to this entity.
Whether this entity has a "privateWithin" visibility barrier attached.
Whether this entity has a "privateWithin" visibility barrier attached.
Whether this entity has ALL of the flags in the given mask.
Whether this entity has ALL of the flags in the given mask.
Whether this entity has ANY of the flags in the given mask.
Whether this entity has ANY of the flags in the given mask.
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.
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
Whether this entity has NONE of the flags in the given mask.
Common code utilized by Modifiers (which carry the flags associated with Trees) and Symbol.
scala.reflect.generic will be removed