From 39c3ff556e7cc994578434c62ee9a794b672019e Mon Sep 17 00:00:00 2001 From: Svyatoslav Scherbina Date: Wed, 19 Sep 2018 14:49:06 +0300 Subject: [PATCH] Don't expose interface nested types as Swift nested types Since this turns out to be unsupported by Swift. Also don't do this for nested interfaces as its status is unclear. --- .../kotlin/backend/konan/objcexport/ObjCExportNamer.kt | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt index 43715804bd7..90a13a41745 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/objcexport/ObjCExportNamer.kt @@ -167,7 +167,12 @@ internal class ObjCExportNamerImpl( val containingDeclaration = descriptor.containingDeclaration if (containingDeclaration is ClassDescriptor) { append(getClassOrProtocolSwiftName(containingDeclaration)) - .append(".").append(descriptor.name.asString()) + + if (!descriptor.isInterface && !containingDeclaration.isInterface) { + append(".").append(descriptor.name.asString()) + } else { + append(descriptor.name.asString().capitalize()) + } } else { appendTopLevelClassBaseName(descriptor) }