diff --git a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt index 8e52efbd827..cab6684f634 100644 --- a/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt +++ b/compiler/ir/backend.jvm/src/org/jetbrains/kotlin/backend/jvm/lower/GenerateMultifileFacades.kt @@ -214,7 +214,9 @@ private fun IrSimpleFunction.createMultifileDelegateIfNeeded( ): IrSimpleFunction? { val target = this - if (DescriptorVisibilities.isPrivate(visibility) || + val originalVisibility = context.mapping.defaultArgumentsOriginalFunction[this]?.visibility ?: visibility + + if (DescriptorVisibilities.isPrivate(originalVisibility) || name == StaticInitializersLowering.clinitName || origin == JvmLoweredDeclarationOrigin.SYNTHETIC_ACCESSOR || // $annotations methods in the facade are only needed for const properties. diff --git a/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass.kt b/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass.kt index f2b01474375..faca4eae220 100644 --- a/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass.kt +++ b/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass.kt @@ -1,5 +1,4 @@ // WITH_RUNTIME -// The difference of JVM and JVM_IR in generating privateFunction here is reported at KT-41841. // FILE: test.kt @file:JvmMultifileClass diff --git a/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass_ir.txt b/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass_ir.txt deleted file mode 100644 index 176aaa4bc26..00000000000 --- a/compiler/testData/codegen/bytecodeListing/defaultArguments/functionInMultifileClass_ir.txt +++ /dev/null @@ -1,39 +0,0 @@ -@kotlin.Metadata -public final class A { - // source: 'test.kt' - public synthetic static method internal$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static method internal(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method internalInline$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - public final static method internalInline(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: int): void - synthetic static method private$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - synthetic static method privateInline$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - public synthetic static method public$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static method public(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method publicInline$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - public final static method publicInline(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: int): void - public synthetic static method published$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static @kotlin.PublishedApi method published(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method publishedInline$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static @kotlin.PublishedApi method publishedInline(@org.jetbrains.annotations.NotNull p0: java.lang.String): void -} - -@kotlin.Metadata -synthetic final class A__TestKt { - // source: 'test.kt' - public synthetic static method internal$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static method internal(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method internalInline$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - public final static method internalInline(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: int): void - synthetic static method private$A__TestKt$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - private final static method private$A__TestKt(p0: java.lang.String): void - synthetic static method privateInline$A__TestKt$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - private final static method privateInline$A__TestKt(p0: java.lang.String, p1: int): void - public synthetic static method public$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static method public(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method publicInline$default(p0: java.lang.String, p1: int, p2: int, p3: java.lang.Object): void - public final static method publicInline(@org.jetbrains.annotations.NotNull p0: java.lang.String, p1: int): void - public synthetic static method published$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static @kotlin.PublishedApi method published(@org.jetbrains.annotations.NotNull p0: java.lang.String): void - public synthetic static method publishedInline$default(p0: java.lang.String, p1: int, p2: java.lang.Object): void - public final static @kotlin.PublishedApi method publishedInline(@org.jetbrains.annotations.NotNull p0: java.lang.String): void -}