diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt index 1a4343fd6d3..7ae25ddf463 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/TargetProvider.kt @@ -23,7 +23,6 @@ interface ModulesProvider { ) class CInteropModuleAttributes( - val mainPackageFqName: String, val exportForwardDeclarations: Collection ) diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt index d977bb4c702..e7dfdc1833e 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/konan/NativeDistributionModulesProvider.kt @@ -45,11 +45,7 @@ internal abstract class NativeDistributionModulesProvider(libraries: Collection< val dependencies = manifestData.dependencies.toSet() val cInteropAttributes = if (manifestData.isInterop) { - val packageFqName = manifestData.packageFqName - ?: manifestData.shortName?.let { "platform.$it" } - ?: manifestData.uniqueName.substringAfter("platform.").let { "platform.$it" } - - CInteropModuleAttributes(packageFqName, manifestData.exportForwardDeclarations) + CInteropModuleAttributes(manifestData.exportForwardDeclarations) } else null libraryMap.put(name, library)?.let { error("Duplicated libraries: $name") } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt index 27cbc668f33..3d93cb64564 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/CirTreeMerger.kt @@ -253,12 +253,13 @@ class CirTreeMerger( private fun processCInteropModuleAttributes(moduleInfo: ModuleInfo) { val cInteropAttributes = moduleInfo.cInteropAttributes ?: return val exportForwardDeclarations = cInteropAttributes.exportForwardDeclarations.takeIf { it.isNotEmpty() } ?: return - val mainPackageFqName = CirPackageName.create(cInteropAttributes.mainPackageFqName) exportForwardDeclarations.forEach { classFqName -> // Class has synthetic package FQ name (cnames/objcnames). Need to transfer it to the main package. + val packageName = CirPackageName.create(classFqName.substringBeforeLast('.', missingDelimiterValue = "")) val className = CirName.create(classFqName.substringAfterLast('.')) - classifiers.forwardDeclarations.addExportedForwardDeclaration(CirEntityId.create(mainPackageFqName, className)) + + classifiers.forwardDeclarations.addExportedForwardDeclaration(CirEntityId.create(packageName, className)) } } } diff --git a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/classifierContainers.kt b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/classifierContainers.kt index 0f386bee1ea..0f2624405ea 100644 --- a/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/classifierContainers.kt +++ b/native/commonizer/src/org/jetbrains/kotlin/descriptors/commonizer/mergedtree/classifierContainers.kt @@ -72,7 +72,7 @@ interface CirForwardDeclarations { override fun isExportedForwardDeclaration(classId: CirEntityId) = classId in exportedForwardDeclarations override fun addExportedForwardDeclaration(classId: CirEntityId) { - check(!classId.packageName.isUnderKotlinNativeSyntheticPackages) + check(classId.packageName.isUnderKotlinNativeSyntheticPackages) exportedForwardDeclarations += classId } }