diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndex.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndex.java index 949e9e05d6be..49c29578e42a 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndex.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndex.java @@ -1931,7 +1931,9 @@ public class FileBasedIndex implements ApplicationComponent { }; for (IndexableFileSet set : myIndexableSets) { - set.iterateIndexableFilesIn(file, iterator); + if (set.isInSet(file)) { + set.iterateIndexableFilesIn(file, iterator); + } } } else { diff --git a/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java b/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java index 9ed1809a4b89..01eca8e8d941 100644 --- a/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java +++ b/platform/testFramework/src/com/intellij/testFramework/LightPlatformTestCase.java @@ -82,6 +82,7 @@ import com.intellij.psi.*; import com.intellij.psi.codeStyle.CodeStyleSchemes; import com.intellij.psi.codeStyle.CodeStyleSettings; import com.intellij.psi.codeStyle.CodeStyleSettingsManager; +import com.intellij.psi.impl.DocumentCommitThread; import com.intellij.psi.impl.PsiDocumentManagerImpl; import com.intellij.psi.impl.PsiManagerImpl; import com.intellij.psi.impl.source.tree.injected.InjectedLanguageManagerImpl; @@ -233,12 +234,12 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da FileBasedIndex.getInstance().registerIndexableSet(new IndexableFileSet() { @Override - public boolean isInSet(final VirtualFile file) { - return ourSourceRoot != null && file.getFileSystem() == ourSourceRoot.getFileSystem(); + public boolean isInSet(@NotNull final VirtualFile file) { + return ourSourceRoot != null && file.getFileSystem() == ourSourceRoot.getFileSystem() && ourProject.isOpen(); } @Override - public void iterateIndexableFilesIn(final VirtualFile file, final ContentIterator iterator) { + public void iterateIndexableFilesIn(@NotNull final VirtualFile file, @NotNull final ContentIterator iterator) { if (file.isDirectory()) { for (VirtualFile child : file.getChildren()) { iterateIndexableFilesIn(child, iterator); @@ -474,6 +475,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da } public static void doTearDown(final Project project, IdeaTestApplication application, boolean checkForEditors) throws Exception { + DocumentCommitThread.getInstance().clearQueue(); CodeStyleSettingsManager.getInstance(project).dropTemporarySettings(); checkAllTimersAreDisposed(); UsefulTestCase.doPostponedFormatting(project); @@ -523,6 +525,7 @@ public abstract class LightPlatformTestCase extends UsefulTestCase implements Da PsiDocumentManagerImpl documentManager = (PsiDocumentManagerImpl)PsiDocumentManager.getInstance(project); documentManager.clearUncommitedDocuments(); ((HintManagerImpl)HintManager.getInstance()).cleanup(); + DocumentCommitThread.getInstance().clearQueue(); UIUtil.invokeAndWaitIfNeeded(new Runnable() { @Override