diff --git a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java index 34319e4e509c..3377210d6b16 100644 --- a/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java +++ b/java/java-impl/src/com/intellij/codeInsight/ExternalAnnotationsManagerImpl.java @@ -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) { diff --git a/java/java-psi-api/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java b/java/java-psi-api/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java index 6739f1fb7d74..54ce02d8023a 100644 --- a/java/java-psi-api/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java +++ b/java/java-psi-api/src/com/intellij/codeInsight/BaseExternalAnnotationsManager.java @@ -262,6 +262,8 @@ public abstract class BaseExternalAnnotationsManager extends ExternalAnnotations } protected void dropCache() { + myExternalAnnotations.clear(); + annotationsFileToDataAndModificationStamp.clear(); cache.clear(); }