| // 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" |
| } |