Add read action to definition searcher

This commit is contained in:
Nikolay Krasko
2016-03-14 19:08:30 +03:00
parent 00d06fccb6
commit 5a3712f737
@@ -59,7 +59,8 @@ public class KotlinDefinitionsSearcher implements QueryExecutor<PsiElement, Defi
if (element instanceof KtParameter) {
KtParameter parameter = (KtParameter) element;
if (KtPsiUtil.getClassIfParameterIsProperty(parameter) != null) {
if (isFieldParameter(parameter)) {
return processPropertyImplementations((KtParameter) element, scope, consumer);
}
}
@@ -84,6 +85,16 @@ public class KotlinDefinitionsSearcher implements QueryExecutor<PsiElement, Defi
return element instanceof KtLightMethod && ((KtLightMethod) element).isDelegated();
}
private static boolean isFieldParameter(final KtParameter parameter) {
return ApplicationManager.getApplication().runReadAction(
new Computable<Boolean>() {
@Override
public Boolean compute() {
return KtPsiUtil.getClassIfParameterIsProperty(parameter) != null;
}
});
}
private static boolean processClassImplementations(@NotNull final KtClass klass, Processor<PsiElement> consumer) {
PsiClass psiClass = ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() {
@Override