Search in index under read lock to prevent entering to isDumb() mode (EA-63656)
This commit is contained in:
+14
-7
@@ -17,7 +17,9 @@
|
|||||||
package org.jetbrains.jet.plugin.versions;
|
package org.jetbrains.jet.plugin.versions;
|
||||||
|
|
||||||
import com.google.common.collect.ImmutableList;
|
import com.google.common.collect.ImmutableList;
|
||||||
|
import com.intellij.openapi.application.ApplicationManager;
|
||||||
import com.intellij.openapi.project.Project;
|
import com.intellij.openapi.project.Project;
|
||||||
|
import com.intellij.openapi.util.Computable;
|
||||||
import com.intellij.psi.JavaPsiFacade;
|
import com.intellij.psi.JavaPsiFacade;
|
||||||
import com.intellij.psi.PsiClass;
|
import com.intellij.psi.PsiClass;
|
||||||
import com.intellij.psi.search.GlobalSearchScope;
|
import com.intellij.psi.search.GlobalSearchScope;
|
||||||
@@ -33,13 +35,18 @@ public class KotlinRuntimeLibraryCoreUtil {
|
|||||||
);
|
);
|
||||||
|
|
||||||
@Nullable
|
@Nullable
|
||||||
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull Project project, @NotNull GlobalSearchScope scope) {
|
public static PsiClass getKotlinRuntimeMarkerClass(@NotNull final Project project, @NotNull final GlobalSearchScope scope) {
|
||||||
for (String className : CANDIDATE_CLASSES) {
|
return ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() {
|
||||||
PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(className, scope);
|
@Override
|
||||||
if (psiClass != null) {
|
public PsiClass compute() {
|
||||||
return psiClass;
|
for (String className : CANDIDATE_CLASSES) {
|
||||||
|
PsiClass psiClass = JavaPsiFacade.getInstance(project).findClass(className, scope);
|
||||||
|
if (psiClass != null) {
|
||||||
|
return psiClass;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return null;
|
||||||
}
|
}
|
||||||
}
|
});
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user