turn on explicitApi for SIR modules

Merge-request: KT-MR-13448
Merged-by: Artem Olkov <artem.olkov@jetbrains.com>
This commit is contained in:
Artem Olkov
2023-12-12 09:02:55 +00:00
committed by Space Team
parent a03fd2e29a
commit 6c4a6e2a02
10 changed files with 48 additions and 32 deletions
@@ -4,6 +4,10 @@ plugins {
description = "Printer for SIR"
kotlin {
explicitApi()
}
dependencies {
compileOnly(kotlinStdlib())
@@ -11,12 +11,12 @@ import org.jetbrains.kotlin.utils.SmartPrinter
private const val DEFAULT_INDENT: String = " "
class SirAsSwiftSourcesPrinter : SirVisitor<Unit, SmartPrinter>() {
fun print(element: SirElement): String = buildString {
public class SirAsSwiftSourcesPrinter : SirVisitor<Unit, SmartPrinter>() {
public fun print(element: SirElement): String = buildString {
element.accept(this@SirAsSwiftSourcesPrinter, SmartPrinter(this))
}.trim()
override fun visitModule(module: SirModule, data: SmartPrinter) = with(data) {
override fun visitModule(module: SirModule, data: SmartPrinter): Unit = with(data) {
module.declarations.forEach {
it.accept(this@SirAsSwiftSourcesPrinter, this)
if (module.declarations.last() != it) {