Files
kotlin-fork/compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt
T
Steven Schäfer 7d59c7689c JVM IR: Avoid direct invokes in callable reference tests
Due to the direct invoke optimization, most callable reference tests
were not generating callable references/lambdas.
2022-07-14 23:24:18 +02:00

38 lines
1018 B
Kotlin
Vendored

// WITH_STDLIB
val x: Int? = 42
fun xFun(): Int? = 42
val n: Int? = null
val nProp: Int?
get() = null
fun box(): String {
if (x in 0..2) return "Fail in"
if (!(x !in 0..2)) return "Fail !in"
if (xFun() in 0..2) return "Fail in function"
if (!(xFun() !in 0..2)) return "Fail !in function"
if (n in 0..2) return "Fail in null"
if (!(n !in 0..2)) return "Fail !in null"
if (nProp in 0..2) return "Fail in null property"
if (!(nProp !in 0..2)) return "Fail !in null property"
val v: Int? = 10
if (v in 0..2) return "Fail in variable"
if (!(v !in 0..2)) return "Fail !in variable"
val nul: Int? = null
if (nul in 0..2) return "Fail in null variable"
if (!(nul !in 0..2)) return "Fail !in null variable"
if (null in 0..2) return "Fail in null const"
if (!(null !in 0..2)) return "Fail !in null const"
if ({ x }.let { it() } in 0..2) return "Fail in complex"
if (!({ x }.let { it() } !in 0..2)) return "Fail !in complex"
return "OK"
}