diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java new file mode 100644 index 00000000000..8e202758dad --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java @@ -0,0 +1,3 @@ +abstract public class BaseClass { + +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.1 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.1 new file mode 100644 index 00000000000..3de389d9caa --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.1 @@ -0,0 +1,4 @@ +// add abstract method, when derived class is not abstract +abstract public class BaseClass { + abstract void myAbs(); +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.2 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.2 new file mode 100644 index 00000000000..03c9cfedb00 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.2 @@ -0,0 +1,3 @@ +// fix +public class BaseClass { +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.3 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.3 new file mode 100644 index 00000000000..581d6f3becb --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.3 @@ -0,0 +1,6 @@ +// add method to Base, that does not clash with derived +public class BaseClass { + void doSmthAnother() { + System.out.println(":)"); + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.4 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.4 new file mode 100644 index 00000000000..196cdcc3515 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.4 @@ -0,0 +1,7 @@ +// add method to Base, that CLASH with derived +public class BaseClass { + void doSmthAnother() { + System.out.println(":)"); + } + void doSmth() {} +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.5 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.5 new file mode 100644 index 00000000000..91d23bb37ea --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.5 @@ -0,0 +1,6 @@ +// fix clash +public class BaseClass { + void doSmthAnother() { + System.out.println(":)"); + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.7 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.7 new file mode 100644 index 00000000000..0eba476783a --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.java.new.7 @@ -0,0 +1,6 @@ +// change return type +public class BaseClass { + String doSmthAnother() { + return ":)"; + } +} \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt deleted file mode 100644 index 8fa9925a116..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt +++ /dev/null @@ -1,3 +0,0 @@ -open class BaseClass { - fun foo() {} -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt.new b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt.new deleted file mode 100644 index c7e93e93b63..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/BaseClass.kt.new +++ /dev/null @@ -1,3 +0,0 @@ -open class BaseClass { - fun foo(): String = "OK" -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.java b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.java deleted file mode 100644 index 0e7c4187368..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.java +++ /dev/null @@ -1,2 +0,0 @@ -public class DerivedClass1 extends BaseClass { -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt new file mode 100644 index 00000000000..12f7d7fd010 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt @@ -0,0 +1,3 @@ +open class DerivedClass1 : BaseClass() { + fun doSmth() {} +} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt.new.6 b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt.new.6 new file mode 100644 index 00000000000..c7d7e949804 --- /dev/null +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass1.kt.new.6 @@ -0,0 +1,6 @@ +open class DerivedClass1 : BaseClass() { + fun doSmth() {} + override fun doSmthAnother() { + println(":))") + } +} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass2.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass2.kt deleted file mode 100644 index ba353e5d6d0..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/DerivedClass2.kt +++ /dev/null @@ -1,2 +0,0 @@ -class DerivedClass2 : DerivedClass1() { -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/build.log b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/build.log index 0c139a9f061..3f7c84f33c4 100644 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/build.log +++ b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/build.log @@ -2,33 +2,124 @@ Cleaning output files: out/production/module/BaseClass.class - out/production/module/META-INF/module.kotlin_module End of files -Compiling files: - src/BaseClass.kt -End of files -Marked as dirty by Kotlin: - src/usage1.kt - src/usage2.kt - src/usage3.kt -Exit code: ADDITIONAL_PASS_REQUIRED +Exit code: NOTHING_DONE ------------------------------------------ +Compiling files: + src/BaseClass.java +End of files Cleaning output files: out/production/module/DerivedClass1.class - out/production/module/DerivedClass2.class out/production/module/META-INF/module.kotlin_module - out/production/module/Usage1Kt.class - out/production/module/Usage2Kt.class - out/production/module/Usage3Kt.class End of files Compiling files: - src/DerivedClass2.kt - src/usage1.kt - src/usage2.kt - src/usage3.kt + src/DerivedClass1.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Class 'DerivedClass1' is not abstract and does not implement abstract base class member public/*package*/ abstract fun myAbs(): Unit defined in BaseClass + +================ Step #2 ================= + +Cleaning output files: + out/production/module/BaseClass.class +End of files +Compiling files: + src/DerivedClass1.kt End of files Exit code: OK ------------------------------------------ Compiling files: - src/DerivedClass1.java + src/BaseClass.java End of files + +================ Step #3 ================= + +Cleaning output files: + out/production/module/BaseClass.class +End of files +Exit code: NOTHING_DONE +------------------------------------------ +Compiling files: + src/BaseClass.java +End of files + +================ Step #4 ================= + +Cleaning output files: + out/production/module/BaseClass.class +End of files +Exit code: NOTHING_DONE +------------------------------------------ +Compiling files: + src/BaseClass.java +End of files +Cleaning output files: + out/production/module/DerivedClass1.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/DerivedClass1.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +'doSmth' hides member of supertype 'BaseClass' and needs 'override' modifier + +================ Step #5 ================= + +Cleaning output files: + out/production/module/BaseClass.class +End of files +Compiling files: + src/DerivedClass1.kt +End of files +Exit code: OK +------------------------------------------ +Compiling files: + src/BaseClass.java +End of files +Cleaning output files: + out/production/module/DerivedClass1.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/DerivedClass1.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #6 ================= + +Cleaning output files: + out/production/module/DerivedClass1.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/DerivedClass1.kt +End of files +Exit code: OK +------------------------------------------ + +================ Step #7 ================= + +Cleaning output files: + out/production/module/BaseClass.class +End of files +Exit code: NOTHING_DONE +------------------------------------------ +Compiling files: + src/BaseClass.java +End of files +Cleaning output files: + out/production/module/DerivedClass1.class + out/production/module/META-INF/module.kotlin_module +End of files +Compiling files: + src/DerivedClass1.kt +End of files +Exit code: ABORT +------------------------------------------ +COMPILATION FAILED +Return type of 'doSmthAnother' is not a subtype of the return type of the overridden member 'public/*package*/ open fun doSmthAnother(): String! defined in BaseClass' \ No newline at end of file diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/fir-build.log b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/fir-build.log deleted file mode 100644 index daa5feaf17e..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/fir-build.log +++ /dev/null @@ -1,10 +0,0 @@ -================ Step #1 ================= - -Compiling files: - src/BaseClass.kt - src/usage1.kt - src/usage2.kt - src/usage3.kt -End of files -Exit code: OK - diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/notUsage.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/notUsage.kt deleted file mode 100644 index 00cb76cc63f..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/notUsage.kt +++ /dev/null @@ -1,3 +0,0 @@ -fun main4() { - DerivedClass2().hashCode() -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage1.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage1.kt deleted file mode 100644 index 2c98c32f046..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage1.kt +++ /dev/null @@ -1,3 +0,0 @@ -fun main1() { - BaseClass().foo() -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage2.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage2.kt deleted file mode 100644 index 6cad6289ec2..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage2.kt +++ /dev/null @@ -1,3 +0,0 @@ -fun main2() { - DerivedClass1().foo() -} diff --git a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage3.kt b/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage3.kt deleted file mode 100644 index b7abe85577c..00000000000 --- a/jps/jps-plugin/testData/incremental/withJava/javaUsedInKotlin/mixedInheritance/usage3.kt +++ /dev/null @@ -1,3 +0,0 @@ -fun main3() { - DerivedClass2().foo() -}