From 477c4fabb75adc3aa9d95a18d9c031fc7ad1ad74 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Tue, 16 Jun 2020 14:22:21 +0300 Subject: [PATCH] make trigram index psi dependent GitOrigin-RevId: 44cccc22ef3c973c95df830701ecfc54ae8cbdca --- .../indexing/DocumentChangeDependentIndex.java | 14 -------------- .../intellij/util/indexing/PsiDependentIndex.java | 2 +- .../com/intellij/find/impl/FindInProjectTask.java | 5 ++++- .../src/com/intellij/find/ngrams/TrigramIndex.java | 3 +-- .../intellij/util/indexing/FileBasedIndexImpl.java | 3 +-- 5 files changed, 7 insertions(+), 20 deletions(-) delete mode 100644 platform/indexing-api/src/com/intellij/util/indexing/DocumentChangeDependentIndex.java diff --git a/platform/indexing-api/src/com/intellij/util/indexing/DocumentChangeDependentIndex.java b/platform/indexing-api/src/com/intellij/util/indexing/DocumentChangeDependentIndex.java deleted file mode 100644 index 3bd57ed1224f..000000000000 --- a/platform/indexing-api/src/com/intellij/util/indexing/DocumentChangeDependentIndex.java +++ /dev/null @@ -1,14 +0,0 @@ -// Copyright 2000-2019 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file. -package com.intellij.util.indexing; - -import org.jetbrains.annotations.ApiStatus; - -/** - * Marker interface of index that use document changes to update it's data. These indices shouldn't depend on PSI-related stuff. - * - * Note, every {@link FileBasedIndexExtension} where {@link FileBasedIndexExtension#dependsOnFileContent()} returns false is treated as document change dependent. - */ -@ApiStatus.Experimental -public interface DocumentChangeDependentIndex { - -} diff --git a/platform/indexing-api/src/com/intellij/util/indexing/PsiDependentIndex.java b/platform/indexing-api/src/com/intellij/util/indexing/PsiDependentIndex.java index 0fbe9ed5510d..5ec90b5bea02 100644 --- a/platform/indexing-api/src/com/intellij/util/indexing/PsiDependentIndex.java +++ b/platform/indexing-api/src/com/intellij/util/indexing/PsiDependentIndex.java @@ -18,7 +18,7 @@ package com.intellij.util.indexing; /** * Marker interface of index that is built from PSI, meaning its invalidation will happen upon producing new PSI. * - * @deprecated by default all content-aware indices are PSI dependent. Use {@link DocumentChangeDependentIndex} to make index PSI-independent (since 2019.2) + * @deprecated by default all content-aware indices are PSI dependent. */ @Deprecated public interface PsiDependentIndex { diff --git a/platform/lang-impl/src/com/intellij/find/impl/FindInProjectTask.java b/platform/lang-impl/src/com/intellij/find/impl/FindInProjectTask.java index 9342baa029e8..c29a4b8f9da0 100644 --- a/platform/lang-impl/src/com/intellij/find/impl/FindInProjectTask.java +++ b/platform/lang-impl/src/com/intellij/find/impl/FindInProjectTask.java @@ -108,7 +108,10 @@ class FindInProjectTask { try { myProgress.setIndeterminate(true); myProgress.setText(FindBundle.message("progress.text.scanning.indexed.files")); - Set filesForFastWordSearch = ReadAction.nonBlocking(this::getFilesForFastWordSearch).executeSynchronously(); + Set filesForFastWordSearch = ReadAction + .nonBlocking(this::getFilesForFastWordSearch) + .withDocumentsCommitted(myProject) + .executeSynchronously(); myProgress.setIndeterminate(false); if (LOG.isDebugEnabled()) { LOG.debug("Searching for " + myFindModel.getStringToFind() + " in " + filesForFastWordSearch.size() + " indexed files"); diff --git a/platform/lang-impl/src/com/intellij/find/ngrams/TrigramIndex.java b/platform/lang-impl/src/com/intellij/find/ngrams/TrigramIndex.java index 083a58e223ef..438f00ebce6f 100644 --- a/platform/lang-impl/src/com/intellij/find/ngrams/TrigramIndex.java +++ b/platform/lang-impl/src/com/intellij/find/ngrams/TrigramIndex.java @@ -19,8 +19,7 @@ import java.io.DataOutput; import java.io.IOException; import java.util.*; -public final class TrigramIndex extends ScalarIndexExtension implements CustomInputsIndexFileBasedIndexExtension, - DocumentChangeDependentIndex { +public final class TrigramIndex extends ScalarIndexExtension implements CustomInputsIndexFileBasedIndexExtension { /** * @deprecated not used anymore, always enabled */ diff --git a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java index a3193bfab59e..dca0d9e297f5 100644 --- a/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java +++ b/platform/lang-impl/src/com/intellij/util/indexing/FileBasedIndexImpl.java @@ -1821,8 +1821,7 @@ public final class FileBasedIndexImpl extends FileBasedIndexEx { public static boolean isPsiDependentIndex(@NotNull IndexExtension extension) { if (INDICES_ARE_PSI_DEPENDENT_BY_DEFAULT) { return extension instanceof FileBasedIndexExtension && - ((FileBasedIndexExtension)extension).dependsOnFileContent() && - !(extension instanceof DocumentChangeDependentIndex); + ((FileBasedIndexExtension)extension).dependsOnFileContent(); } else { return extension instanceof PsiDependentIndex;