blob: 365440369fcca3cd75849c36b0df1f262179f8ce [file]
// LANGUAGE: +ContextParameters
// IGNORE_BACKEND_K1: ANY
// SKIP_IR_DESERIALIZATION_CHECKS
// ^ Context parameter names aren't serialized to metadata yet KT-74546
// MODULE: a
// FILE: a.kt
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
@OptIn(ExperimentalContracts::class)
context(a: String?)
fun validate1() {
contract {
returns() implies (a != null)
}
a!!
}
// MODULE: b(a)
// FILE: b.kt
import kotlin.contracts.ExperimentalContracts
import kotlin.contracts.contract
@OptIn(ExperimentalContracts::class)
context(a: String?)
fun validate2() {
contract {
returns() implies (a != null)
}
a!!
}
fun box(): String {
return with("O" as String?) {
validate1()
this
} + with("K" as String?) {
validate2()
this
}
}