fun t1() { try { 1 } finally { 2 } } fun t2() { try { 1 if (2 > 3) { return } } finally { 2 } } fun t3() { try { 1 @l{ () -> if (2 > 3) { return@l } } } finally { 2 } } fun t4() { @l{ () -> try { 1 if (2 > 3) { return@l } } finally { 2 } } } fun t5() { @l while(true) { try { 1 if (2 > 3) { break @l } } finally { 2 } } } fun t6() { try { @l while(true) { 1 if (2 > 3) { break @l } } 5 } finally { 2 } } fun t7() { try { @l while(true) { 1 if (2 > 3) { break @l } } } finally { 2 } } fun t8(a : Int) { @l for (i in 1..a) { try { 1 if (2 > 3) { continue @l } } finally { 2 } } } fun t9(a : Int) { try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } 5 } finally { 2 } } fun t10(a : Int) { try { @l for (i in 1..a) { 1 if (2 > 3) { continue @l } } } finally { 2 } } fun t11() { try { return 1 } finally { return 2 } } fun t12() : Int { try { return 1 } finally { doSmth(3) } } fun t13() : Int { try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } finally { doSmth(3) } } fun t14() : Int { try { return 1 } catch (e: UnsupportedOperationException) { doSmth(2) } } fun t15() : Int { try { return 1 } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } } fun t16() : Int { try { doSmth(1) } catch (e: UnsupportedOperationException) { return 2 } finally { doSmth(3) } } fun doSmth(i: Int) { }