From 848e1001f82822a3401fd89f40516c4d82727408 Mon Sep 17 00:00:00 2001 From: "Aleksei.Cherepanov" Date: Thu, 17 Nov 2022 12:10:06 +0100 Subject: [PATCH] Add test for IC issue with typealias If typealias is defined in a separate file, then after changing some base types, an incremental compilation of Kotlin could not find all affected files, because of lack of information, which it can not get on the class file analyzing phase. FIR provides a new approach to IC compilation: now we can run the frontend several times, which allows us to obtain all necessary information and use it to mark all affected files for recompilation. Relates to KT-54991 #KT-28233 Fixed --- ...ghtTreeJvmCompilerRunnerTestGenerated.java | 5 +++ ...ntalFirJvmCompilerRunnerTestGenerated.java | 5 +++ ...ghtTreeJvmCompilerRunnerTestGenerated.java | 5 +++ ...rementalJsCompilerRunnerTestGenerated.java | 2 +- ...erRunnerWithMetadataOnlyTestGenerated.java | 2 +- ...ntalJsKlibCompilerRunnerTestGenerated.java | 2 +- ...WithScopeExpansionRunnerTestGenerated.java | 5 +++ ...ementalJvmCompilerRunnerTestGenerated.java | 2 +- .../kotlin/generators/tests/GenerateTests.kt | 42 +++++++++++++++---- .../kotlin/jps/GenerateJpsPluginTests.kt | 8 +++- .../build/IncrementalJvmJpsTestGenerated.java | 2 +- ...alK2FirICLightTreeJvmJpsTestGenerated.java | 5 +++ .../IncrementalK2JvmJpsTestGenerated.java | 5 +++ ...ementalK2LightTreeJvmJpsTestGenerated.java | 5 +++ .../pureKotlin/changeTypealiasSinceK2/Foo.kt | 3 ++ .../changeTypealiasSinceK2/FooImpl.kt | 4 ++ .../changeTypealiasSinceK2/FooImpl.kt.new.1 | 4 ++ .../changeTypealiasSinceK2/build.log | 35 ++++++++++++++++ .../changeTypealiasSinceK2/types.kt | 1 + .../changeTypealiasSinceK2/types.kt.new.1 | 1 + 20 files changed, 129 insertions(+), 14 deletions(-) create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/Foo.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt.new.1 create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/build.log create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt create mode 100644 jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt.new.1 diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java index b6f397f3925..0f202d68758 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalFirICLightTreeJvmCompilerRunnerTestGenerated extends Abs runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java index 49a3bbb3efc..912339b2db2 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirJvmCompilerRunnerTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalFirJvmCompilerRunnerTestGenerated extends AbstractIncrem runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java index ddc433984df..6f8435ffa7a 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalFirLightTreeJvmCompilerRunnerTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalFirLightTreeJvmCompilerRunnerTestGenerated extends Abstr runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java index a220fb70804..4cb4d42f931 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerTestGenerated.java @@ -63,7 +63,7 @@ public class IncrementalJsCompilerRunnerTestGenerated extends AbstractIncrementa } public void testAllFilesPresentInPureKotlin() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, false); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile(".*SinceK2"), false); } @TestMetadata("annotations") diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java index 1e496b92c39..21241bae214 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated.java @@ -63,7 +63,7 @@ public class IncrementalJsCompilerRunnerWithMetadataOnlyTestGenerated extends Ab } public void testAllFilesPresentInPureKotlin() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, false); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile(".*SinceK2"), false); } @TestMetadata("annotations") diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerRunnerTestGenerated.java index a8c6822dd67..68eda34ab95 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerRunnerTestGenerated.java @@ -63,7 +63,7 @@ public class IncrementalJsKlibCompilerRunnerTestGenerated extends AbstractIncrem } public void testAllFilesPresentInPureKotlin() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile("^sealed.*"), false); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile("(^sealed.*)|(.*SinceK2)"), false); } @TestMetadata("annotations") diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated.java index efe82ff0079..fbd047926dc 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated.java @@ -81,6 +81,11 @@ public class IncrementalJsKlibCompilerWithScopeExpansionRunnerTestGenerated exte runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java index bb41492e34a..94a91542daf 100644 --- a/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java +++ b/compiler/incremental-compilation-impl/test/org/jetbrains/kotlin/incremental/IncrementalJvmCompilerRunnerTestGenerated.java @@ -64,7 +64,7 @@ public class IncrementalJvmCompilerRunnerTestGenerated extends AbstractIncrement } public void testAllFilesPresentInPureKotlin() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, false); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile(".*SinceK2"), TargetBackend.JVM_IR, false); } @TestMetadata("annotations") diff --git a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt index 06d546061ab..4b2a4117b22 100644 --- a/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt +++ b/generators/tests/org/jetbrains/kotlin/generators/tests/GenerateTests.kt @@ -46,26 +46,52 @@ fun main(args: Array) { generateTestGroupSuite(args) { testGroup("compiler/incremental-compilation-impl/test", "jps/jps-plugin/testData") { fun incrementalJvmTestData(targetBackend: TargetBackend, excludePattern: String? = null): TestGroup.TestClass.() -> Unit = { - model("incremental/pureKotlin", extension = null, recursive = false, targetBackend = targetBackend, excludedPattern = excludePattern) + model( + "incremental/pureKotlin", + extension = null, + recursive = false, + targetBackend = targetBackend, + excludedPattern = excludePattern + ) model("incremental/classHierarchyAffected", extension = null, recursive = false, targetBackend = targetBackend) model("incremental/inlineFunCallSite", extension = null, excludeParentDirs = true, targetBackend = targetBackend) model("incremental/withJava", extension = null, excludeParentDirs = true, targetBackend = targetBackend) model("incremental/incrementalJvmCompilerOnly", extension = null, excludeParentDirs = true, targetBackend = targetBackend) } - testClass(init = incrementalJvmTestData(TargetBackend.JVM_IR)) - testClass(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*")) - testClass(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*")) - testClass(init = incrementalJvmTestData(TargetBackend.JVM_IR, excludePattern = "^.*Expect.*")) + testClass( + init = incrementalJvmTestData( + targetBackend = TargetBackend.JVM_IR, + excludePattern = ".*SinceK2" + ) + ) + testClass( + init = incrementalJvmTestData( + TargetBackend.JVM_IR, + excludePattern = "^.*Expect.*" + ) + ) + testClass( + init = incrementalJvmTestData( + TargetBackend.JVM_IR, + excludePattern = "^.*Expect.*" + ) + ) + testClass( + init = incrementalJvmTestData( + TargetBackend.JVM_IR, + excludePattern = "^.*Expect.*" + ) + ) testClass { - model("incremental/pureKotlin", extension = null, recursive = false) + model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = ".*SinceK2") model("incremental/classHierarchyAffected", extension = null, recursive = false) model("incremental/js", extension = null, excludeParentDirs = true) } testClass() { // IC of sealed interfaces are not supported in JS - model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = "^sealed.*") + model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = "(^sealed.*)|(.*SinceK2)") model("incremental/classHierarchyAffected", extension = null, recursive = false) model("incremental/js", extension = null, excludeParentDirs = true) } @@ -79,7 +105,7 @@ fun main(args: Array) { } testClass { - model("incremental/pureKotlin", extension = null, recursive = false) + model("incremental/pureKotlin", extension = null, recursive = false, excludedPattern = ".*SinceK2") model("incremental/classHierarchyAffected", extension = null, recursive = false) model("incremental/js", extension = null, excludeParentDirs = true) } diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/GenerateJpsPluginTests.kt b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/GenerateJpsPluginTests.kt index 9bb27cf1aef..0a8012efd4d 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/GenerateJpsPluginTests.kt +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/GenerateJpsPluginTests.kt @@ -45,7 +45,13 @@ fun main(args: Array) { "incremental/multiModule/multiplatform/custom", extension = null, excludeParentDirs = true, targetBackend = TargetBackend.JVM_IR ) - model("incremental/pureKotlin", extension = null, recursive = false, targetBackend = TargetBackend.JVM_IR) + model( + "incremental/pureKotlin", + extension = null, + recursive = false, + targetBackend = TargetBackend.JVM_IR, + excludedPattern = ".*SinceK2" + ) model("incremental/withJava", extension = null, excludeParentDirs = true, targetBackend = TargetBackend.JVM_IR) model("incremental/inlineFunCallSite", extension = null, excludeParentDirs = true, targetBackend = TargetBackend.JVM_IR) model( 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 16d3de2793e..54a2f9678e7 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 @@ -733,7 +733,7 @@ public class IncrementalJvmJpsTestGenerated extends AbstractIncrementalJvmJpsTes } public void testAllFilesPresentInPureKotlin() throws Exception { - KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), null, TargetBackend.JVM_IR, false); + KtTestUtil.assertAllTestsPresentByMetadataWithExcluded(this.getClass(), new File("jps/jps-plugin/testData/incremental/pureKotlin"), Pattern.compile("^([^\\.]+)$"), Pattern.compile(".*SinceK2"), TargetBackend.JVM_IR, false); } @TestMetadata("annotations") diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2FirICLightTreeJvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2FirICLightTreeJvmJpsTestGenerated.java index ddd505fefda..16a7c70a62b 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2FirICLightTreeJvmJpsTestGenerated.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2FirICLightTreeJvmJpsTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalK2FirICLightTreeJvmJpsTestGenerated extends AbstractIncr runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2JvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2JvmJpsTestGenerated.java index d7b5fabe852..5c41622d979 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2JvmJpsTestGenerated.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2JvmJpsTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalK2JvmJpsTestGenerated extends AbstractIncrementalK2JvmJp runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2LightTreeJvmJpsTestGenerated.java b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2LightTreeJvmJpsTestGenerated.java index 76ed3a8da09..58b7ec38524 100644 --- a/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2LightTreeJvmJpsTestGenerated.java +++ b/jps/jps-plugin/jps-tests/test/org/jetbrains/kotlin/jps/build/IncrementalK2LightTreeJvmJpsTestGenerated.java @@ -82,6 +82,11 @@ public class IncrementalK2LightTreeJvmJpsTestGenerated extends AbstractIncrement runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypeImplicitlyWithCircularDependency/"); } + @TestMetadata("changeTypealiasSinceK2") + public void testChangeTypealiasSinceK2() throws Exception { + runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/"); + } + @TestMetadata("changeWithRemovingUsage") public void testChangeWithRemovingUsage() throws Exception { runTest("jps/jps-plugin/testData/incremental/pureKotlin/changeWithRemovingUsage/"); diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/Foo.kt b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/Foo.kt new file mode 100644 index 00000000000..eb46da437ea --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/Foo.kt @@ -0,0 +1,3 @@ +interface Foo { + val values: Type +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt new file mode 100644 index 00000000000..f69bf70f681 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt @@ -0,0 +1,4 @@ +class FooImpl : Foo { + override val values: Type + get() = "0" +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt.new.1 b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt.new.1 new file mode 100644 index 00000000000..31af1919a86 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/FooImpl.kt.new.1 @@ -0,0 +1,4 @@ +class FooImpl : Foo { + override val values: Type + get() = 0 +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/build.log b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/build.log new file mode 100644 index 00000000000..b09b6e2d1e4 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/build.log @@ -0,0 +1,35 @@ +================ Step #1 ================= + +Cleaning output files: + out/production/module/FooImpl.class + out/production/module/META-INF/module.kotlin_module + out/production/module/TypesKt.class +End of files +Compiling files: + src/FooImpl.kt + src/types.kt +End of files +After build round. Marked as dirty by Kotlin: + src/Foo.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/Foo.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/Foo.kt +End of files +After build round. Marked as dirty by Kotlin: + src/FooImpl.kt +Exit code: ADDITIONAL_PASS_REQUIRED +------------------------------------------ +Cleaning output files: + out/production/module/FooImpl.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/FooImpl.kt +End of files +Exit code: OK +------------------------------------------ \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt new file mode 100644 index 00000000000..f5d41f3b85d --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt @@ -0,0 +1 @@ +typealias Type = String \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt.new.1 b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt.new.1 new file mode 100644 index 00000000000..264a293ffcf --- /dev/null +++ b/jps/jps-plugin/testData/incremental/pureKotlin/changeTypealiasSinceK2/types.kt.new.1 @@ -0,0 +1 @@ +typealias Type = Int \ No newline at end of file