From 0218b84990e1111d5e57639058996692228bf075 Mon Sep 17 00:00:00 2001 From: Michael Bogdanov Date: Fri, 25 Dec 2015 15:05:31 +0300 Subject: [PATCH] Private visibility for non-const, non-jvmField class companion property backing field Original commit: e116cc3206043c515bcda56793be23c186a19578 --- ...xperimentalIncrementalJpsTestGenerated.java | 12 ++++++++++++ .../jps/build/IncrementalConstantSearchTest.kt | 8 ++++++++ .../jps/build/IncrementalJpsTestGenerated.java | 12 ++++++++++++ .../kotlinConstantChangedUsedInJava/const.kt | 2 +- .../const.kt.new | 2 +- .../kotlinConstantUnchangedUsedInJava/const.kt | 2 +- .../kotlinJvmFieldChangedUsedInJava/Usage.java | 7 +++++++ .../kotlinJvmFieldChangedUsedInJava/build.log | 13 +++++++++++++ .../kotlinJvmFieldChangedUsedInJava/const.kt | 9 +++++++++ .../const.kt.new | 9 +++++++++ .../Usage.java | 7 +++++++ .../build.log | 7 +++++++ .../kotlinJvmFieldUnchangedUsedInJava/const.kt | 8 ++++++++ .../const.kt.touch | 0 .../kotlinUsedInJava/constantChanged/const.kt | 2 +- .../constantChanged/const.kt.new | 2 +- .../constantUnchanged/const.kt | 2 +- .../jvmFieldChanged/Usage.java | 7 +++++++ .../kotlinUsedInJava/jvmFieldChanged/build.log | 18 ++++++++++++++++++ .../kotlinUsedInJava/jvmFieldChanged/const.kt | 9 +++++++++ .../jvmFieldChanged/const.kt.new | 9 +++++++++ .../jvmFieldUnchanged/Usage.java | 7 +++++++ .../jvmFieldUnchanged/build.log | 7 +++++++ .../jvmFieldUnchanged/const.kt | 8 ++++++++ .../jvmFieldUnchanged/const.kt.touch | 0 25 files changed, 163 insertions(+), 6 deletions(-) create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/Usage.java create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/build.log create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt.new create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/Usage.java create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/build.log create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt create mode 100644 jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt.touch create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/Usage.java create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/build.log create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt.new create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/Usage.java create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/build.log create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt create mode 100644 jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt.touch diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java index 6fbe156fd5d..ccaf4667333 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/ExperimentalIncrementalJpsTestGenerated.java @@ -892,6 +892,18 @@ public class ExperimentalIncrementalJpsTestGenerated extends AbstractExperimenta doTest(fileName); } + @TestMetadata("jvmFieldChanged") + public void testJvmFieldChanged() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/"); + doTest(fileName); + } + + @TestMetadata("jvmFieldUnchanged") + public void testJvmFieldUnchanged() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/"); + doTest(fileName); + } + @TestMetadata("methodAddedInSuper") public void testMethodAddedInSuper() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/methodAddedInSuper/"); diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalConstantSearchTest.kt b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalConstantSearchTest.kt index 8293f92313f..b6cd03cd68e 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalConstantSearchTest.kt +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalConstantSearchTest.kt @@ -34,10 +34,18 @@ public class IncrementalConstantSearchTest : AbstractIncrementalJpsTest() { doTest("jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/") } + fun testKotlinJvmFieldChangedUsedInJava() { + doTest("jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/") + } + fun testKotlinConstantUnchangedUsedInJava() { doTest("jps-plugin/testData/incremental/custom/kotlinConstantUnchangedUsedInJava/") } + fun testKotlinJvmFieldUnchangedUsedInJava() { + doTest("jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/") + } + override val mockConstantSearch: Callbacks.ConstantAffectionResolver? get() = object : Callbacks.ConstantAffectionResolver { override fun request( diff --git a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java index 007a6cb0e49..49b4ef012aa 100644 --- a/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java +++ b/jps/jps-plugin/test/org/jetbrains/kotlin/jps/build/IncrementalJpsTestGenerated.java @@ -892,6 +892,18 @@ public class IncrementalJpsTestGenerated extends AbstractIncrementalJpsTest { doTest(fileName); } + @TestMetadata("jvmFieldChanged") + public void testJvmFieldChanged() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/"); + doTest(fileName); + } + + @TestMetadata("jvmFieldUnchanged") + public void testJvmFieldUnchanged() throws Exception { + String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/"); + doTest(fileName); + } + @TestMetadata("methodAddedInSuper") public void testMethodAddedInSuper() throws Exception { String fileName = KotlinTestUtils.navigationMetadata("jps-plugin/testData/incremental/withJava/kotlinUsedInJava/methodAddedInSuper/"); diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt b/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt index 4680ae2c26f..cd3256a7612 100644 --- a/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt +++ b/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt @@ -3,6 +3,6 @@ package test class Klass { companion object { // Old and new constant values are different, but their hashes are the same - val CONST = "BF" + const val CONST = "BF" } } diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt.new b/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt.new index e9ccf1ab8db..49b604cd74f 100644 --- a/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt.new +++ b/jps/jps-plugin/testData/incremental/custom/kotlinConstantChangedUsedInJava/const.kt.new @@ -3,6 +3,6 @@ package test class Klass { companion object { // Old and new constant values are different, but their hashes are the same - val CONST = "Ae" + const val CONST = "Ae" } } diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinConstantUnchangedUsedInJava/const.kt b/jps/jps-plugin/testData/incremental/custom/kotlinConstantUnchangedUsedInJava/const.kt index 7dd5eac1a73..44e612f1bb9 100644 --- a/jps/jps-plugin/testData/incremental/custom/kotlinConstantUnchangedUsedInJava/const.kt +++ b/jps/jps-plugin/testData/incremental/custom/kotlinConstantUnchangedUsedInJava/const.kt @@ -2,6 +2,6 @@ package test class Klass { companion object { - val CONST = "bar" + const val CONST = "bar" } } diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/Usage.java b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/Usage.java new file mode 100644 index 00000000000..9430b8d5f66 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/Usage.java @@ -0,0 +1,7 @@ +import test.*; + +class Usage { + public static void main(String[] args) { + System.out.println(Klass.CONST + Klass.CONST); + } +} diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/build.log b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/build.log new file mode 100644 index 00000000000..29b384519d1 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/build.log @@ -0,0 +1,13 @@ +Cleaning output files: +out/production/module/test/Klass$Companion.class +out/production/module/test/Klass.class +End of files +Compiling files: +src/const.kt +End of files +Cleaning output files: +out/production/module/Usage.class +End of files +Compiling files: +src/Usage.java +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt new file mode 100644 index 00000000000..f5d8342d491 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt @@ -0,0 +1,9 @@ +package test + +class Klass { + companion object { + // Old and new constant values are different, but their hashes are the same + @JvmField + val CONST = "BF" + } +} diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt.new b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt.new new file mode 100644 index 00000000000..247548db1f8 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldChangedUsedInJava/const.kt.new @@ -0,0 +1,9 @@ +package test + +class Klass { + companion object { + // Old and new constant values are different, but their hashes are the same + @JvmField + val CONST = "Ae" + } +} diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/Usage.java b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/Usage.java new file mode 100644 index 00000000000..9430b8d5f66 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/Usage.java @@ -0,0 +1,7 @@ +import test.*; + +class Usage { + public static void main(String[] args) { + System.out.println(Klass.CONST + Klass.CONST); + } +} diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/build.log b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/build.log new file mode 100644 index 00000000000..8dfe7647a28 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/build.log @@ -0,0 +1,7 @@ +Cleaning output files: +out/production/module/test/Klass$Companion.class +out/production/module/test/Klass.class +End of files +Compiling files: +src/const.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt new file mode 100644 index 00000000000..203275f2160 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt @@ -0,0 +1,8 @@ +package test + +class Klass { + companion object { + @JvmField + val CONST = "bar" + } +} diff --git a/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt.touch b/jps/jps-plugin/testData/incremental/custom/kotlinJvmFieldUnchangedUsedInJava/const.kt.touch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt index 4680ae2c26f..cd3256a7612 100644 --- a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt @@ -3,6 +3,6 @@ package test class Klass { companion object { // Old and new constant values are different, but their hashes are the same - val CONST = "BF" + const val CONST = "BF" } } diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt.new b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt.new index e9ccf1ab8db..49b604cd74f 100644 --- a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt.new +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantChanged/const.kt.new @@ -3,6 +3,6 @@ package test class Klass { companion object { // Old and new constant values are different, but their hashes are the same - val CONST = "Ae" + const val CONST = "Ae" } } diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged/const.kt b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged/const.kt index 7dd5eac1a73..44e612f1bb9 100644 --- a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged/const.kt +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/constantUnchanged/const.kt @@ -2,6 +2,6 @@ package test class Klass { companion object { - val CONST = "bar" + const val CONST = "bar" } } diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/Usage.java b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/Usage.java new file mode 100644 index 00000000000..9430b8d5f66 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/Usage.java @@ -0,0 +1,7 @@ +import test.*; + +class Usage { + public static void main(String[] args) { + System.out.println(Klass.CONST + Klass.CONST); + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/build.log b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/build.log new file mode 100644 index 00000000000..e0426c17165 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/build.log @@ -0,0 +1,18 @@ +Cleaning output files: +out/production/module/test/Klass$Companion.class +out/production/module/test/Klass.class +End of files +Compiling files: +src/const.kt +End of files +Cleaning output files: +out/production/module/Usage.class +out/production/module/test/Klass$Companion.class +out/production/module/test/Klass.class +End of files +Compiling files: +src/const.kt +End of files +Compiling files: +src/Usage.java +End of files diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt new file mode 100644 index 00000000000..f5d8342d491 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt @@ -0,0 +1,9 @@ +package test + +class Klass { + companion object { + // Old and new constant values are different, but their hashes are the same + @JvmField + val CONST = "BF" + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt.new b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt.new new file mode 100644 index 00000000000..247548db1f8 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldChanged/const.kt.new @@ -0,0 +1,9 @@ +package test + +class Klass { + companion object { + // Old and new constant values are different, but their hashes are the same + @JvmField + val CONST = "Ae" + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/Usage.java b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/Usage.java new file mode 100644 index 00000000000..9430b8d5f66 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/Usage.java @@ -0,0 +1,7 @@ +import test.*; + +class Usage { + public static void main(String[] args) { + System.out.println(Klass.CONST + Klass.CONST); + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/build.log b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/build.log new file mode 100644 index 00000000000..8dfe7647a28 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/build.log @@ -0,0 +1,7 @@ +Cleaning output files: +out/production/module/test/Klass$Companion.class +out/production/module/test/Klass.class +End of files +Compiling files: +src/const.kt +End of files \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt new file mode 100644 index 00000000000..203275f2160 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt @@ -0,0 +1,8 @@ +package test + +class Klass { + companion object { + @JvmField + val CONST = "bar" + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt.touch b/jps/jps-plugin/testData/incremental/withJava/kotlinUsedInJava/jvmFieldUnchanged/const.kt.touch new file mode 100644 index 00000000000..e69de29bb2d