65 lines
1.2 KiB
Kotlin
Vendored
65 lines
1.2 KiB
Kotlin
Vendored
// IGNORE_INLINER: IR
|
|
|
|
// FILE: test.kt
|
|
|
|
public val MASSERTIONS_ENABLED: Boolean = true
|
|
|
|
public inline fun massert(value: Boolean, lazyMessage: () -> String) {
|
|
if (MASSERTIONS_ENABLED) {
|
|
if (!value) {
|
|
val message = lazyMessage()
|
|
throw AssertionError(message)
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
public inline fun massert(value: Boolean, message: Any = "Assertion failed") {
|
|
if (MASSERTIONS_ENABLED) {
|
|
if (!value) {
|
|
throw AssertionError(message)
|
|
}
|
|
}
|
|
}
|
|
|
|
fun box(): String {
|
|
massert(true)
|
|
massert(true) {
|
|
"test"
|
|
}
|
|
|
|
return "OK"
|
|
}
|
|
|
|
// EXPECTATIONS JVM_IR
|
|
// test.kt:26 box
|
|
// test.kt:17 box
|
|
// test.kt:18 box
|
|
// test.kt:5 getMASSERTIONS_ENABLED
|
|
// test.kt:18 box
|
|
// test.kt:19 box
|
|
// test.kt:23 box
|
|
// test.kt:27 box
|
|
// test.kt:8 box
|
|
// test.kt:5 getMASSERTIONS_ENABLED
|
|
// test.kt:8 box
|
|
// test.kt:9 box
|
|
// test.kt:14 box
|
|
// test.kt:31 box
|
|
|
|
// EXPECTATIONS JS_IR
|
|
// test.kt:17 box
|
|
// test.kt:18 box
|
|
// test.kt:8 box
|
|
// test.kt:31 box
|
|
|
|
// EXPECTATIONS WASM
|
|
// test.kt:26 $box (4, 12)
|
|
// test.kt:17 $box (57, 57, 57, 57)
|
|
// test.kt:18 $box
|
|
// test.kt:19 $box (13, 12)
|
|
// test.kt:27 $box (4, 12)
|
|
// test.kt:8 $box
|
|
// test.kt:9 $box (13, 12)
|
|
// test.kt:31 $box (11, 11, 11, 11, 4)
|