diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4.log b/java/java-tests/testData/compileServer/incremental/common/deleteClass4.log new file mode 100644 index 000000000000..e2c6bc2a173e --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4.log @@ -0,0 +1,9 @@ +Cleaning output files: +out/production/DeleteClass4/A.class +End of files +Cleaning output files: +out/production/DeleteClass4/B.class +End of files +Compiling files: +src/B.java +End of files diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/.name b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/.name new file mode 100644 index 000000000000..11e3494dde17 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/.name @@ -0,0 +1 @@ +deleteClass4 \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/compiler.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/compiler.xml new file mode 100644 index 000000000000..a1b41c52c724 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/compiler.xml @@ -0,0 +1,21 @@ + + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/copyright/profiles_settings.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/copyright/profiles_settings.xml new file mode 100644 index 000000000000..3572571ad83c --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/copyright/profiles_settings.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/encodings.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/encodings.xml new file mode 100644 index 000000000000..e206d70d8595 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/encodings.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/misc.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/misc.xml new file mode 100644 index 000000000000..009e85484d08 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/misc.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/scopes/scope_settings.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/scopes/scope_settings.xml new file mode 100644 index 000000000000..922003b8433b --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/scopes/scope_settings.xml @@ -0,0 +1,5 @@ + + + + \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/uiDesigner.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/uiDesigner.xml new file mode 100644 index 000000000000..3b0002030884 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/uiDesigner.xml @@ -0,0 +1,125 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/vcs.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/vcs.xml new file mode 100644 index 000000000000..def6a6a18457 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/vcs.xml @@ -0,0 +1,7 @@ + + + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/workspace.xml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/workspace.xml new file mode 100644 index 000000000000..861b361b1b1a --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/.idea/workspace.xml @@ -0,0 +1,425 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + localhost + 5050 + + + + + + + 1331741070506 + 1331741070506 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + No facets are configured + + + + + + + + Gant + + + + + + + + IDEA jdk + + + + + + + + DeleteClass4 + + + + + + + + IDEA jdk + + + + + + + + + + + + + + + + diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/A.java.remove b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/A.java.remove new file mode 100644 index 000000000000..c61f4a7b7130 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/A.java.remove @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/A.java b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/A.java new file mode 100644 index 000000000000..8eb3c0eec1d3 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/A.java @@ -0,0 +1,3 @@ +public class A { + +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/B.java b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/B.java new file mode 100644 index 000000000000..38b49d3a7c51 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/B.java @@ -0,0 +1,5 @@ +public class B { + Class foo () { + return A.class; + } +} \ No newline at end of file diff --git a/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/DeleteClass4.iml b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/DeleteClass4.iml new file mode 100644 index 000000000000..b6f444bc3557 --- /dev/null +++ b/java/java-tests/testData/compileServer/incremental/common/deleteClass4/src/DeleteClass4.iml @@ -0,0 +1,12 @@ + + + + + + + + + + + + diff --git a/jps/jps-builders/testSrc/org/jetbrains/ether/CommonTest.java b/jps/jps-builders/testSrc/org/jetbrains/ether/CommonTest.java index a764fbd895b4..6d9596c3b71c 100644 --- a/jps/jps-builders/testSrc/org/jetbrains/ether/CommonTest.java +++ b/jps/jps-builders/testSrc/org/jetbrains/ether/CommonTest.java @@ -74,5 +74,9 @@ public class CommonTest extends IncrementalTestCase { public void testDeleteClass3() throws Exception { doTest(); - } + } + + public void testDeleteClass4() throws Exception { + doTest(); + } } diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/ClassfileAnalyzer.java b/jps/model/src/org/jetbrains/ether/dependencyView/ClassfileAnalyzer.java index 1fdf2762faa8..dac647c5464b 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/ClassfileAnalyzer.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/ClassfileAnalyzer.java @@ -411,6 +411,17 @@ class ClassfileAnalyzer { return new AnnotationCrawler((TypeRepr.ClassType)TypeRepr.getType(context, context.get(desc)), ElementType.PARAMETER); } + @Override + public void visitLdcInsn(Object cst) { + if (cst instanceof Type) { + final Type t = (Type) cst; + + usages.addUsage(context.get(classNameHolder.get()), UsageRepr.createClassUsage(context, context.get(t.getClassName()))); + } + + super.visitLdcInsn(cst); + } + @Override public void visitMultiANewArrayInsn(String desc, int dims) { final TypeRepr.ArrayType typ = (TypeRepr.ArrayType)TypeRepr.getType(context, context.get(desc)); diff --git a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java index e0c6928bb2bf..67d0266f19ec 100644 --- a/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java +++ b/jps/model/src/org/jetbrains/ether/dependencyView/Mappings.java @@ -1147,7 +1147,6 @@ public class Mappings { } if ((m.access & Opcodes.ACC_ABSTRACT) == 0) { - for (DependencyContext.S p : propagated) { if (!p.equals(it.name)) { final ClassRepr s = u.reprByName(p); diff --git a/plugins/tasks/tasks-core/tasks-core.iml b/plugins/tasks/tasks-core/tasks-core.iml index 0bb216762093..e7c5ba007155 100644 --- a/plugins/tasks/tasks-core/tasks-core.iml +++ b/plugins/tasks/tasks-core/tasks-core.iml @@ -23,7 +23,6 @@ -