From a75093650cc00e70d055a26c75a9422fcc14ca2d Mon Sep 17 00:00:00 2001 From: Ilya Gorbunov Date: Thu, 24 Mar 2016 06:43:37 +0300 Subject: [PATCH] Add JvmField and const tests for exposed fields visibility --- .../src/test/kotlin/cases/special/jvmField.kt | 51 +++++++++++++++++++ .../test/resources/output/cases/special.txt | 25 +++++++++ 2 files changed, 76 insertions(+) create mode 100644 libraries/tools/binary-compatibility-validator/src/test/kotlin/cases/special/jvmField.kt diff --git a/libraries/tools/binary-compatibility-validator/src/test/kotlin/cases/special/jvmField.kt b/libraries/tools/binary-compatibility-validator/src/test/kotlin/cases/special/jvmField.kt new file mode 100644 index 00000000000..1b511e2c6ff --- /dev/null +++ b/libraries/tools/binary-compatibility-validator/src/test/kotlin/cases/special/jvmField.kt @@ -0,0 +1,51 @@ +package cases.special + +public open class JvmFieldsClass { + @JvmField + public var publicField = "x" + + @JvmField + internal var internalField = "y" + + @JvmField + protected var protectedField = "y" + + public companion object JvmFieldsCompanion { + @JvmField + public var publicСField = "x" + + @JvmField + internal var internalСField = "y" + + @JvmField + protected var protectedСField = "y" + + public const val publicConst = 1 + internal const val internalConst = 2 + protected const val protectedConst = 3 + private const val privateConst = 4 + } +} + +public object JvmFieldsObject { + @JvmField + public var publicField = "x" + + @JvmField + internal var internalField = "y" + + public const val publicConst = 1 + internal const val internalConst = 2 + private const val privateConst = 4 +} + + +@JvmField +public var publicField = "x" + +@JvmField +internal var internalField = "y" + +public const val publicConst = 1 +internal const val internalConst = 2 +private const val privateConst = 4 diff --git a/libraries/tools/binary-compatibility-validator/src/test/resources/output/cases/special.txt b/libraries/tools/binary-compatibility-validator/src/test/resources/output/cases/special.txt index 5c6fd2cd6b6..9ac8e7f9fa3 100644 --- a/libraries/tools/binary-compatibility-validator/src/test/resources/output/cases/special.txt +++ b/libraries/tools/binary-compatibility-validator/src/test/resources/output/cases/special.txt @@ -21,6 +21,31 @@ public final class cases/special/HiddenKt public static final synthetic fun hiddenTopLevelFun ()V ------------------ +public final class cases/special/JvmFieldKt +public static final field publicConst I +public static field publicField Ljava/lang/String; +------------------ + +public class cases/special/JvmFieldsClass +public static final field JvmFieldsCompanion Lcases/special/JvmFieldsClass$JvmFieldsCompanion; +protected static final field protectedConst I +protected field protectedField Ljava/lang/String; +protected static field protectedСField Ljava/lang/String; +public static final field publicConst I +public field publicField Ljava/lang/String; +public static field publicСField Ljava/lang/String; +public fun ()V +------------------ + +public final class cases/special/JvmFieldsClass$JvmFieldsCompanion +------------------ + +public final class cases/special/JvmFieldsObject +public static final field INSTANCE Lcases/special/JvmFieldsObject; +public static final field publicConst I +public static field publicField Ljava/lang/String; +------------------ + public final class cases/special/JvmNamesKt public static final fun publicFun ()V public static final fun publicVarGetter ()I