From 445990415331f4d24ab7185920ab6f8b60c552c0 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Wed, 5 Aug 2020 12:35:44 +0300 Subject: [PATCH] indexes: add debug check that extensions without required forward index doesn't access it GitOrigin-RevId: a869264a0fd7884442011489d6cfb185f2adbe9c --- .../src/com/intellij/util/indexing/FileBasedIndexEx.java | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexEx.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexEx.java index f443d26f0f6d..62fe4660fbdd 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexEx.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexEx.java @@ -30,6 +30,7 @@ import com.intellij.util.*; import com.intellij.util.containers.ConcurrentBitSet; import com.intellij.util.containers.ContainerUtil; import com.intellij.util.containers.Stack; +import com.intellij.util.indexing.impl.IndexDebugProperties; import com.intellij.util.indexing.impl.InvertedIndexValueIterator; import com.intellij.util.indexing.roots.*; import it.unimi.dsi.fastutil.ints.IntIterable; @@ -161,7 +162,11 @@ public abstract class FileBasedIndexEx extends FileBasedIndex { if (!(virtualFile instanceof VirtualFileWithId)) return Collections.emptyMap(); int fileId = getFileId(virtualFile); - // TODO revise behaviour later + if ((IndexDebugProperties.DEBUG && !ApplicationManager.getApplication().isUnitTestMode()) && + !((FileBasedIndexExtension)getIndex(id).getExtension()).needsForwardIndexWhenSharing()) { + LOG.error("Index extension " + id + " doesn't require forward index but accesses it"); + } + if (getAccessibleFileIdFilter(project).test(fileId)) { Map map = processExceptions(id, virtualFile, GlobalSearchScope.fileScope(project, virtualFile), index -> index.getIndexedFileData(fileId)); return ContainerUtil.notNullize(map);