From 8324bb67f54cf2447aace1e7bdc0becbdb76b640 Mon Sep 17 00:00:00 2001 From: Nikolay Igotti Date: Mon, 12 Feb 2018 15:59:59 +0300 Subject: [PATCH] Omit expect classes/functions form -produce dynamic. (#1310) --- .../org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt index f7a0461dac9..d4283c8ef3f 100644 --- a/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt +++ b/backend.native/compiler/ir/backend.native/src/org/jetbrains/kotlin/backend/konan/CAdapterGenerator.kt @@ -103,7 +103,7 @@ private val ClassDescriptor.isValueType private fun isExportedFunction(descriptor: FunctionDescriptor): Boolean { - if (!descriptor.isEffectivelyPublicApi || !descriptor.kind.isReal) + if (!descriptor.isEffectivelyPublicApi || !descriptor.kind.isReal || descriptor.isExpect) return false descriptor.allParameters.forEach { if (it.type.isGeneric()) return false @@ -117,6 +117,8 @@ private fun isExportedClass(descriptor: ClassDescriptor): Boolean { if (!descriptor.isEffectivelyPublicApi) return false // No sense to export annotations. if (DescriptorUtils.isAnnotationClass(descriptor)) return false + // Do not export expect classes. + if (descriptor.isExpect) return false // Do not export types with type parameters. // TODO: is it correct? if (!descriptor.declaredTypeParameters.isEmpty()) return false