Files
kotlin-fork/compiler/testData/codegen/box/intrinsics/throwable.kt
T
Vladimir Sukharev a036e41809 [Test] Convert IGNORE: NATIVE directives in box tests from D to I
^KT-59057

Merge-request: KT-MR-10748
Merged-by: Vladimir Sukharev <Vladimir.Sukharev@jetbrains.com>
2023-06-23 09:11:17 +00:00

26 lines
749 B
Kotlin
Vendored

// TARGET_BACKEND: JVM
// TARGET_BACKEND: JVM_IR
fun box(): String {
val s: String? = "OK"
val t: Throwable? = Throwable("test", null)
val z = Throwable(s, t)
if (z.message !== s) return "fail 1: ${z.message}"
if (z.cause !== t) return "fail 2: ${z.cause}"
val z2 = Throwable(s)
if (z2.message !== s) return "fail 3: ${z2.message}"
if (z2.cause !== null) return "fail 4: ${z2.cause}"
val z3 = Throwable(t)
if (z3.message != "java.lang.Throwable: test") return "fail 5: ${z3.message}"
if (z3.cause !== t) return "fail 6: ${z2.cause}"
val z4 = Throwable()
if (z4.message !== null) return "fail 7: ${z4.message}"
if (z4.cause !== null) return "fail 8: ${z4.cause}"
return z.message!!
}