From 789d15e6d5d98880dd64c8b55b9c2456f020b46b Mon Sep 17 00:00:00 2001 From: Martin Odersky Date: Tue, 18 Dec 2012 15:11:25 +0100 Subject: (1) Moved logic from ClassDenotation to ClassInfoType. (2) Tweaks to other types. (3) FlagSet is now a value class. --- src/dotty/tools/dotc/core/Flags.scala | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) (limited to 'src/dotty/tools/dotc/core/Flags.scala') diff --git a/src/dotty/tools/dotc/core/Flags.scala b/src/dotty/tools/dotc/core/Flags.scala index 3b8f05eab..fc9a1b4d3 100644 --- a/src/dotty/tools/dotc/core/Flags.scala +++ b/src/dotty/tools/dotc/core/Flags.scala @@ -2,12 +2,16 @@ package dotty.tools.dotc.core object Flags { - type FlagSet = Long + case class FlagSet(val bits: Long) extends AnyVal { + def | (that: FlagSet) = FlagSet(this.bits | that.bits) + def & (that: FlagSet) = FlagSet(this.bits & that.bits) + } - final val Empty = 0 + final val Empty = FlagSet(0) - final val Error = 1 << 32 - final val Frozen: Int = ??? - final val Private: Int = ??? + final val Error = FlagSet(1 << 32) + final val Frozen = FlagSet(???) + final val Private = FlagSet(???) + final val Package = FlagSet(???) } \ No newline at end of file -- cgit v1.2.3