@@ -37,7 +37,7 @@ object Flags {
37
37
else {
38
38
val tbits = x.bits & y.bits & KINDFLAGS
39
39
if (tbits == 0 )
40
- assert(false , s " illegal flagset combination: $x and $y " )
40
+ assert(false , s " illegal flagset combination: ${x.flagsString} and ${y.flagsString} " )
41
41
FlagSet (tbits | ((x.bits | y.bits) & ~ KINDFLAGS ))
42
42
}
43
43
@@ -237,8 +237,8 @@ object Flags {
237
237
/** A value or variable accessor (getter or setter) */
238
238
val (AccessorOrSealed @ _, Accessor @ _, Sealed @ _) = newFlags(11 , " <accessor>" , " sealed" )
239
239
240
- /** A mutable var */
241
- val (_ , Mutable @ _, _) = newFlags(12 , " mutable" )
240
+ /** A mutable var, an open class */
241
+ val (MutableOrOpen @ __ , Mutable @ _, Open @ _) = newFlags(12 , " mutable" , " open " )
242
242
243
243
/** Symbol is local to current class (i.e. private[this] or protected[this]
244
244
* pre: Private or Protected are also set
@@ -422,7 +422,7 @@ object Flags {
422
422
commonFlags(Private , Protected , Final , Case , Implicit , Given , Override , JavaStatic )
423
423
424
424
val TypeSourceModifierFlags : FlagSet =
425
- CommonSourceModifierFlags .toTypeFlags | Abstract | Sealed | Opaque
425
+ CommonSourceModifierFlags .toTypeFlags | Abstract | Sealed | Opaque | Open
426
426
427
427
val TermSourceModifierFlags : FlagSet =
428
428
CommonSourceModifierFlags .toTermFlags | Inline | AbsOverride | Lazy | Erased
@@ -439,7 +439,7 @@ object Flags {
439
439
val FromStartFlags : FlagSet = commonFlags(
440
440
Module , Package , Deferred , Method , Case ,
441
441
HigherKinded , Param , ParamAccessor ,
442
- Scala2ExistentialCommon , Mutable , Opaque , Touched , JavaStatic ,
442
+ Scala2ExistentialCommon , MutableOrOpen , Opaque , Touched , JavaStatic ,
443
443
OuterOrCovariant , LabelOrContravariant , CaseAccessor ,
444
444
Extension , NonMember , Implicit , Given , Permanent , Synthetic ,
445
445
SuperAccessorOrScala2x , Inline , Macro )
@@ -509,12 +509,16 @@ object Flags {
509
509
/** Flags retained in export forwarders */
510
510
val RetainedExportFlags = Given | Implicit | Extension
511
511
512
+ /** Flags that apply only to classes */
513
+ val ClassOnlyFlags = Sealed | Open | Abstract .toTypeFlags
514
+
512
515
// ------- Other flag sets -------------------------------------
513
516
514
517
val AbstractFinal : FlagSet = Abstract | Final
515
518
val AbstractOverride : FlagSet = Abstract | Override
516
519
val AbstractSealed : FlagSet = Abstract | Sealed
517
520
val AbstractOrTrait : FlagSet = Abstract | Trait
521
+ val EffectivelyOpenFlags = Abstract | JavaDefined | Open | Scala2x | Trait
518
522
val PrivateAccessor : FlagSet = Accessor | Private
519
523
val AccessorOrSynthetic : FlagSet = Accessor | Synthetic
520
524
val EnumCase : FlagSet = Case | Enum
0 commit comments