From 7e4672a42f33de60f1221638ff190dde2ed17e78 Mon Sep 17 00:00:00 2001 From: Dmitry Batkovich Date: Thu, 18 Mar 2021 02:29:17 +0300 Subject: [PATCH] run read-action in smart mode EA-261262 GitOrigin-RevId: a4f3527ea5e9e8b8ccf69363f741ef75dae16e14 --- .../psi/impl/search/JavaFunctionalExpressionSearcher.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java index b5978353355a..aec34b9a5754 100644 --- a/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java +++ b/java/java-indexing-impl/src/com/intellij/psi/impl/search/JavaFunctionalExpressionSearcher.java @@ -42,6 +42,7 @@ import com.intellij.psi.tree.IElementType; import com.intellij.psi.util.InheritanceUtil; import com.intellij.psi.util.PsiTreeUtil; import com.intellij.psi.util.PsiUtil; +import com.intellij.psi.util.PsiUtilCore; import com.intellij.util.Processor; import com.intellij.util.Processors; import com.intellij.util.ThreeState; @@ -71,13 +72,13 @@ public final class JavaFunctionalExpressionSearcher extends QueryExecutorBase calcDescriptors(@NotNull Session session) { List descriptors = new ArrayList<>(); + Project project = PsiUtilCore.getProjectInReadAction(session.elementToSearch); - ReadAction.run(() -> { + DumbService.getInstance(project).runReadActionInSmartMode(() -> { PsiClass aClass = session.elementToSearch; if (!aClass.isValid() || !aClass.isInterface()) { return; } - Project project = aClass.getProject(); if (InjectedLanguageManager.getInstance(project).isInjectedFragment(aClass.getContainingFile()) || !hasJava8Modules(project)) { return; }