Files
kotlin-fork/compiler/testData/codegen/box/casts/toNativePointers.kt
T
2023-06-08 10:40:29 +00:00

32 lines
1.1 KiB
Kotlin
Vendored

// TARGET_BACKEND: NATIVE
@file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class)
import kotlinx.cinterop.*
fun getNp() : NativePtr? = null
fun getOp() : COpaquePointer? = null
fun box() : String {
if ((null as NativePtr?) != null) return "FAIL 1.1"
if ((null as? NativePtr) != null) return "FAIL 1.2"
if (null !is NativePtr?) return "FAIL 1.3"
if (null is NativePtr) return "FAIL 1.4"
if ((null as COpaquePointer?) != null) return "FAIL 2.1"
if ((null as? COpaquePointer) != null) return "FAIL 2.2"
if (null !is COpaquePointer?) return "FAIL 2.3"
if (null is COpaquePointer) return "FAIL 2.4"
if ((getNp() as NativePtr?) != null) return "FAIL 3.1"
if ((getNp() as? NativePtr) != null) return "FAIL 3.2"
if (getNp() !is NativePtr?) return "FAIL 3.3"
if (getNp() is NativePtr) return "FAIL 3.4"
if ((getOp() as COpaquePointer?) != null) return "FAIL 4.1"
if ((getOp() as? COpaquePointer) != null) return "FAIL 4.2"
if (getOp() !is COpaquePointer?) return "FAIL 4.3"
if (getOp() is COpaquePointer) return "FAIL 4.4"
return "OK"
}