[JVM IR] Make file classes with all private members package-private

This commit is contained in:
Iaroslav Postovalov
2020-12-26 21:42:46 +07:00
committed by Alexander Udalov
parent 032c64669c
commit 77180a5b13
8 changed files with 117 additions and 11 deletions
@@ -0,0 +1,14 @@
// WITH_RUNTIME
// IGNORE_BACKEND: JVM
// !LANGUAGE: +PackagePrivateFileClassesWithAllPrivateMembers
private fun f() {
}
private val a = Unit
private val b by lazy { Unit }
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.internal.InlineOnly
public fun g() {
}
@@ -0,0 +1,23 @@
@kotlin.Metadata
final class FileClassWithPrivateDeclarationsOnly_afterKt$b$2 {
// source: 'fileClassWithPrivateDeclarationsOnly_after.kt'
enclosing method FileClassWithPrivateDeclarationsOnly_afterKt.<clinit>()V
public final static field INSTANCE: FileClassWithPrivateDeclarationsOnly_afterKt$b$2
inner (anonymous) class FileClassWithPrivateDeclarationsOnly_afterKt$b$2
static method <clinit>(): void
method <init>(): void
public synthetic bridge method invoke(): java.lang.Object
public final method invoke(): void
}
@kotlin.Metadata
final class FileClassWithPrivateDeclarationsOnly_afterKt {
// source: 'fileClassWithPrivateDeclarationsOnly_after.kt'
private final static @org.jetbrains.annotations.NotNull field a: kotlin.Unit
private final static @org.jetbrains.annotations.NotNull field b$delegate: kotlin.Lazy
inner (anonymous) class FileClassWithPrivateDeclarationsOnly_afterKt$b$2
static method <clinit>(): void
private final static method f(): void
public final static @kotlin.internal.InlineOnly method g(): void
private final static method getB(): kotlin.Unit
}
@@ -0,0 +1,14 @@
// WITH_RUNTIME
// IGNORE_BACKEND: JVM
// !LANGUAGE: -PackagePrivateFileClassesWithAllPrivateMembers
private fun f() {
}
private val a = Unit
private val b by lazy { Unit }
@Suppress("INVISIBLE_MEMBER", "INVISIBLE_REFERENCE")
@kotlin.internal.InlineOnly
public fun g() {
}
@@ -0,0 +1,23 @@
@kotlin.Metadata
final class FileClassWithPrivateDeclarationsOnly_beforeKt$b$2 {
// source: 'fileClassWithPrivateDeclarationsOnly_before.kt'
enclosing method FileClassWithPrivateDeclarationsOnly_beforeKt.<clinit>()V
public final static field INSTANCE: FileClassWithPrivateDeclarationsOnly_beforeKt$b$2
inner (anonymous) class FileClassWithPrivateDeclarationsOnly_beforeKt$b$2
static method <clinit>(): void
method <init>(): void
public synthetic bridge method invoke(): java.lang.Object
public final method invoke(): void
}
@kotlin.Metadata
public final class FileClassWithPrivateDeclarationsOnly_beforeKt {
// source: 'fileClassWithPrivateDeclarationsOnly_before.kt'
private final static @org.jetbrains.annotations.NotNull field a: kotlin.Unit
private final static @org.jetbrains.annotations.NotNull field b$delegate: kotlin.Lazy
inner (anonymous) class FileClassWithPrivateDeclarationsOnly_beforeKt$b$2
static method <clinit>(): void
private final static method f(): void
public final static @kotlin.internal.InlineOnly method g(): void
private final static method getB(): kotlin.Unit
}