@@ -64,7 +64,7 @@ object Flags {
64
64
/** Does this flag set have all of the flags in given flag conjunction?
65
65
* Pre: The intersection of the typeflags of both sets must be non-empty.
66
66
*/
67
- def isAllOf (flags : FlagConjunction ): Boolean = {
67
+ def isAllOf (flags : FlagSet ): Boolean = {
68
68
val fs = bits & flags.bits
69
69
((fs & KINDFLAGS ) != 0 || flags.bits == 0 ) &&
70
70
(fs >>> TYPESHIFT ) == (flags.bits >>> TYPESHIFT )
@@ -74,7 +74,7 @@ object Flags {
74
74
* and at the same time contain none of the flags in the `butNot` set?
75
75
* Pre: The intersection of the typeflags of both sets must be non-empty.
76
76
*/
77
- def isAllOf (flags : FlagConjunction , butNot : FlagSet ): Boolean = isAllOf(flags) && ! is (butNot)
77
+ def isAllOf (flags : FlagSet , butNot : FlagSet ): Boolean = isAllOf(flags) && ! isOneOf (butNot)
78
78
79
79
def isEmpty : Boolean = (bits & ~ KINDFLAGS ) == 0
80
80
@@ -191,21 +191,6 @@ object Flags {
191
191
flag
192
192
}
193
193
194
- def allOf (flags : FlagSet ) = FlagConjunction (flags.bits)
195
-
196
- /** The conjunction of all flags in given flag set */
197
- def allOf (flags1 : FlagSet , flags2 : FlagSet ): FlagConjunction = {
198
- assert(flags1.numFlags == 1 && flags2.numFlags == 1 , " Flags.allOf doesn't support flag " + (if (flags1.numFlags != 1 ) flags1 else flags2))
199
- FlagConjunction ((flags1 | flags2).bits)
200
- }
201
-
202
- /** The conjunction of all flags in given flag set */
203
- def allOf (flags1 : FlagSet , flags2 : FlagSet , flags3 : FlagSet , flagss : FlagSet * ): FlagConjunction = {
204
- val flags0 = allOf(flags1, flags2) | flags3
205
- assert(flags3.numFlags == 1 && flagss.forall(_.numFlags == 1 ), " Flags.allOf doesn't support flag " + (if (flags3.numFlags != 1 ) flags3 else flagss.find(_.numFlags != 1 )))
206
- FlagConjunction ((flags0 | union(flagss : _* )).bits)
207
- }
208
-
209
194
def commonFlags (flagss : FlagSet * ): FlagSet = union(flagss.map(_.toCommonFlags): _* )
210
195
211
196
/** The empty flag set */
@@ -604,28 +589,28 @@ object Flags {
604
589
final val EffectivelyFinalFlags : FlagSet = Private | Final
605
590
606
591
/** A private method */
607
- final val PrivateMethod : FlagConjunction = allOf( Private , Method )
592
+ final val PrivateMethod : FlagConjunction = Private | Method
608
593
609
594
/** A private accessor */
610
- final val PrivateAccessor : FlagConjunction = allOf( Private , Accessor )
595
+ final val PrivateAccessor : FlagConjunction = Private | Accessor
611
596
612
597
/** An inline method */
613
- final val InlineMethod : FlagConjunction = allOf( Inline , Method )
598
+ final val InlineMethod : FlagConjunction = Inline | Method
614
599
615
600
/** An inline by-name parameter proxy */
616
- final val InlineByNameProxy : FlagConjunction = allOf( InlineProxy , Method )
601
+ final val InlineByNameProxy : FlagConjunction = InlineProxy | Method
617
602
618
603
/** An inline parameter */
619
- final val InlineParam : FlagConjunction = allOf( Inline , Param )
604
+ final val InlineParam : FlagConjunction = Inline | Param
620
605
621
606
/** An extension method */
622
- final val ExtensionMethod = allOf( Extension , Method )
607
+ final val ExtensionMethod = Extension | Method
623
608
624
609
/** An implied method */
625
- final val SyntheticImpliedMethod : FlagConjunction = allOf( Synthetic , Implied , Method )
610
+ final val SyntheticImpliedMethod : FlagConjunction = Synthetic | Implied | Method
626
611
627
612
/** An enum case */
628
- final val EnumCase : FlagConjunction = allOf( Enum , Case )
613
+ final val EnumCase : FlagConjunction = Enum | Case
629
614
630
615
/** A term parameter or parameter accessor */
631
616
final val TermParamOrAccessor : FlagSet = Param | ParamAccessor
@@ -652,10 +637,10 @@ object Flags {
652
637
final val FinalOrSealed : FlagSet = Final | Sealed
653
638
654
639
/** A covariant type parameter instance */
655
- final val LocalCovariant : FlagConjunction = allOf( Local , Covariant )
640
+ final val LocalCovariant : FlagConjunction = Local | Covariant
656
641
657
642
/** A contravariant type parameter instance */
658
- final val LocalContravariant : FlagConjunction = allOf( Local , Contravariant )
643
+ final val LocalContravariant : FlagConjunction = Local | Contravariant
659
644
660
645
/** Has defined or inherited default parameters */
661
646
final val HasDefaultParamsFlags : FlagSet = DefaultParameterized | InheritedDefaultParams
@@ -664,74 +649,74 @@ object Flags {
664
649
final val ValidForeverFlags : FlagSet = Package | Permanent | Scala2ExistentialCommon
665
650
666
651
/** A type parameter of a class or trait */
667
- final val ClassTypeParam : FlagConjunction = allOf( TypeParam , Private )
652
+ final val ClassTypeParam : FlagConjunction = TypeParam | Private
668
653
669
654
/** Is a default parameter in Scala 2*/
670
- final val DefaultParameter : FlagConjunction = allOf( Param , DefaultParameterized )
655
+ final val DefaultParameter : FlagConjunction = Param | DefaultParameterized
671
656
672
657
/** A trait that does not need to be initialized */
673
- final val NoInitsTrait : FlagConjunction = allOf( Trait , NoInits )
658
+ final val NoInitsTrait : FlagConjunction = Trait | NoInits
674
659
675
660
/** A Java interface, potentially with default methods */
676
- final val JavaTrait : FlagConjunction = allOf( JavaDefined , Trait , NoInits )
661
+ final val JavaTrait : FlagConjunction = JavaDefined | Trait | NoInits
677
662
678
663
/** A Java interface */ // TODO when unpickling, reconstitute from context
679
- final val JavaInterface : FlagConjunction = allOf( JavaDefined , Trait )
664
+ final val JavaInterface : FlagConjunction = JavaDefined | Trait
680
665
681
666
/** A Java companion object */
682
- final val JavaModule : FlagConjunction = allOf( JavaDefined , Module )
667
+ final val JavaModule : FlagConjunction = JavaDefined | Module
683
668
684
669
/** A Java companion object */
685
- final val JavaProtected : FlagConjunction = allOf( JavaDefined , Protected )
670
+ final val JavaProtected : FlagConjunction = JavaDefined | Protected
686
671
687
672
/** A Java enum */
688
- final val JavaEnum : FlagConjunction = allOf( JavaDefined , Enum )
673
+ final val JavaEnum : FlagConjunction = JavaDefined | Enum
689
674
690
675
/** A Java enum trait */
691
- final val JavaEnumTrait : FlagConjunction = allOf( JavaDefined , Enum )
676
+ final val JavaEnumTrait : FlagConjunction = JavaDefined | Enum
692
677
693
678
/** A Java enum value */
694
- final val JavaEnumValue : FlagConjunction = allOf( StableRealizable , JavaStatic , JavaDefined , Enum )
679
+ final val JavaEnumValue : FlagConjunction = StableRealizable | JavaStatic | JavaDefined | Enum
695
680
696
681
/** An enum value */
697
- final val EnumValue : FlagConjunction = allOf (StableRealizable , JavaStatic , Enum )
682
+ final val EnumValue : FlagConjunction = (StableRealizable | JavaStatic | Enum )
698
683
699
684
/** Labeled private[this] */
700
- final val PrivateLocal : FlagConjunction = allOf( Private , Local )
685
+ final val PrivateLocal : FlagConjunction = Private | Local
701
686
702
687
/** A private[this] parameter accessor */
703
- final val PrivateLocalParamAccessor : FlagConjunction = allOf( Private , Local , ParamAccessor )
688
+ final val PrivateLocalParamAccessor : FlagConjunction = Private | Local | ParamAccessor
704
689
705
690
/** A parameter forwarder */
706
- final val ParamForwarder : FlagConjunction = allOf( Method , StableRealizable , ParamAccessor )
691
+ final val ParamForwarder : FlagConjunction = Method | StableRealizable | ParamAccessor
707
692
708
693
/** A private[this] parameter */
709
- final val PrivateLocalParam : FlagConjunction = allOf( Private , Local , Param )
694
+ final val PrivateLocalParam : FlagConjunction = Private | Local | Param
710
695
711
696
/** A private parameter accessor */
712
- final val PrivateParamAccessor : FlagConjunction = allOf( Private , ParamAccessor )
697
+ final val PrivateParamAccessor : FlagConjunction = Private | ParamAccessor
713
698
714
699
/** A local parameter */
715
- final val ParamAndLocal : FlagConjunction = allOf( Param , Local )
700
+ final val ParamAndLocal : FlagConjunction = Param | Local
716
701
717
702
/** Labeled protected[this] */
718
- final val ProtectedLocal : FlagConjunction = allOf( Protected , Local )
703
+ final val ProtectedLocal : FlagConjunction = Protected | Local
719
704
720
- final val LiftedMethod : FlagConjunction = allOf( Lifted , Method )
705
+ final val LiftedMethod : FlagConjunction = Lifted | Method
721
706
722
707
/** Java symbol which is `protected` and `static` */
723
- final val StaticProtected : FlagConjunction = allOf( JavaDefined , Protected , JavaStatic )
708
+ final val StaticProtected : FlagConjunction = JavaDefined | Protected | JavaStatic
724
709
725
- final val Scala2Trait : FlagConjunction = allOf( Scala2x , Trait )
710
+ final val Scala2Trait : FlagConjunction = Scala2x | Trait
726
711
727
- final val AbstractFinal : FlagConjunction = allOf( Abstract , Final )
728
- final val AbstractSealed : FlagConjunction = allOf( Abstract , Sealed )
729
- final val AbstractAndOverride : FlagConjunction = allOf( Abstract , Override )
712
+ final val AbstractFinal : FlagConjunction = Abstract | Final
713
+ final val AbstractSealed : FlagConjunction = Abstract | Sealed
714
+ final val AbstractAndOverride : FlagConjunction = Abstract | Override
730
715
731
- final val SyntheticArtifact : FlagConjunction = allOf( Synthetic , Artifact )
732
- final val SyntheticModule : FlagConjunction = allOf( Synthetic , Module )
733
- final val SyntheticTermParam : FlagConjunction = allOf( Synthetic , TermParam )
734
- final val SyntheticTypeParam : FlagConjunction = allOf( Synthetic , TypeParam )
735
- final val SyntheticCase : FlagConjunction = allOf( Synthetic , Case )
736
- final val SyntheticOpaque : FlagConjunction = allOf( Synthetic , Opaque )
716
+ final val SyntheticArtifact : FlagConjunction = Synthetic | Artifact
717
+ final val SyntheticModule : FlagConjunction = Synthetic | Module
718
+ final val SyntheticTermParam : FlagConjunction = Synthetic | TermParam
719
+ final val SyntheticTypeParam : FlagConjunction = Synthetic | TypeParam
720
+ final val SyntheticCase : FlagConjunction = Synthetic | Case
721
+ final val SyntheticOpaque : FlagConjunction = Synthetic | Opaque
737
722
}
0 commit comments