aboutsummaryrefslogtreecommitdiff
path: root/src/dotty/tools/dotc/typer/Mode.scala
diff options
context:
space:
mode:
authorMartin Odersky <odersky@gmail.com>2013-06-18 19:38:09 +0200
committerMartin Odersky <odersky@gmail.com>2013-06-18 19:38:09 +0200
commitf8a42a0584d855a0548c20c7434ed83a59647ed9 (patch)
tree9bdb1b8367d5a692cbf26003e6b10b6122a8d03b /src/dotty/tools/dotc/typer/Mode.scala
parent3c7936515a9aaf383b453fe5844598fd53a2e551 (diff)
downloaddotty-f8a42a0584d855a0548c20c7434ed83a59647ed9.tar.gz
dotty-f8a42a0584d855a0548c20c7434ed83a59647ed9.tar.bz2
dotty-f8a42a0584d855a0548c20c7434ed83a59647ed9.zip
Added typedIdent method.
Also some refactorings that were caused by adding this method.
Diffstat (limited to 'src/dotty/tools/dotc/typer/Mode.scala')
-rw-r--r--src/dotty/tools/dotc/typer/Mode.scala20
1 files changed, 20 insertions, 0 deletions
diff --git a/src/dotty/tools/dotc/typer/Mode.scala b/src/dotty/tools/dotc/typer/Mode.scala
new file mode 100644
index 000000000..11f2ac458
--- /dev/null
+++ b/src/dotty/tools/dotc/typer/Mode.scala
@@ -0,0 +1,20 @@
+package dotty.tools.dotc.typer
+
+case class Mode(val bits: Int) extends AnyVal {
+ def | (that: Mode) = Mode(bits | that.bits)
+ def & (that: Mode) = Mode(bits & that.bits)
+ def &~ (that: Mode) = Mode(bits & ~that.bits)
+ def is (that: Mode) = (bits & that.bits) == that.bits
+}
+
+object Mode {
+ val None = Mode(1 << 0)
+
+ val Expr = Mode(1 << 1)
+ val Pattern = Mode(1 << 2)
+ val Type = Mode(1 << 3)
+
+ val Fun = Mode(1 << 4)
+
+
+} \ No newline at end of file