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 @@
-