run read-action in smart mode EA-261262

GitOrigin-RevId: a4f3527ea5e9e8b8ccf69363f741ef75dae16e14
This commit is contained in:
Dmitry Batkovich
2021-03-18 02:29:17 +03:00
committed by intellij-monorepo-bot
parent e85b4c0145
commit 7e4672a42f

View File

@@ -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<Ps
@NotNull
private static List<SamDescriptor> calcDescriptors(@NotNull Session session) {
List<SamDescriptor> 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;
}