| // TARGET_BACKEND: NATIVE | |
| // WITH_PLATFORM_LIBS | |
| // MODULE: cinterop | |
| // FILE: kt63049.def | |
| depends = Foundation | |
| language = Objective-C | |
| headers = kt63049.h | |
| # Workaround for https://youtrack.jetbrains.com/issue/KT-80470. | |
| linkerOpts = -all_load | |
| // FILE: kt63049.h | |
| #import "Foundation/NSObject.h" | |
| @interface KT63049 : NSObject | |
| @end | |
| // FILE: kt63049.m | |
| #import "kt63049.h" | |
| @implementation KT63049 : NSObject | |
| @end | |
| // MODULE: main(cinterop) | |
| // FILE: main.kt | |
| @file:OptIn(kotlinx.cinterop.ExperimentalForeignApi::class, kotlin.experimental.ExperimentalObjCName::class) | |
| import kt63049.* | |
| import kotlin.test.assertEquals | |
| class Impl : KT63049() { | |
| companion object : KT63049Meta() { | |
| fun stringProperty(): String? = "OK" | |
| } | |
| } | |
| fun box() = Impl.stringProperty() |