summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Phillips <paulp@improving.org>2009-06-26 14:29:16 +0000
committerPaul Phillips <paulp@improving.org>2009-06-26 14:29:16 +0000
commit288a684174b4cf6bcfa786f017320125a4bcc91f (patch)
tree30393fec4004e2d0811c83f0cba30eb3bdfd200f
parent2f085cf0d2c4bfd22810568898394aac327a5b98 (diff)
downloadscala-288a684174b4cf6bcfa786f017320125a4bcc91f.tar.gz
scala-288a684174b4cf6bcfa786f017320125a4bcc91f.tar.bz2
scala-288a684174b4cf6bcfa786f017320125a4bcc91f.zip
Fixed the fact that reflective calls had logica...
Fixed the fact that reflective calls had logical and arithmetic right shift swapped. Modified test case to use a value that doesn't have identical output for both shifts. Grumbled to self that test cases which fail to test are markedly worse than no tests at all.
-rw-r--r--src/compiler/scala/tools/nsc/transform/CleanUp.scala4
-rw-r--r--test/files/run/issue192.scala4
2 files changed, 4 insertions, 4 deletions
diff --git a/src/compiler/scala/tools/nsc/transform/CleanUp.scala b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
index 6a0d0e1f8b..c1ac9e15aa 100644
--- a/src/compiler/scala/tools/nsc/transform/CleanUp.scala
+++ b/src/compiler/scala/tools/nsc/transform/CleanUp.scala
@@ -422,9 +422,9 @@ abstract class CleanUp extends Transform {
case nme.LSL =>
(definitions.getMember(definitions.BoxesRunTimeClass, newTermName("shiftSignedLeft")), testForNumber)
case nme.LSR =>
- (definitions.getMember(definitions.BoxesRunTimeClass, newTermName("shiftSignedRight")), testForNumber)
- case nme.ASR =>
(definitions.getMember(definitions.BoxesRunTimeClass, newTermName("shiftLogicalRight")), testForNumber)
+ case nme.ASR =>
+ (definitions.getMember(definitions.BoxesRunTimeClass, newTermName("shiftSignedRight")), testForNumber)
case nme.EQ =>
(definitions.getMember(definitions.BoxesRunTimeClass, newTermName("testEqual")), testForNumberOrBoolean)
case nme.NE =>
diff --git a/test/files/run/issue192.scala b/test/files/run/issue192.scala
index 8756e6a545..f36f6aead3 100644
--- a/test/files/run/issue192.scala
+++ b/test/files/run/issue192.scala
@@ -63,8 +63,8 @@ object Test extends Application {
print("f17 = "); println(f17(false) == (false && true))
print("f18 = "); println(f18(4) == (4 << 7))
- print("f19 = "); println(f19(4) == (4 >> 7))
- print("f20 = "); println(f20(4) == (4 >>> 7))
+ print("f19 = "); println(f19(-4) == (-4 >> 7))
+ print("f20 = "); println(f20(-4) == (-4 >>> 7))
print("f21 = "); println(f21(4.2) == (4.2.toByte))
print("f22 = "); println(f22(4.2) == (4.2.toShort))