From 168e4414a1c91fec35bcfa68a24aee774dc426bd Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov Date: Thu, 8 Feb 2024 17:29:31 +0200 Subject: [PATCH] [Swift export][KT-65672] Import bridges module in the generated one --- .../kotlin/swiftexport/standalone/SwiftExportRunner.kt | 2 +- .../swiftexport/standalone/builders/buildSwiftModule.kt | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportRunner.kt b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportRunner.kt index e3e77a29d03..18f23352bee 100644 --- a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportRunner.kt +++ b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/SwiftExportRunner.kt @@ -84,7 +84,7 @@ public fun runSwiftExport( } - val module = buildSwiftModule(input, isDebugModeEnabled) + val module = buildSwiftModule(input, isDebugModeEnabled, bridgeModuleName) .transformToSwift() val bridgeRequests = module.buildFunctionBridges() module.dumpResultToFiles(bridgeRequests, output) diff --git a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildSwiftModule.kt b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildSwiftModule.kt index 39311454acc..a016f251736 100644 --- a/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildSwiftModule.kt +++ b/native/swift/swift-export-standalone/src/org/jetbrains/kotlin/swiftexport/standalone/builders/buildSwiftModule.kt @@ -14,6 +14,7 @@ import org.jetbrains.kotlin.platform.konan.NativePlatforms import org.jetbrains.kotlin.psi.KtFile import org.jetbrains.kotlin.sir.SirModule import org.jetbrains.kotlin.sir.analysisapi.SirGenerator +import org.jetbrains.kotlin.sir.builder.buildImport import org.jetbrains.kotlin.sir.builder.buildModule import org.jetbrains.kotlin.swiftexport.standalone.SwiftExportInput @@ -21,6 +22,7 @@ import org.jetbrains.kotlin.swiftexport.standalone.SwiftExportInput internal fun buildSwiftModule( input: SwiftExportInput, shouldSortInputFiles: Boolean, + bridgeModuleName: String, ): SirModule { val session = buildStandaloneAnalysisAPISession { registerProjectService(KtLifetimeTokenProvider::class.java, KtAlwaysAccessibleLifetimeTokenProvider()) @@ -46,9 +48,13 @@ internal fun buildSwiftModule( ktFiles = ktFiles.sortedBy { it.name } } + return buildModule { name = sourceModule.moduleName val sirFactory = SirGenerator() + declarations += buildImport { + moduleName = bridgeModuleName + } ktFiles.forEach { file -> declarations += sirFactory.build(file) }