JVM_IR. Deprecate public access to @JvmField/const fields in private companions

#KT-25009
This commit is contained in:
Mikhael Bogdanov
2020-10-29 09:25:43 +01:00
parent 57c9afc73a
commit 5804f73ebd
11 changed files with 134 additions and 18 deletions
@@ -0,0 +1,11 @@
class Foo {
@field:java.lang.Deprecated
val bar: String = "123"
@java.lang.Deprecated
val bar2: String = "123"
@java.lang.Deprecated
fun test() {}
}
@@ -0,0 +1,10 @@
@kotlin.Metadata
public final class Foo {
// source: 'javaDeprecated.kt'
private final @java.lang.Deprecated @org.jetbrains.annotations.NotNull field bar2: java.lang.String
private final @java.lang.Deprecated @org.jetbrains.annotations.NotNull field bar: java.lang.String
public method <init>(): void
public final @org.jetbrains.annotations.NotNull method getBar(): java.lang.String
public final @org.jetbrains.annotations.NotNull method getBar2(): java.lang.String
public final @java.lang.Deprecated method test(): void
}
@@ -0,0 +1,57 @@
@kotlin.Metadata
final class TestClass$Companion {
// source: 'privateCompanionFields.kt'
private method <init>(): void
public synthetic method <init>(p0: kotlin.jvm.internal.DefaultConstructorMarker): void
private final inner class TestClass$Companion
}
@kotlin.Metadata
public final class TestClass {
// source: 'privateCompanionFields.kt'
private final static @org.jetbrains.annotations.NotNull field Companion: TestClass$Companion
public deprecated static @java.lang.Deprecated @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull field test2: java.lang.String
public deprecated final static @java.lang.Deprecated @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull field test3: java.lang.String
public deprecated static @java.lang.Deprecated @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull field test: java.lang.String
public deprecated final static @java.lang.Deprecated field testConst: int
static method <clinit>(): void
public method <init>(): void
private final inner class TestClass$Companion
}
@kotlin.Metadata
final class TestConst$Companion {
// source: 'privateCompanionFields.kt'
synthetic final static field $$INSTANCE: TestConst$Companion
public final static field testConst: int
static method <clinit>(): void
private method <init>(): void
public final inner class TestConst$Companion
}
@kotlin.Metadata
public interface TestConst {
// source: 'privateCompanionFields.kt'
public synthetic final static field Companion: TestConst$Companion
public deprecated final static @java.lang.Deprecated field testConst: int
static method <clinit>(): void
public final inner class TestConst$Companion
}
@kotlin.Metadata
final class TestJvmField$Companion {
// source: 'privateCompanionFields.kt'
synthetic final static field $$INSTANCE: TestJvmField$Companion
static method <clinit>(): void
private method <init>(): void
public final inner class TestJvmField$Companion
}
@kotlin.Metadata
public interface TestJvmField {
// source: 'privateCompanionFields.kt'
public synthetic final static field Companion: TestJvmField$Companion
public deprecated final static @java.lang.Deprecated @kotlin.jvm.JvmField @org.jetbrains.annotations.NotNull field test3: java.lang.String
static method <clinit>(): void
public final inner class TestJvmField$Companion
}