From 50725dcde264eb476c01e12cfbc5a8a840ea1152 Mon Sep 17 00:00:00 2001 From: Denis Zharkov Date: Tue, 30 Jun 2020 18:17:17 +0300 Subject: [PATCH] Fix incremental compilation for calls to inner classes from supertypes The problem became actual after bba1c88c8e634b707bb39522129d226add3fa90d Original commit: 3ce980fd88a5ce93022f838ae71d209a0c3d08b4 --- .../jps/build/IncrementalJvmJpsTestGenerated.java | 5 +++++ .../pureKotlin/innerClassesFromSupertypes/a.kt | 7 +++++++ .../pureKotlin/innerClassesFromSupertypes/b.kt | 6 ++++++ .../pureKotlin/innerClassesFromSupertypes/b.kt.touch | 0 .../pureKotlin/innerClassesFromSupertypes/build.log | 11 +++++++++++ .../pureKotlin/innerClassesFromSupertypes/usage.kt | 5 +++++ 6 files changed, 34 insertions(+) create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/a.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt.touch create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/usage.kt diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java index 1970a40fd73..ce4a23d642c 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalJvmJpsTestGenerated.java @@ -979,6 +979,11 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes runTest("jps-plugin/testData/incremental/pureKotlin/inlineUsedWhereDeclared/"); } + @TestMetadata("innerClassesFromSupertypes") + public void testInnerClassesFromSupertypes() throws Exception { + runTest("jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/"); + } + @TestMetadata("internalClassChanged") public void testInternalClassChanged() throws Exception { runTest("jps-plugin/testData/incremental/pureKotlin/internalClassChanged/"); diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/a.kt b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/a.kt new file mode 100644 index 00000000000..32726120030 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/a.kt @@ -0,0 +1,7 @@ +package test + +abstract class A { + inner class Inner(val x: String) +} +abstract class B : A() + diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt new file mode 100644 index 00000000000..77288668a6a --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt @@ -0,0 +1,6 @@ +// TODO add var +package test + +class C : B() { + val i = Inner("") +} diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt.touch b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/b.kt.touch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/build.log new file mode 100644 index 00000000000..0af690511c3 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/build.log @@ -0,0 +1,11 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/META-INF/module.kotlin_module + out/production/module/test/C.class +End of files +Compiling files: + src/b.kt +End of files +Exit code: OK +------------------------------------------ diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/usage.kt b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/usage.kt new file mode 100644 index 00000000000..7549d739908 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/innerClassesFromSupertypes/usage.kt @@ -0,0 +1,5 @@ +package test + +fun main() { + C().i.x +}