Private visibility for non-const, non-jvmField class companion property backing field

This commit is contained in:
Michael Bogdanov
2015-12-25 15:05:31 +03:00
parent 85ae0cb78e
commit e116cc3206
76 changed files with 299 additions and 157 deletions
@@ -1,9 +1,6 @@
public final class ClassObjectField {
/**
* @deprecated
*/
@org.jetbrains.annotations.Nullable
public static final java.lang.String x = "";
private static final java.lang.String x = "";
private static final java.lang.String y = "";
public static final ClassObjectField.Companion Companion;
@@ -1,13 +1,7 @@
public final class A {
/**
* @deprecated
*/
public static final int c = 1;
/**
* @deprecated
*/
private static final int c = 1;
@org.jetbrains.annotations.NotNull
public static java.lang.String v;
private static java.lang.String v;
public static final pack.A INSTANCE;
public final int getC() { /* compiled code */ }
@@ -3,8 +3,8 @@ class Test {
return A.foo;
}
public static String bar() {
return A.bar;
public static String constBar() {
return A.constBar;
}
public static String getBar() {
@@ -3,7 +3,9 @@ import kotlin.jvm.JvmStatic
enum class A {
;
companion object {
val foo: String = "OK"
@JvmField val foo: String = "OK"
const val constBar: String = "OK"
@JvmStatic val bar: String = "OK"
@@ -13,7 +15,7 @@ enum class A {
fun box(): String {
if (Test.foo() != "OK") return "Fail foo"
if (Test.bar() != "OK") return "Fail bar"
if (Test.constBar() != "OK") return "Fail bar"
if (Test.getBar() != "OK") return "Fail getBar"
if (Test.baz() != "OK") return "Fail baz"
return "OK"
@@ -1,7 +1,7 @@
class KotlinClass {
companion object {
val FOO_INT: Int = 10
val FOO_STRING: String = "OK"
const val FOO_INT: Int = 10
@JvmField val FOO_STRING: String = "OK"
}
}
@@ -5,12 +5,18 @@ class Test {
s = Klass.NAME;
if (!s.equals("Klass")) throw new AssertionError("Fail class: " + s);
s = Klass.JVM_NAME;
if (!s.equals("JvmKlass")) throw new AssertionError("Fail jvm class: " + s);
s = Trait.NAME;
if (!s.equals("Trait")) throw new AssertionError("Fail interface: " + s);
s = Enoom.NAME;
if (!s.equals("Enum")) throw new AssertionError("Fail enum: " + s);
s = Enoom.JVM_NAME;
if (!s.equals("JvmEnum")) throw new AssertionError("Fail jvm enum: " + s);
return "OK";
}
}
@@ -1,6 +1,7 @@
class Klass {
companion object {
val NAME = "Klass"
const val NAME = "Klass"
@JvmField val JVM_NAME = "JvmKlass"
}
}
@@ -14,6 +15,7 @@ enum class Enoom {
;
companion object {
const val NAME = "Enum"
@JvmField val JVM_NAME = "JvmEnum"
}
}
@@ -12,7 +12,7 @@ public interface ErrorsJvmTrait {
public class ErrorsJvmClass {
companion object {
public val param : G<String> = G("STRING")
@JvmField public val param : G<String> = G("STRING")
}
}
@@ -11,13 +11,13 @@ annotation class AFloat(val value: Float)
class Test {
companion object {
val vstring: String = "Test"
val vchar: Char = 'c'
val vint: Int = 10
val vbyte: Byte = 11
val vlong: Long = 12
val vdouble: Double = 1.2
val vfloat: Float = 1.3.toFloat()
const val vstring: String = "Test"
const val vchar: Char = 'c'
const val vint: Int = 10
const val vbyte: Byte = 11
const val vlong: Long = 12
const val vdouble: Double = 1.2
const val vfloat: Float = 1.3.toFloat()
}
}
@@ -44,12 +44,12 @@ public final class Test {
public companion object Companion {
private constructor Companion()
public final val vbyte: kotlin.Byte
public final val vchar: kotlin.Char
public final val vdouble: kotlin.Double
public final val vfloat: kotlin.Float
public final val vint: kotlin.Int
public final val vlong: kotlin.Long
public final val vstring: kotlin.String
public const final val vbyte: kotlin.Byte
public const final val vchar: kotlin.Char
public const final val vdouble: kotlin.Double
public const final val vfloat: kotlin.Float
public const final val vint: kotlin.Int
public const final val vlong: kotlin.Long
public const final val vstring: kotlin.String
}
}
@@ -2,6 +2,6 @@ package test
class KotlinClass {
companion object {
val FOO: Int = 10
const val FOO: Int = 10
}
}
@@ -5,7 +5,7 @@ public final class KotlinClass {
public companion object Companion {
private constructor Companion()
public final val FOO: kotlin.Int
public const final val FOO: kotlin.Int
}
}
@@ -3,9 +3,9 @@ package test
class Test {
companion object {
public val valProp: Int = 10
public const val valProp: Int = 10
public var varProp: Int = 10
@JvmField public var varProp: Int = 10
}
}
@@ -5,8 +5,8 @@ public final class Test {
public companion object Companion {
private constructor Companion()
public final val valProp: kotlin.Int
public final var varProp: kotlin.Int
public const final val valProp: kotlin.Int
@field:kotlin.jvm.JvmField() public final var varProp: kotlin.Int
}
}
@@ -1,12 +1,12 @@
class Test {
companion object {
var prop: Int = 0;
const val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -6,7 +6,7 @@ class Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -1,12 +1,12 @@
class Test {
companion object {
protected val prop: Int = 0;
const protected val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_FINAL, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -1,12 +1,12 @@
class Test {
companion object {
public val prop: Int = 0;
public const val prop: Int = 0;
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -6,7 +6,7 @@ class Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -7,7 +7,7 @@ class Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PROTECTED, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -7,7 +7,7 @@ class Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PRIVATE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
@@ -1,7 +1,7 @@
class Test(val prop: String) {
companion object {
public val prop : String = "CO";
public const val prop : String = "CO";
}
}
@@ -13,4 +13,4 @@ class Test(val prop: String) {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
@@ -3,7 +3,7 @@ class Test {
public var prop: Int = 0;
companion object {
public val prop: Int = 0;
public const val prop: Int = 0;
}
}
@@ -13,4 +13,4 @@ class Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL, ACC_DEPRECATED
// FLAGS: ACC_STATIC, ACC_PUBLIC, ACC_FINAL
@@ -10,4 +10,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_FINAL, ACC_STATIC
@@ -10,4 +10,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_STATIC
@@ -0,0 +1,13 @@
interface Test {
companion object {
protected const val prop: Int = 0
}
}
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test, prop
// ABSENT: TRUE
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PROTECTED, ACC_FINAL, ACC_STATIC
@@ -10,4 +10,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PROTECTED, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_FINAL, ACC_STATIC
@@ -10,4 +10,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PUBLIC, ACC_FINAL, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_FINAL, ACC_STATIC
@@ -10,4 +10,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_STATIC
@@ -11,4 +11,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PROTECTED, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_STATIC
@@ -11,4 +11,4 @@ interface Test {
// TESTED_OBJECT_KIND: property
// TESTED_OBJECTS: Test$Companion, prop
// FLAGS: ACC_PUBLIC, ACC_STATIC, ACC_DEPRECATED
// FLAGS: ACC_PRIVATE, ACC_STATIC