diff options
author | Lukas Rytz <lukas.rytz@gmail.com> | 2015-11-09 09:52:42 +0100 |
---|---|---|
committer | Lukas Rytz <lukas.rytz@gmail.com> | 2016-01-25 11:35:42 +0100 |
commit | 0210d265f900941a0c17bb73f8de4c784ab27fc0 (patch) | |
tree | ded9c4d0a1fc32b300075f12983419153818aaef /test/junit | |
parent | 062109b51d0dba640933d749bf07f55d84f450d4 (diff) | |
download | scala-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.scala | 24 |
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)) + } } |