files compiled on first round may require additional recompilation on the next round (second part for IDEA-116914)

constant search on the IDE side rewritten: only direct dependencies are returned for each search round; all transitive dependencies will be additionally handled by make
This commit is contained in:
Eugene Zhuravlev
2013-12-17 11:26:21 +01:00
parent eebad4857d
commit fbbb85580b
17 changed files with 193 additions and 137 deletions
@@ -0,0 +1,15 @@
Cleaning output files:
out/production/AddClassHidingImportedClass2/package3/C.class
End of files
Compiling files:
src/package2/A.java
src/package3/C.java
End of files
Cleaning output files:
out/production/AddClassHidingImportedClass2/package2/B.class
out/production/AddClassHidingImportedClass2/package3/C.class
End of files
Compiling files:
src/package2/B.java
src/package3/C.java
End of files
@@ -0,0 +1,7 @@
package package1;
public class A {
public static class D {
public final String s = new String("package1");
}
}
@@ -0,0 +1,7 @@
package package2;
public class A {
public static class D {
public final String s = new String("package2");
}
}
@@ -0,0 +1,6 @@
package package2;
import package1.*;
public class B extends A{
}
@@ -0,0 +1,15 @@
package package3;
import package2.B;
public class C {
public B.D p;
public String get() {
p = new B.D();
return p.s;
}
public void dummy() {}
}
@@ -0,0 +1,16 @@
package package3;
import package2.B;
public class C {
public B.D p;
public String get() {
p = new B.D();
return p.s;
}
// commenting dummy method => causing class change => compilation on the first round
// public void dummy() {}
}
@@ -12,3 +12,9 @@ Compiling files:
src/Client.java
src/ServerClient.java
End of files
Cleaning output files:
out/production/ConstantChain/Server.class
End of files
Compiling files:
src/Server.java
End of files
@@ -0,0 +1,16 @@
Cleaning output files:
out/production/MutualConstants/constants/B.class
End of files
Compiling files:
src/constants/B.java
End of files
Cleaning output files:
out/production/MutualConstants/constants/A.class
out/production/MutualConstants/constants/B.class
out/production/MutualConstants/constants/PrintConst.class
End of files
Compiling files:
src/constants/A.java
src/constants/B.java
src/constants/PrintConst.java
End of files
@@ -0,0 +1,5 @@
package constants;
public class A {
public static final int CONST_A = B.CONST_B_1 + 1;
}
@@ -0,0 +1,5 @@
package constants;
public class B {
public static final int CONST_B_1 = 0;
public static final int CONST_B_2 = A.CONST_A + 1;
}
@@ -0,0 +1,5 @@
package constants;
public class B {
public static final int CONST_B_1 = 1;
public static final int CONST_B_2 = A.CONST_A + 1;
}
@@ -0,0 +1,7 @@
package constants;
public class PrintConst {
public static void main(String[] args) {
System.out.println(B.CONST_B_2);
}
}