| // TARGET_BACKEND: JVM | |
| // WITH_RUNTIME | |
| open class O { | |
| open fun foo(s: String = throw Error("Fail: this expression should not be evaluated")) {} | |
| } | |
| fun box(): String = try { | |
| val f = O::class.java.declaredMethods.single { it.name == "foo\$default" } | |
| f(null, O(), "s", 1, "non-null") | |
| "Fail: exception should have been thrown" | |
| } catch (e: Exception) { | |
| val cause = e.cause | |
| if (cause is UnsupportedOperationException) { | |
| "OK" | |
| } else { | |
| cause.toString() | |
| } | |
| } |