Make top-level property backing field private in bytecode
This commit is contained in:
+6
-6
@@ -1,14 +1,14 @@
|
||||
public final class FileFacadeKt {
|
||||
@org.jetbrains.annotations.Nullable
|
||||
static final java.lang.String nullableVal = "";
|
||||
private static final java.lang.String nullableVal = "";
|
||||
@org.jetbrains.annotations.Nullable
|
||||
static java.lang.String nullableVar;
|
||||
private static java.lang.String nullableVar;
|
||||
@org.jetbrains.annotations.NotNull
|
||||
static final java.lang.String notNullVal = "";
|
||||
private static final java.lang.String notNullVal = "";
|
||||
@org.jetbrains.annotations.NotNull
|
||||
static java.lang.String notNullVar;
|
||||
static final java.lang.String privateNn = "";
|
||||
static final java.lang.String privateN = "";
|
||||
private static java.lang.String notNullVar;
|
||||
private static final java.lang.String privateNn = "";
|
||||
private static final java.lang.String privateN = "";
|
||||
|
||||
@org.jetbrains.annotations.NotNull
|
||||
public static final java.lang.String notNull(@org.jetbrains.annotations.NotNull java.lang.String a) { /* compiled code */ }
|
||||
|
||||
@@ -0,0 +1,18 @@
|
||||
// FULL_JDK
|
||||
package test
|
||||
|
||||
import java.lang.reflect.Modifier
|
||||
import kotlin.test.assertTrue
|
||||
|
||||
|
||||
private val prop = "O"
|
||||
|
||||
private fun test() = "K"
|
||||
|
||||
fun box(): String {
|
||||
val clazz = Class.forName("test.PrivateVisibilityKt")
|
||||
assertTrue(Modifier.isPrivate(clazz.getDeclaredMethod("test").modifiers), "Private top level function should be private")
|
||||
assertTrue(Modifier.isPrivate(clazz.getDeclaredField("prop").modifiers), "Backing field for private top level property should be private")
|
||||
|
||||
return "OK"
|
||||
}
|
||||
@@ -23,7 +23,7 @@
|
||||
@kotlin.annotation.Target @java.lang.annotation.Retention @java.lang.annotation.Target @kotlin.jvm.internal.KotlinClass Anno
|
||||
|
||||
@kotlin.jvm.internal.KotlinFileFacade DefaultTargetsKt {
|
||||
final @Anno field p2: int
|
||||
private final @Anno field p2: int
|
||||
method <clinit>(): void
|
||||
public final method getP(): int
|
||||
public final method getP2(): int
|
||||
|
||||
@@ -3,4 +3,4 @@
|
||||
// TESTED_OBJECT_KIND: property
|
||||
// TESTED_OBJECTS: TopLevelPropertyKt, test
|
||||
// IS_FULL_CONTAINING_CLASS_NAME: false
|
||||
// FLAGS: ACC_DEPRECATED, ACC_FINAL, ACC_STATIC
|
||||
// FLAGS: ACC_DEPRECATED, ACC_FINAL, ACC_STATIC, ACC_PRIVATE
|
||||
|
||||
Reference in New Issue
Block a user