diff --git a/native/swift/sir-passes/src/org/jetbrains/sir/passes/translation/ForeignIntoSwiftFunctionTranslationPass.kt b/native/swift/sir-passes/src/org/jetbrains/sir/passes/translation/ForeignIntoSwiftFunctionTranslationPass.kt index 47033ba9ea2..db05c0667a3 100644 --- a/native/swift/sir-passes/src/org/jetbrains/sir/passes/translation/ForeignIntoSwiftFunctionTranslationPass.kt +++ b/native/swift/sir-passes/src/org/jetbrains/sir/passes/translation/ForeignIntoSwiftFunctionTranslationPass.kt @@ -10,7 +10,7 @@ import org.jetbrains.kotlin.sir.builder.buildFunction import org.jetbrains.kotlin.sir.util.SirSwiftModule import org.jetbrains.kotlin.sir.KotlinFunction import org.jetbrains.kotlin.sir.constants.* -import org.jetbrains.kotlin.sir.visitors.SirTransformer +import org.jetbrains.kotlin.sir.visitors.SirTransformerVoid import org.jetbrains.sir.passes.SirPass import java.lang.IllegalStateException @@ -22,15 +22,15 @@ import java.lang.IllegalStateException * or `element` does not contain origin of type `SirOrigin.KotlinEntity.Function`, * returns original element. */ -public class ForeignIntoSwiftFunctionTranslationPass : SirPass { +public class ForeignIntoSwiftFunctionTranslationPass : SirPass { - private class Transformer : SirTransformer() { - override fun transformElement(element: E, data: Unit): E { - element.transformChildren(this, data) + private class Transformer : SirTransformerVoid() { + override fun transformElement(element: E): E { + element.transformChildren(this) return element } - override fun transformForeignFunction(foreignFunction: SirForeignFunction, data: Unit): SirDeclaration { + override fun transformForeignFunction(foreignFunction: SirForeignFunction): SirDeclaration { val kotlinOrigin = (foreignFunction.origin as? SirOrigin.ForeignEntity)?.entity as? KotlinFunction ?: return foreignFunction return buildFunction { @@ -46,7 +46,7 @@ public class ForeignIntoSwiftFunctionTranslationPass : SirPass } } - override fun run(element: SirElement, data: Unit): SirElement = element.accept(Transformer(), Unit) + override fun run(element: SirElement, data: Nothing?): SirElement = element.transform(Transformer()) } private fun KotlinParameter.toSir(): SirParameter = SirParameter( diff --git a/native/swift/sir-passes/tests/org/jetbrains/kotlin/sir/passes/SirPassTests.kt b/native/swift/sir-passes/tests/org/jetbrains/kotlin/sir/passes/SirPassTests.kt index 48dec6b1d9c..dc735ecea0d 100644 --- a/native/swift/sir-passes/tests/org/jetbrains/kotlin/sir/passes/SirPassTests.kt +++ b/native/swift/sir-passes/tests/org/jetbrains/kotlin/sir/passes/SirPassTests.kt @@ -38,7 +38,7 @@ class SirPassTests { mySirElement.parent = module val myPass = ForeignIntoSwiftFunctionTranslationPass() - val result = myPass.run(mySirElement, Unit) as? SirFunction + val result = myPass.run(mySirElement, null) as? SirFunction assertNotNull(result, "SirFunction should be produced") val exp = MockSirFunction( name = "foo", @@ -96,7 +96,7 @@ class SirPassTests { mySirElement.parent = module val myPass = ForeignIntoSwiftFunctionTranslationPass() - val result = myPass.run(mySirElement, Unit) as? SirFunction + val result = myPass.run(mySirElement, null) as? SirFunction assertNotNull(result, "SirFunction should be produced") val exp = MockSirFunction( name = "foo",