Files
kotlin-fork/compiler/testData/codegen/box/ranges/contains/nullableInPrimitiveRange.kt
T
Ivan Kylchik c7435ba760 Replace all occurrences of WITH_RUNTIME with WITH_STDLIB
We are going to deprecate `WITH_RUNTIME` directive. The main reason
behind this change is that `WITH_STDLIB` directive better describes
its meaning, specifically it will add kotlin stdlib to test's classpath.
2021-11-17 15:26:38 +03:00

38 lines
996 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 }() in 0..2) return "Fail in complex"
if (!({ x }() !in 0..2)) return "Fail !in complex"
return "OK"
}