diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2016-02-13 19:39:14 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-02-13 19:39:14 +0100 |
commit | 738f27313ba5a46800b8353bcaba640f6f143d01 (patch) | |
tree | 67d98b09da8906a09ac52fa8c668ad4d6ee1e9d0 /test/junit | |
parent | 7c25282ff91445dc1bdc20e49b68c2d20c318876 (diff) | |
download | scala-738f27313ba5a46800b8353bcaba640f6f143d01.tar.gz scala-738f27313ba5a46800b8353bcaba640f6f143d01.tar.bz2 scala-738f27313ba5a46800b8353bcaba640f6f143d01.zip |
SI-8790 test case
Tuples created for pattern matching are eliminated since
https://github.com/scala/scala/pull/4858
Diffstat (limited to 'test/junit')
-rw-r--r-- | test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala | 20 |
1 files changed, 20 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 438c2a94dc..8f18a84a1c 100644 --- a/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala +++ b/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala @@ -756,4 +756,24 @@ class MethodLevelOptsTest extends ClearAfterClass { val List(c) = compileClasses(methodOptCompiler)(code) assertNoInvoke(getSingleMethod(c, "compare")) } + + @Test + def t8790(): Unit = { + val code = + """class C { + | def t(x: Int, y: Int): String = (x, y) match { + | case (7, 8) => "a" + | case _ => "b" + | } + |} + """.stripMargin + val List(c) = compileClasses(methodOptCompiler)(code) + + assertEquals(getSingleMethod(c, "t").instructions.summary, List( + BIPUSH, ILOAD, IF_ICMPNE, + BIPUSH, ILOAD, IF_ICMPNE, + LDC, ASTORE, GOTO, + -1, LDC, ASTORE, + -1, ALOAD, ARETURN)) + } } |