void () { VirtualFile a = createFile("dep/src/A.java", "class A{}"); Module dep = addModule("dep", a.getParent()); VirtualFile b = createFile("m/src/B.java", "class B {A a;}"); Module m = addModule("m", b.getParent()); ModuleRootModificationUtil.addDependency(m, dep); make(dep, m); assertOutput(dep, fs().file("A.class")); deleteFile(a); BuildManager.getInstance().clearState(myProject); recompile(dep); assertOutput(dep, fs()); assertOutput(m, fs().file("B.class")); compile(getCompilerManager().createProjectCompileScope(myProject), false, true); assertOutput(dep, fs()); assertOutput(m, fs()); }