Safer dropping caches in ExternalAnnotationsManager.

This commit is contained in:
Evgeny Gerashchenko
2012-08-21 19:34:21 +04:00
parent d0977737cc
commit 14ef0a9ac8
2 changed files with 9 additions and 3 deletions
@@ -91,13 +91,17 @@ public class ExternalAnnotationsManagerImpl extends BaseExternalAnnotationsManag
connection.subscribe(ProjectTopics.PROJECT_ROOTS, new ModuleRootAdapter() {
@Override
public void rootsChanged(ModuleRootEvent event) {
myExternalAnnotations.clear();
annotationsFileToDataAndModificationStamp.clear();
myHasAnyAnnotationsRoots = ThreeState.UNSURE;
dropCache();
}
});
}
@Override
protected void dropCache() {
super.dropCache();
myHasAnyAnnotationsRoots = ThreeState.UNSURE;
}
@Override
protected boolean hasAnyAnnotationsRoots() {
if (myHasAnyAnnotationsRoots == ThreeState.UNSURE) {
@@ -262,6 +262,8 @@ public abstract class BaseExternalAnnotationsManager extends ExternalAnnotations
}
protected void dropCache() {
myExternalAnnotations.clear();
annotationsFileToDataAndModificationStamp.clear();
cache.clear();
}