JVM IR: Do not generate private suspend functions as synthetic package-private

#KT-26592
This commit is contained in:
Ilmir Usmanov
2021-02-23 14:51:39 +01:00
parent 48fb085bf6
commit 3ee62cb1b2
7 changed files with 13 additions and 9 deletions
@@ -2,6 +2,7 @@
// WITH_RUNTIME
// WITH_COROUTINES
// IGNORE_BACKEND: JVM, NATIVE
// IGNORE_BACKEND_FIR: JVM_IR
// IGNORE_LIGHT_ANALYSIS
// `lambda` should not be wrapped in yet another object (so no OnInlineArgumentKt$box$1$1).
@@ -8,6 +8,7 @@ final class OnInlineArgumentKt$box$1 {
field label: int
inner (anonymous) class OnInlineArgumentKt$box$1
method <init>(p0: kotlin.jvm.internal.Ref$ObjectRef, p1: kotlin.jvm.functions.Function1, p2: kotlin.coroutines.Continuation): void
public synthetic final static method access$invokeSuspend$suspendConversion0(p0: kotlin.jvm.functions.Function1, p1: java.lang.String, p2: kotlin.coroutines.Continuation): java.lang.Object
public final @org.jetbrains.annotations.NotNull method create(@org.jetbrains.annotations.NotNull p0: kotlin.coroutines.Continuation): kotlin.coroutines.Continuation
public final @org.jetbrains.annotations.Nullable method invoke(@org.jetbrains.annotations.Nullable p0: kotlin.coroutines.Continuation): java.lang.Object
public synthetic bridge method invoke(p0: java.lang.Object): java.lang.Object
@@ -0,0 +1,7 @@
@kotlin.Metadata
public final class PrivateAccessorKt {
// source: 'privateAccessor.kt'
public synthetic final static method access$bar(p0: kotlin.coroutines.Continuation): java.lang.Object
private final static method bar(p0: kotlin.coroutines.Continuation): java.lang.Object
private final static method foo(): void
}
@@ -2,11 +2,13 @@
public final class A {
// source: 'privateSuspendFun.kt'
public method <init>(): void
synthetic final method foo(p0: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method access$foo(p0: A, p1: kotlin.coroutines.Continuation): java.lang.Object
private final method foo(p0: kotlin.coroutines.Continuation): java.lang.Object
}
@kotlin.Metadata
public final class PrivateSuspendFunKt {
// source: 'privateSuspendFun.kt'
synthetic final static method foo(p0: kotlin.coroutines.Continuation): java.lang.Object
public synthetic final static method access$foo(p0: kotlin.coroutines.Continuation): java.lang.Object
private final static method foo(p0: kotlin.coroutines.Continuation): java.lang.Object
}