summaryrefslogtreecommitdiff
path: root/test/junit
diff options
context:
space:
mode:
authorLukas Rytz <lukas.rytz@gmail.com>2015-11-09 09:52:42 +0100
committerLukas Rytz <lukas.rytz@gmail.com>2016-01-25 11:35:42 +0100
commit0210d265f900941a0c17bb73f8de4c784ab27fc0 (patch)
treeded9c4d0a1fc32b300075f12983419153818aaef /test/junit
parent062109b51d0dba640933d749bf07f55d84f450d4 (diff)
downloadscala-0210d265f900941a0c17bb73f8de4c784ab27fc0.tar.gz
scala-0210d265f900941a0c17bb73f8de4c784ab27fc0.tar.bz2
scala-0210d265f900941a0c17bb73f8de4c784ab27fc0.zip
Rewrite test for SI-7006
Diffstat (limited to 'test/junit')
-rw-r--r--test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala24
1 files changed, 24 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 7e5dd734fd..423ff85f04 100644
--- a/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala
+++ b/test/junit/scala/tools/nsc/backend/jvm/opt/MethodLevelOptsTest.scala
@@ -717,4 +717,28 @@ class MethodLevelOptsTest extends ClearAfterClass {
assertEquals(locals(c, "t4"), List(("this", 0), ("x", 1)))
assertEquals(locals(c, "t5"), List(("this", 0), ("x", 1)))
}
+
+ @Test
+ def t7006(): Unit = {
+ val code =
+ """class C {
+ | def t: Unit = {
+ | try {
+ | val x = 3
+ | } finally {
+ | print("hello")
+ | }
+ | while(true) { }
+ | }
+ |}
+ """.stripMargin
+ val List(c) = compileClasses(methodOptCompiler)(code)
+ val t = getSingleMethod(c, "t")
+ assertEquals(t.handlers, Nil)
+ assertEquals(locals(c, "t"), List(("this", 0)))
+ assertEquals(t.instructions.summary,
+ List(
+ GETSTATIC, LDC, "print",
+ -1, GOTO))
+ }
}