summaryrefslogtreecommitdiff
path: root/sources/scalac/backend
diff options
context:
space:
mode:
authormihaylov <mihaylov@epfl.ch>2004-03-22 10:34:30 +0000
committermihaylov <mihaylov@epfl.ch>2004-03-22 10:34:30 +0000
commitef1bee05f0fb8809b11f8f14a87a9a004aa00367 (patch)
treebdc96a84b18d58a0dc49f11ed8dd50fcbf980e4f /sources/scalac/backend
parente0ae9dedb091915dd8b951a6d8ddca9d975db8d8 (diff)
downloadscala-ef1bee05f0fb8809b11f8f14a87a9a004aa00367.tar.gz
scala-ef1bee05f0fb8809b11f8f14a87a9a004aa00367.tar.bz2
scala-ef1bee05f0fb8809b11f8f14a87a9a004aa00367.zip
- Added support for bitwise logical operations ...
- Added support for bitwise logical operations on .NET enumerations.
Diffstat (limited to 'sources/scalac/backend')
-rw-r--r--sources/scalac/backend/msil/GenMSIL.java6
1 files changed, 3 insertions, 3 deletions
diff --git a/sources/scalac/backend/msil/GenMSIL.java b/sources/scalac/backend/msil/GenMSIL.java
index 41c3159a9f..c583647f47 100644
--- a/sources/scalac/backend/msil/GenMSIL.java
+++ b/sources/scalac/backend/msil/GenMSIL.java
@@ -866,13 +866,10 @@ public final class GenMSIL {
qualifier, right, resType);
}
- //Primitive enumCmp = enumCmp(sym);
-
Symbol owner = sym.owner();
Type t = tc.getType(owner);
assert t != null;
if (t.IsEnum()) {
- System.out.println("Enumeration class: " + t);
Primitive enumOp = null;
if (sym.name == Names.EQ) enumOp = Primitive.EQ;
else if (sym.name == Names.NE) enumOp = Primitive.NE;
@@ -880,6 +877,9 @@ public final class GenMSIL {
else if (sym.name == Names.LE) enumOp = Primitive.LE;
else if (sym.name == Names.GT) enumOp = Primitive.GT;
else if (sym.name == Names.GE) enumOp = Primitive.GE;
+ else if (sym.name == Names.OR) enumOp = Primitive.OR;
+ else if (sym.name == Names.AND) enumOp = Primitive.AND;
+ else if (sym.name == Names.XOR) enumOp = Primitive.XOR;
if (enumOp != null) {
assert args.length == 1;
return primitiveOp(enumOp, qualifier, args[0], resType);