diff --git a/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.h b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.h new file mode 100644 index 00000000000..bd746cf2ccf --- /dev/null +++ b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.h @@ -0,0 +1,10 @@ +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface KT38850Color : NSObject ++(instancetype)blackColor; +@property NSString* name; +@end; + +NS_ASSUME_NONNULL_END diff --git a/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.kt b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.kt new file mode 100644 index 00000000000..bbfdeb809fe --- /dev/null +++ b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.kt @@ -0,0 +1,12 @@ +import kotlinx.cinterop.* +import kotlin.test.* +import objcTests.* + +enum class ColorRef(val color: KT38850Color){ + Black(KT38850Color.blackColor()), +} + +@Test +fun testKT38850() { + assertEquals("black", ColorRef.Black.color.name) +} diff --git a/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.m b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.m new file mode 100644 index 00000000000..2fa2d540ba4 --- /dev/null +++ b/kotlin-native/backend.native/tests/interop/objc/tests/kt38850.m @@ -0,0 +1,9 @@ +#import "kt38850.h" + +@implementation KT38850Color ++(instancetype)blackColor { + KT38850Color* result = [KT38850Color new]; + result.name = @"black"; + return result; +} +@end;