summaryrefslogtreecommitdiff
path: root/test
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2016-02-03 17:41:59 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2016-02-04 10:45:22 +0100
commit93b7e2982d7ee503bfc27a9523d17bbd2f5e1fd6 (patch)
treebf258a236911dcd61e20c1a9aeafed018c97caa3 /test
parent333187a7c020b7d51d68c5435852305e70d89d41 (diff)
downloadscala-93b7e2982d7ee503bfc27a9523d17bbd2f5e1fd6.tar.gz
scala-93b7e2982d7ee503bfc27a9523d17bbd2f5e1fd6.tar.bz2
scala-93b7e2982d7ee503bfc27a9523d17bbd2f5e1fd6.zip
test case for optimizing BooleanOrdering.compare
Diffstat (limited to 'test')
-rw-r--r--test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala15
1 files changed, 15 insertions, 0 deletions
diff --git a/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala b/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala
index 423ff85f04..438c2a94dc 100644
--- a/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala
+++ b/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala
@@ -741,4 +741,19 @@ class MethodLevelOptsTest extends ClearAfterClass {
GETSTATIC, LDC, "print",
-1, GOTO))
}
+
+ @Test
+ def booleanOrderingCompare(): Unit = {
+ val code =
+ """class C {
+ | def compare(x: Boolean, y: Boolean) = (x, y) match {
+ | case (false, true) => -1
+ | case (true, false) => 1
+ | case _ => 0
+ | }
+ |}
+ """.stripMargin
+ val List(c) = compileClasses(methodOptCompiler)(code)
+ assertNoInvoke(getSingleMethod(c, "compare"))
+ }
}