diff options
author | Martin Odersky <odersky@gmail.com> | 2012-12-18 15:11:25 +0100 |
---|---|---|
committer | Martin Odersky <odersky@gmail.com> | 2012-12-18 15:12:20 +0100 |
commit | 789d15e6d5d98880dd64c8b55b9c2456f020b46b (patch) | |
tree | eb5dff77ffca9a1267161c2ece36c0fab45de453 /src/dotty/tools/dotc/core/Symbols.scala | |
parent | 4481a057fb5906c002788642aaad34a6cf1124ef (diff) | |
download | dotty-789d15e6d5d98880dd64c8b55b9c2456f020b46b.tar.gz dotty-789d15e6d5d98880dd64c8b55b9c2456f020b46b.tar.bz2 dotty-789d15e6d5d98880dd64c8b55b9c2456f020b46b.zip |
(1) Moved logic from ClassDenotation to ClassInfoType. (2) Tweaks to other types. (3) FlagSet is now a value class.
Diffstat (limited to 'src/dotty/tools/dotc/core/Symbols.scala')
-rw-r--r-- | src/dotty/tools/dotc/core/Symbols.scala | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/dotty/tools/dotc/core/Symbols.scala b/src/dotty/tools/dotc/core/Symbols.scala index 5bac02c98..3c8180e15 100644 --- a/src/dotty/tools/dotc/core/Symbols.scala +++ b/src/dotty/tools/dotc/core/Symbols.scala @@ -4,6 +4,7 @@ package core import Periods._ import DenotationTransformers._ import Names._ +import Flags._ import java.lang.AssertionError import Decorators._ import Symbols._ @@ -177,7 +178,7 @@ object Symbols { // forwarders for sym methods def owner(implicit ctx: Context): Symbol = deref.owner def name(implicit ctx: Context): Name = deref.name - def flags(implicit ctx: Context): Long = deref.flags + def flags(implicit ctx: Context): FlagSet = deref.flags def info(implicit ctx: Context): Type = deref.info def tpe(implicit ctx: Context): Type = info @@ -220,8 +221,8 @@ object Symbols { def isClass: Boolean = false def isMethod(implicit ctx: Context): Boolean = deref.isMethod - def hasFlag(required: Long)(implicit ctx: Context): Boolean = (flags & required) != 0 - def hasAllFlags(required: Long)(implicit ctx: Context): Boolean = (flags & required) == flags + def hasFlag(required: FlagSet)(implicit ctx: Context): Boolean = (flags & required) != Flags.Empty + def hasAllFlags(required: FlagSet)(implicit ctx: Context): Boolean = (flags & required) == flags } abstract class TermSymbol extends Symbol { @@ -246,8 +247,6 @@ object Symbols { override def isClass = true private var superIdHint: Int = -1 - override def deref(implicit ctx: Context): ClassDenotation = ??? - def typeOfThis(implicit ctx: Context): Type = ??? /** The unique, densely packed identifier of this class symbol. Should be called |