KT-41841 no delegate to private $default fun in multifile facade

This commit is contained in:
Dmitry Petrov
2020-11-18 12:56:16 +03:00
parent 9a99af53ba
commit ca41f733b6
3 changed files with 3 additions and 41 deletions
@@ -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.
@@ -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
@@ -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
}