Refine dirty files computation in case of Java source changes

#KT-17621 In Progress
This commit is contained in:
Denis Zharkov
2017-11-30 15:24:52 +03:00
parent 26393d738f
commit ae6421476d
66 changed files with 634 additions and 140 deletions
@@ -0,0 +1,4 @@
public class JavaClass {
public String stringField;
public int intField;
}
@@ -0,0 +1,4 @@
public class JavaClass {
public CharSequence stringField;
public int intField;
}
@@ -0,0 +1,19 @@
================ Step #1 =================
Cleaning output files:
out/production/module/JavaClass.class
End of files
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
src/JavaClass.java
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().intField
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().stringField
}
@@ -0,0 +1,4 @@
public class JavaClass implements KotlinInterface {
public CharSequence getX() { return ""; }
public int getY() { return 1; }
}
@@ -0,0 +1,4 @@
public class JavaClass implements KotlinInterface {
public String getX() { return ""; }
public int getY() { return 1; }
}
@@ -0,0 +1,4 @@
interface KotlinInterface {
val x: CharSequence
val y: Int
}
@@ -0,0 +1,19 @@
================ Step #1 =================
Cleaning output files:
out/production/module/JavaClass.class
End of files
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
src/JavaClass.java
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().y
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().x
}
@@ -1,4 +1,7 @@
public class JavaClass {
public static void foo() {
public void foo() {
}
public void bar() {
}
}
@@ -1,5 +1,8 @@
public class JavaClass {
public static String foo() {
return ":)";
public String foo() {
return "";
}
public void bar() {
}
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().bar()
}
@@ -1,3 +1,3 @@
fun main(args: Array<String>) {
JavaClass.foo()
JavaClass().foo()
}
@@ -0,0 +1,7 @@
public class JavaClass {
public void foo() {
}
public void bar() {
}
}
@@ -0,0 +1,7 @@
public class JavaClass {
void foo() {
}
public void bar() {
}
}
@@ -0,0 +1,19 @@
================ Step #1 =================
Cleaning output files:
out/production/module/JavaClass.class
End of files
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
src/JavaClass.java
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().bar()
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass().foo()
}
@@ -0,0 +1,7 @@
public class JavaClass {
public static void foo() {
}
public static void bar() {
}
}
@@ -0,0 +1,8 @@
public class JavaClass {
public static String foo() {
return "";
}
public static void bar() {
}
}
@@ -0,0 +1,19 @@
================ Step #1 =================
Cleaning output files:
out/production/module/JavaClass.class
End of files
Exit code: NOTHING_DONE
------------------------------------------
Compiling files:
src/JavaClass.java
End of files
Cleaning output files:
out/production/module/META-INF/module.kotlin_module
out/production/module/UsageKt.class
End of files
Compiling files:
src/usage.kt
End of files
Exit code: OK
------------------------------------------
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass.bar()
}
@@ -0,0 +1,3 @@
fun main(args: Array<String>) {
JavaClass.foo()
}
@@ -1,7 +0,0 @@
================ Step #1 =================
Compiling files:
src/JavaClass.java
src/usage.kt
End of files
Exit code: OK
@@ -0,0 +1,3 @@
open class BaseClass {
fun foo() {}
}
@@ -0,0 +1,3 @@
open class BaseClass {
fun foo(): String = "OK"
}
@@ -0,0 +1,2 @@
public class DerivedClass1 extends BaseClass {
}
@@ -0,0 +1,2 @@
class DerivedClass2 : DerivedClass1() {
}
@@ -0,0 +1,33 @@
================ Step #1 =================
Cleaning output files:
out/production/module/BaseClass.class
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
------------------------------------------
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
End of files
Exit code: OK
------------------------------------------
Compiling files:
src/DerivedClass1.java
End of files
@@ -0,0 +1,3 @@
fun main4() {
DerivedClass2().hashCode()
}
@@ -0,0 +1,3 @@
fun main1() {
BaseClass().foo()
}
@@ -0,0 +1,3 @@
fun main2() {
DerivedClass1().foo()
}
@@ -0,0 +1,3 @@
fun main3() {
DerivedClass2().foo()
}
@@ -1,6 +0,0 @@
================ Step #1 =================
Compiling files:
src/JavaClass.java
src/usage.kt
End of files