Search in index under read lock to prevent entering to isDumb() mode (EA-63656)

This commit is contained in:
Nikolay Krasko
2014-12-26 17:15:30 +03:00
parent 3d254748b4
commit 1ec7104132
@@ -17,7 +17,9 @@
package org.jetbrains.jet.plugin.versions;
import com.google.common.collect.ImmutableList;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.project.Project;
import com.intellij.openapi.util.Computable;
import com.intellij.psi.JavaPsiFacade;
import com.intellij.psi.PsiClass;
import com.intellij.psi.search.GlobalSearchScope;
@@ -33,13 +35,18 @@ public class KotlinRuntimeLibraryCoreUtil {
);
@Nullable
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull Project project, @NotNull GlobalSearchScope scope) {
for (String className : CANDIDATE_CLASSES) {
PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(className, scope);
if (psiClass != null) {
return psiClass;
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull final Project project, @NotNull final GlobalSearchScope scope) {
return ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() {
@Override
public PsiClass compute() {
for (String className : CANDIDATE_CLASSES) {
PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(className, scope);
if (psiClass != null) {
return psiClass;
}
}
return null;
}
}
return null;
});
}
}