KT-63748: Pack Swift Export Frontend into compiler plugin

Co-authored-by: Sergej Jaskiewicz <jaskiewiczs@icloud.com>


Merge-request: KT-MR-13351
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
This commit is contained in:
Artem Olkov
2023-12-13 10:40:38 +00:00
committed by Space Team
parent ae5a053025
commit 5fcdd4a9f6
29 changed files with 821 additions and 9 deletions
@@ -8,6 +8,7 @@ package org.jetbrains.sir.printer
import org.jetbrains.kotlin.sir.*
import org.jetbrains.kotlin.sir.visitors.SirVisitorVoid
import org.jetbrains.kotlin.utils.SmartPrinter
import org.jetbrains.kotlin.utils.withIndent
private const val DEFAULT_INDENT: String = " "
@@ -46,6 +47,14 @@ public class SirAsSwiftSourcesPrinter(private val printer: SmartPrinter) : SirVi
)
}
override fun visitEnum(enum: SirEnum): Unit = with(printer) {
println("enum ${enum.name.swiftIdentifier} {")
withIndent {
enum.acceptChildren(SirAsSwiftSourcesPrinter(printer))
}
println("}")
}
override fun visitForeignFunction(function: SirForeignFunction) {} // we do not write foreign nodes
override fun visitElement(element: SirElement): Unit = with(printer) {