Skip to content

Commit 241bb9a

Browse files
committed
Rename the ENUM / DEFAULTMETHOD flags to include JAVA_
Similar to the new JAVA_ANNOTATION flag, be more explicit about flags for java entities.
1 parent 7a7f992 commit 241bb9a

File tree

12 files changed

+125
-125
lines changed

12 files changed

+125
-125
lines changed

src/compiler/scala/tools/nsc/backend/jvm/BCodeAsmCommon.scala

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -258,15 +258,15 @@ final class BCodeAsmCommon[G <: Global](val global: G) {
258258
GenBCode.mkFlags(
259259
// SI-9393: the classfile / java source parser make java annotation symbols look like classes.
260260
// here we recover the actual classfile flags.
261-
if (classSym.hasJavaAnnotationFlag) ACC_ANNOTATION | ACC_INTERFACE | ACC_ABSTRACT else 0,
262-
if (classSym.isPublic) ACC_PUBLIC else 0,
263-
if (classSym.isFinal) ACC_FINAL else 0,
261+
if (classSym.hasJavaAnnotationFlag) ACC_ANNOTATION | ACC_INTERFACE | ACC_ABSTRACT else 0,
262+
if (classSym.isPublic) ACC_PUBLIC else 0,
263+
if (classSym.isFinal) ACC_FINAL else 0,
264264
// see the link above. javac does the same: ACC_SUPER for all classes, but not interfaces.
265-
if (classSym.isInterface) ACC_INTERFACE else ACC_SUPER,
265+
if (classSym.isInterface) ACC_INTERFACE else ACC_SUPER,
266266
// for Java enums, we cannot trust `hasAbstractFlag` (see comment in enumFlags)
267-
if (!classSym.hasEnumFlag && classSym.hasAbstractFlag) ACC_ABSTRACT else 0,
268-
if (classSym.isArtifact) ACC_SYNTHETIC else 0,
269-
if (classSym.hasEnumFlag) enumFlags else 0
267+
if (!classSym.hasJavaEnumFlag && classSym.hasAbstractFlag) ACC_ABSTRACT else 0,
268+
if (classSym.isArtifact) ACC_SYNTHETIC else 0,
269+
if (classSym.hasJavaEnumFlag) enumFlags else 0
270270
)
271271
}
272272

src/compiler/scala/tools/nsc/backend/jvm/BTypesFromSymbols.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -578,7 +578,7 @@ class BTypesFromSymbols[G <: Global](val global: G) extends BTypes {
578578
if (sym.isBridge) ACC_BRIDGE | ACC_SYNTHETIC else 0,
579579
if (sym.isArtifact) ACC_SYNTHETIC else 0,
580580
if (sym.isClass && !sym.isInterface) ACC_SUPER else 0,
581-
if (sym.hasEnumFlag) ACC_ENUM else 0,
581+
if (sym.hasJavaEnumFlag) ACC_ENUM else 0,
582582
if (sym.isVarargsMethod) ACC_VARARGS else 0,
583583
if (sym.hasFlag(symtab.Flags.SYNCHRONIZED)) ACC_SYNCHRONIZED else 0,
584584
if (sym.isDeprecated) asm.Opcodes.ACC_DEPRECATED else 0

src/compiler/scala/tools/nsc/backend/jvm/GenASM.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -307,7 +307,7 @@ abstract class GenASM extends SubComponent with BytecodeWriters { self =>
307307
if (sym.isBridge) ACC_BRIDGE | ACC_SYNTHETIC else 0,
308308
if (sym.isArtifact) ACC_SYNTHETIC else 0,
309309
if (sym.isClass && !sym.isInterface) ACC_SUPER else 0,
310-
if (sym.hasEnumFlag) ACC_ENUM else 0,
310+
if (sym.hasJavaEnumFlag) ACC_ENUM else 0,
311311
if (sym.isVarargsMethod) ACC_VARARGS else 0,
312312
if (sym.hasFlag(Flags.SYNCHRONIZED)) ACC_SYNCHRONIZED else 0
313313
)

src/compiler/scala/tools/nsc/javac/JavaParsers.scala

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
370370
flags |= Flags.FINAL
371371
in.nextToken()
372372
case DEFAULT =>
373-
flags |= Flags.DEFAULTMETHOD
373+
flags |= Flags.JAVA_DEFAULTMETHOD
374374
in.nextToken()
375375
case NATIVE =>
376376
addAnnot(NativeAttr)
@@ -489,7 +489,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
489489
val vparams = formalParams()
490490
if (!isVoid) rtpt = optArrayBrackets(rtpt)
491491
optThrows()
492-
val isConcreteInterfaceMethod = !inInterface || (mods hasFlag Flags.DEFAULTMETHOD) || (mods hasFlag Flags.STATIC)
492+
val isConcreteInterfaceMethod = !inInterface || (mods hasFlag Flags.JAVA_DEFAULTMETHOD) || (mods hasFlag Flags.STATIC)
493493
val bodyOk = !(mods1 hasFlag Flags.DEFERRED) && isConcreteInterfaceMethod
494494
val body =
495495
if (bodyOk && in.token == LBRACE) {
@@ -809,7 +809,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
809809
if (hasAbstractMember) Flags.ABSTRACT else 0l
810810
}
811811
addCompanionObject(consts ::: statics ::: predefs, atPos(pos) {
812-
ClassDef(mods | Flags.ENUM | finalFlag | abstractFlag, name, List(),
812+
ClassDef(mods | Flags.JAVA_ENUM | finalFlag | abstractFlag, name, List(),
813813
makeTemplate(superclazz :: interfaces, body))
814814
})
815815
}
@@ -830,7 +830,7 @@ trait JavaParsers extends ast.parser.ParsersCommon with JavaScanners {
830830
skipAhead()
831831
accept(RBRACE)
832832
}
833-
ValDef(Modifiers(Flags.ENUM | Flags.STABLE | Flags.JAVA | Flags.STATIC), name.toTermName, enumType, blankExpr)
833+
ValDef(Modifiers(Flags.JAVA_ENUM | Flags.STABLE | Flags.JAVA | Flags.STATIC), name.toTermName, enumType, blankExpr)
834834
}
835835
(res, hasClassBody)
836836
}

src/compiler/scala/tools/nsc/symtab/classfile/ClassfileParser.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -862,7 +862,7 @@ abstract class ClassfileParser {
862862
srcfile0 = settings.outputDirs.srcFilesFor(in.file, srcpath).find(_.exists)
863863
case tpnme.CodeATTR =>
864864
if (sym.owner.isInterface) {
865-
sym setFlag DEFAULTMETHOD
865+
sym setFlag JAVA_DEFAULTMETHOD
866866
log(s"$sym in ${sym.owner} is a java8+ default method.")
867867
}
868868
in.skip(attrLen)

src/compiler/scala/tools/nsc/typechecker/Namers.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -145,8 +145,8 @@ trait Namers extends MethodSynthesis {
145145
// while Scala's enum constants live directly in the class.
146146
// We don't check for clazz.superClass == JavaEnumClass, because this causes a illegal
147147
// cyclic reference error. See the commit message for details.
148-
if (context.unit.isJava) owner.companionClass.hasEnumFlag else owner.hasEnumFlag
149-
vd.mods.hasAllFlags(ENUM | STABLE | STATIC) && ownerHasEnumFlag
148+
if (context.unit.isJava) owner.companionClass.hasJavaEnumFlag else owner.hasJavaEnumFlag
149+
vd.mods.hasAllFlags(JAVA_ENUM | STABLE | STATIC) && ownerHasEnumFlag
150150
}
151151

152152
def setPrivateWithin[T <: Symbol](tree: Tree, sym: T, mods: Modifiers): T =

src/compiler/scala/tools/nsc/typechecker/RefChecks.scala

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -421,7 +421,7 @@ abstract class RefChecks extends InfoTransform with scala.reflect.internal.trans
421421
overrideError("cannot be used here - classes can only override abstract types")
422422
} else if (other.isEffectivelyFinal) { // (1.2)
423423
overrideError("cannot override final member")
424-
} else if (!other.isDeferredOrDefault && !other.hasFlag(DEFAULTMETHOD) && !member.isAnyOverride && !member.isSynthetic) { // (*)
424+
} else if (!other.isDeferredOrJavaDefault && !other.hasFlag(JAVA_DEFAULTMETHOD) && !member.isAnyOverride && !member.isSynthetic) { // (*)
425425
// (*) Synthetic exclusion for (at least) default getters, fixes SI-5178. We cannot assign the OVERRIDE flag to
426426
// the default getter: one default getter might sometimes override, sometimes not. Example in comment on ticket.
427427
if (isNeitherInClass && !(other.owner isSubClass member.owner))
@@ -604,7 +604,7 @@ abstract class RefChecks extends InfoTransform with scala.reflect.internal.trans
604604
def checkNoAbstractMembers(): Unit = {
605605
// Avoid spurious duplicates: first gather any missing members.
606606
def memberList = clazz.info.nonPrivateMembersAdmitting(VBRIDGE)
607-
val (missing, rest) = memberList partition (m => m.isDeferredNotDefault && !ignoreDeferred(m))
607+
val (missing, rest) = memberList partition (m => m.isDeferredNotJavaDefault && !ignoreDeferred(m))
608608
// Group missing members by the name of the underlying symbol,
609609
// to consolidate getters and setters.
610610
val grouped = missing groupBy (sym => analyzer.underlyingSymbol(sym).name)

src/reflect/scala/reflect/internal/ClassfileConstants.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ object ClassfileConstants {
344344
case JAVA_ACC_STATIC => STATIC
345345
case JAVA_ACC_ABSTRACT => if (isAnnotation) 0L else if (isClass) ABSTRACT else DEFERRED
346346
case JAVA_ACC_INTERFACE => if (isAnnotation) 0L else TRAIT | INTERFACE | ABSTRACT
347-
case JAVA_ACC_ENUM => ENUM
347+
case JAVA_ACC_ENUM => JAVA_ENUM
348348
case JAVA_ACC_ANNOTATION => JAVA_ANNOTATION
349349
case _ => 0L
350350
}

src/reflect/scala/reflect/internal/Definitions.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -815,7 +815,7 @@ trait Definitions extends api.StandardDefinitions {
815815
// must filter out "universal" members (getClass is deferred for some reason)
816816
val deferredMembers = (
817817
tp membersBasedOnFlags (excludedFlags = BridgeAndPrivateFlags, requiredFlags = METHOD)
818-
filter (mem => mem.isDeferredNotDefault && !isUniversalMember(mem)) // TODO: test
818+
filter (mem => mem.isDeferredNotJavaDefault && !isUniversalMember(mem)) // TODO: test
819819
)
820820

821821
// if there is only one, it's monomorphic and has a single argument list

src/reflect/scala/reflect/internal/FlagSets.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ trait FlagSets extends api.FlagSets { self: SymbolTable =>
4242
val DEFAULTPARAM : FlagSet = Flags.DEFAULTPARAM
4343
val PRESUPER : FlagSet = Flags.PRESUPER
4444
val DEFAULTINIT : FlagSet = Flags.DEFAULTINIT
45-
val ENUM : FlagSet = Flags.ENUM
45+
val ENUM : FlagSet = Flags.JAVA_ENUM
4646
val PARAMACCESSOR : FlagSet = Flags.PARAMACCESSOR
4747
val CASEACCESSOR : FlagSet = Flags.CASEACCESSOR
4848
val SYNTHETIC : FlagSet = Flags.SYNTHETIC

src/reflect/scala/reflect/internal/Flags.scala

Lines changed: 63 additions & 63 deletions
Original file line numberDiff line numberDiff line change
@@ -15,65 +15,65 @@ import scala.collection.{ mutable, immutable }
1515
//
1616
// Generated by mkFlagsTable() at Thu Feb 02 20:31:52 PST 2012
1717
//
18-
// 0: PROTECTED/M
19-
// 1: OVERRIDE/M
20-
// 2: PRIVATE/M
21-
// 3: ABSTRACT/M
22-
// 4: DEFERRED/M
23-
// 5: FINAL/M
24-
// 6: METHOD
25-
// 7: INTERFACE/M
26-
// 8: MODULE
27-
// 9: IMPLICIT/M
28-
// 10: SEALED/M
29-
// 11: CASE/M
30-
// 12: MUTABLE/M
31-
// 13: PARAM/M
32-
// 14: PACKAGE
33-
// 15: MACRO/M
34-
// 16: BYNAMEPARAM/M CAPTURED COVARIANT/M
35-
// 17: CONTRAVARIANT/M INCONSTRUCTOR LABEL
36-
// 18: ABSOVERRIDE/M
37-
// 19: LOCAL/M
38-
// 20: JAVA/M
39-
// 21: SYNTHETIC
40-
// 22: STABLE
41-
// 23: STATIC/M
42-
// 24: CASEACCESSOR/M
43-
// 25: DEFAULTPARAM/M TRAIT/M
44-
// 26: BRIDGE
45-
// 27: ACCESSOR
46-
// 28: SUPERACCESSOR
47-
// 29: PARAMACCESSOR/M
48-
// 30: MODULEVAR
49-
// 31: LAZY/M
50-
// 32: IS_ERROR
51-
// 33: OVERLOADED
52-
// 34: LIFTED
53-
// 35: EXISTENTIAL MIXEDIN
54-
// 36: EXPANDEDNAME
55-
// 37: IMPLCLASS PRESUPER/M
56-
// 38: TRANS_FLAG
57-
// 39: LOCKED
58-
// 40: SPECIALIZED
59-
// 41: DEFAULTINIT/M
60-
// 42: VBRIDGE
61-
// 43: VARARGS
62-
// 44: TRIEDCOOKING
63-
// 45: SYNCHRONIZED/M
64-
// 46: ARTIFACT
65-
// 47: DEFAULTMETHOD/M
66-
// 48: ENUM
18+
// 0: PROTECTED/M
19+
// 1: OVERRIDE/M
20+
// 2: PRIVATE/M
21+
// 3: ABSTRACT/M
22+
// 4: DEFERRED/M
23+
// 5: FINAL/M
24+
// 6: METHOD
25+
// 7: INTERFACE/M
26+
// 8: MODULE
27+
// 9: IMPLICIT/M
28+
// 10: SEALED/M
29+
// 11: CASE/M
30+
// 12: MUTABLE/M
31+
// 13: PARAM/M
32+
// 14: PACKAGE
33+
// 15: MACRO/M
34+
// 16: BYNAMEPARAM/M CAPTURED COVARIANT/M
35+
// 17: CONTRAVARIANT/M INCONSTRUCTOR LABEL
36+
// 18: ABSOVERRIDE/M
37+
// 19: LOCAL/M
38+
// 20: JAVA/M
39+
// 21: SYNTHETIC
40+
// 22: STABLE
41+
// 23: STATIC/M
42+
// 24: CASEACCESSOR/M
43+
// 25: DEFAULTPARAM/M TRAIT/M
44+
// 26: BRIDGE
45+
// 27: ACCESSOR
46+
// 28: SUPERACCESSOR
47+
// 29: PARAMACCESSOR/M
48+
// 30: MODULEVAR
49+
// 31: LAZY/M
50+
// 32: IS_ERROR
51+
// 33: OVERLOADED
52+
// 34: LIFTED
53+
// 35: EXISTENTIAL MIXEDIN
54+
// 36: EXPANDEDNAME
55+
// 37: IMPLCLASS PRESUPER/M
56+
// 38: TRANS_FLAG
57+
// 39: LOCKED
58+
// 40: SPECIALIZED
59+
// 41: DEFAULTINIT/M
60+
// 42: VBRIDGE
61+
// 43: VARARGS
62+
// 44: TRIEDCOOKING
63+
// 45: SYNCHRONIZED/M
64+
// 46: ARTIFACT
65+
// 47: JAVA_DEFAULTMETHOD/M
66+
// 48: JAVA_ENUM
6767
// 49: JAVA_ANNOTATION
6868
// 50:
69-
// 51: lateDEFERRED
70-
// 52: lateFINAL
71-
// 53: lateMETHOD
72-
// 54: lateINTERFACE
73-
// 55: lateMODULE
74-
// 56: notPROTECTED
75-
// 57: notOVERRIDE
76-
// 58: notPRIVATE
69+
// 51: lateDEFERRED
70+
// 52: lateFINAL
71+
// 53: lateMETHOD
72+
// 54: lateINTERFACE
73+
// 55: lateMODULE
74+
// 56: notPROTECTED
75+
// 57: notOVERRIDE
76+
// 58: notPRIVATE
7777
// 59:
7878
// 60:
7979
// 61:
@@ -119,9 +119,9 @@ class ModifierFlags {
119119
final val DEFAULTINIT = 1L << 41 // symbol is initialized to the default value: used by -Xcheckinit
120120
final val ARTIFACT = 1L << 46 // symbol should be ignored when typechecking; will be marked ACC_SYNTHETIC in bytecode
121121
// to see which symbols are marked as ARTIFACT, see scaladocs for FlagValues.ARTIFACT
122-
final val DEFAULTMETHOD = 1L << 47 // symbol is a java default method
123-
final val ENUM = 1L << 48 // symbol is a java enum
124-
final val JAVA_ANNOTATION = 1L << 49 // symbol is a java annotation
122+
final val JAVA_DEFAULTMETHOD = 1L << 47 // symbol is a java default method
123+
final val JAVA_ENUM = 1L << 48 // symbol is a java enum
124+
final val JAVA_ANNOTATION = 1L << 49 // symbol is a java annotation
125125

126126
// Overridden.
127127
def flagToString(flag: Long): String = ""
@@ -260,7 +260,7 @@ class Flags extends ModifierFlags {
260260
*/
261261
final val ExplicitFlags =
262262
PRIVATE | PROTECTED | ABSTRACT | FINAL | SEALED |
263-
OVERRIDE | CASE | IMPLICIT | ABSOVERRIDE | LAZY | DEFAULTMETHOD
263+
OVERRIDE | CASE | IMPLICIT | ABSOVERRIDE | LAZY | JAVA_DEFAULTMETHOD
264264

265265
/** The two bridge flags */
266266
final val BridgeFlags = BRIDGE | VBRIDGE
@@ -451,8 +451,8 @@ class Flags extends ModifierFlags {
451451
case TRIEDCOOKING => "<triedcooking>" // (1L << 44)
452452
case SYNCHRONIZED => "<synchronized>" // (1L << 45)
453453
case ARTIFACT => "<artifact>" // (1L << 46)
454-
case DEFAULTMETHOD => "<defaultmethod>" // (1L << 47)
455-
case ENUM => "<enum>" // (1L << 48)
454+
case JAVA_DEFAULTMETHOD => "<defaultmethod>" // (1L << 47)
455+
case JAVA_ENUM => "<enum>" // (1L << 48)
456456
case JAVA_ANNOTATION => "<annotation>" // (1L << 49)
457457
case 0x4000000000000L => "" // (1L << 50)
458458
case `lateDEFERRED` => "<latedeferred>" // (1L << 51)

src/reflect/scala/reflect/internal/HasFlags.scala

Lines changed: 41 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -79,50 +79,50 @@ trait HasFlags {
7979

8080
// Tests which come through cleanly: both Symbol and Modifiers use these
8181
// identically, testing for a single flag.
82-
def hasAbstractFlag = hasFlag(ABSTRACT)
83-
def hasAccessorFlag = hasFlag(ACCESSOR)
84-
def hasDefault = hasFlag(DEFAULTPARAM) && hasFlag(METHOD | PARAM) // Second condition disambiguates with TRAIT
85-
def hasEnumFlag = hasFlag(ENUM)
82+
def hasAbstractFlag = hasFlag(ABSTRACT)
83+
def hasAccessorFlag = hasFlag(ACCESSOR)
84+
def hasDefault = hasFlag(DEFAULTPARAM) && hasFlag(METHOD | PARAM) // Second condition disambiguates with TRAIT
85+
def hasJavaEnumFlag = hasFlag(JAVA_ENUM)
8686
def hasJavaAnnotationFlag = hasFlag(JAVA_ANNOTATION)
8787
@deprecated("Use isLocalToThis instead", "2.11.0")
88-
def hasLocalFlag = hasFlag(LOCAL)
89-
def isLocalToThis = hasFlag(LOCAL)
90-
def hasModuleFlag = hasFlag(MODULE)
91-
def hasPackageFlag = hasFlag(PACKAGE)
92-
def hasStableFlag = hasFlag(STABLE)
93-
def hasStaticFlag = hasFlag(STATIC)
94-
def isAbstractOverride = hasFlag(ABSOVERRIDE)
95-
def isAnyOverride = hasFlag(OVERRIDE | ABSOVERRIDE)
96-
def isCase = hasFlag(CASE)
97-
def isCaseAccessor = hasFlag(CASEACCESSOR)
98-
def isDeferred = hasFlag(DEFERRED)
99-
def isFinal = hasFlag(FINAL)
100-
def isArtifact = hasFlag(ARTIFACT)
101-
def isImplicit = hasFlag(IMPLICIT)
102-
def isInterface = hasFlag(INTERFACE)
103-
def isJavaDefined = hasFlag(JAVA)
104-
def isLabel = hasAllFlags(LABEL | METHOD) && !hasAccessorFlag
105-
def isLazy = hasFlag(LAZY)
106-
def isLifted = hasFlag(LIFTED)
107-
def isMacro = hasFlag(MACRO)
108-
def isMutable = hasFlag(MUTABLE)
109-
def isOverride = hasFlag(OVERRIDE)
110-
def isParamAccessor = hasFlag(PARAMACCESSOR)
111-
def isPrivate = hasFlag(PRIVATE)
88+
def hasLocalFlag = hasFlag(LOCAL)
89+
def isLocalToThis = hasFlag(LOCAL)
90+
def hasModuleFlag = hasFlag(MODULE)
91+
def hasPackageFlag = hasFlag(PACKAGE)
92+
def hasStableFlag = hasFlag(STABLE)
93+
def hasStaticFlag = hasFlag(STATIC)
94+
def isAbstractOverride = hasFlag(ABSOVERRIDE)
95+
def isAnyOverride = hasFlag(OVERRIDE | ABSOVERRIDE)
96+
def isCase = hasFlag(CASE)
97+
def isCaseAccessor = hasFlag(CASEACCESSOR)
98+
def isDeferred = hasFlag(DEFERRED)
99+
def isFinal = hasFlag(FINAL)
100+
def isArtifact = hasFlag(ARTIFACT)
101+
def isImplicit = hasFlag(IMPLICIT)
102+
def isInterface = hasFlag(INTERFACE)
103+
def isJavaDefined = hasFlag(JAVA)
104+
def isLabel = hasAllFlags(LABEL | METHOD) && !hasAccessorFlag
105+
def isLazy = hasFlag(LAZY)
106+
def isLifted = hasFlag(LIFTED)
107+
def isMacro = hasFlag(MACRO)
108+
def isMutable = hasFlag(MUTABLE)
109+
def isOverride = hasFlag(OVERRIDE)
110+
def isParamAccessor = hasFlag(PARAMACCESSOR)
111+
def isPrivate = hasFlag(PRIVATE)
112112
@deprecated ("Use `hasPackageFlag` instead", "2.11.0")
113-
def isPackage = hasFlag(PACKAGE)
114-
def isPrivateLocal = hasAllFlags(PrivateLocal)
115-
def isProtected = hasFlag(PROTECTED)
116-
def isProtectedLocal = hasAllFlags(ProtectedLocal)
117-
def isPublic = hasNoFlags(PRIVATE | PROTECTED) && !hasAccessBoundary
118-
def isSealed = hasFlag(SEALED)
119-
def isSpecialized = hasFlag(SPECIALIZED)
120-
def isSuperAccessor = hasFlag(SUPERACCESSOR)
121-
def isSynthetic = hasFlag(SYNTHETIC)
122-
def isTrait = hasFlag(TRAIT) && !hasFlag(PARAM)
123-
124-
def isDeferredOrDefault = hasFlag(DEFERRED | DEFAULTMETHOD)
125-
def isDeferredNotDefault = isDeferred && !hasFlag(DEFAULTMETHOD)
113+
def isPackage = hasFlag(PACKAGE)
114+
def isPrivateLocal = hasAllFlags(PrivateLocal)
115+
def isProtected = hasFlag(PROTECTED)
116+
def isProtectedLocal = hasAllFlags(ProtectedLocal)
117+
def isPublic = hasNoFlags(PRIVATE | PROTECTED) && !hasAccessBoundary
118+
def isSealed = hasFlag(SEALED)
119+
def isSpecialized = hasFlag(SPECIALIZED)
120+
def isSuperAccessor = hasFlag(SUPERACCESSOR)
121+
def isSynthetic = hasFlag(SYNTHETIC)
122+
def isTrait = hasFlag(TRAIT) && !hasFlag(PARAM)
123+
124+
def isDeferredOrJavaDefault = hasFlag(DEFERRED | JAVA_DEFAULTMETHOD)
125+
def isDeferredNotJavaDefault = isDeferred && !hasFlag(JAVA_DEFAULTMETHOD)
126126

127127
def flagBitsToString(bits: Long): String = {
128128
// Fast path for common case

0 commit comments

Comments
 (0)