From 300369000f5386dd393c483e9779f63b966465de Mon Sep 17 00:00:00 2001 From: Sergey Bogolepov Date: Fri, 9 Feb 2024 15:57:31 +0200 Subject: [PATCH] [KT-65126] Fix visibility of enums according to failing tests --- .../jetbrains/sir/printer/SirAsSwiftSourcesPrinter.kt | 7 ++++++- .../testData/functions/golden_result/result.swift | 10 +++++----- .../testData/variables/golden_result/result.swift | 4 ++-- 3 files changed, 13 insertions(+), 8 deletions(-) diff --git a/native/swift/sir-printer/src/org/jetbrains/sir/printer/SirAsSwiftSourcesPrinter.kt b/native/swift/sir-printer/src/org/jetbrains/sir/printer/SirAsSwiftSourcesPrinter.kt index 5651ec713d2..2ffccd677e9 100644 --- a/native/swift/sir-printer/src/org/jetbrains/sir/printer/SirAsSwiftSourcesPrinter.kt +++ b/native/swift/sir-printer/src/org/jetbrains/sir/printer/SirAsSwiftSourcesPrinter.kt @@ -121,7 +121,12 @@ public class SirAsSwiftSourcesPrinter(private val printer: SmartPrinter) : SirVi } override fun visitEnum(enum: SirEnum): Unit = with(printer) { - println("enum ${enum.name.swiftIdentifier} {") + println( + enum.visibility.takeIf { it != SirVisibility.INTERNAL }?.let { "${it.swift} " } ?: "", + "enum ", + enum.name.swiftIdentifier, + " {" + ) withIndent { enum.acceptChildren(this@SirAsSwiftSourcesPrinter) } diff --git a/native/swift/swift-export-standalone/testData/functions/golden_result/result.swift b/native/swift/swift-export-standalone/testData/functions/golden_result/result.swift index 8ed1f2dbf40..9dd273b52a7 100644 --- a/native/swift/swift-export-standalone/testData/functions/golden_result/result.swift +++ b/native/swift/swift-export-standalone/testData/functions/golden_result/result.swift @@ -1,12 +1,12 @@ import KotlinBridges -enum namespace1 { - enum local_functions { +public enum namespace1 { + public enum local_functions { public static func foo() -> Swift.Void { namespace1_local_functions_foo() } } - enum main { + public enum main { public static func foobar( param: Swift.Int32 ) -> Swift.Int32 { @@ -29,7 +29,7 @@ enum namespace1 { } } -enum namespace2 { +public enum namespace2 { public static func foo( arg1: Swift.Int32 ) -> Swift.Int32 { @@ -37,7 +37,7 @@ enum namespace2 { } } -enum overload { +public enum overload { public static func foo( arg1: Swift.Int32 ) -> Swift.Int32 { diff --git a/native/swift/swift-export-standalone/testData/variables/golden_result/result.swift b/native/swift/swift-export-standalone/testData/variables/golden_result/result.swift index 8e15ec14cb0..3029dec61cd 100644 --- a/native/swift/swift-export-standalone/testData/variables/golden_result/result.swift +++ b/native/swift/swift-export-standalone/testData/variables/golden_result/result.swift @@ -1,7 +1,7 @@ import KotlinBridges -enum namespace { - enum main { +public enum namespace { + public enum main { public static var foo: Swift.Int32 { get { return namespace_main_foo_get()