aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/core/Symbols.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2012-12-18 15:11:25 +0100
committerMartin Odersky <odersky@gmail.com>2012-12-18 15:12:20 +0100
commit789d15e6d5d98880dd64c8b55b9c2456f020b46b (patch)
treeeb5dff77ffca9a1267161c2ece36c0fab45de453 /src/dotty/tools/dotc/core/Symbols.scala
parent4481a057fb5906c002788642aaad34a6cf1124ef (diff)
downloaddotty-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.scala9
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