[Swift export][KT-65672] Import bridges module in the generated one

This commit is contained in:
Sergey Bogolepov
2024-02-08 17:29:31 +02:00
committed by Space Team
parent 10e4d34868
commit 168e4414a1
2 changed files with 7 additions and 1 deletions
@@ -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)
@@ -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)
}