Refactoring: extract methods

This commit is contained in:
Nikolay Krasko
2013-04-26 18:37:20 +04:00
parent aac7f84c25
commit 8752b417e5
@@ -33,12 +33,21 @@ import org.jetbrains.jet.lang.psi.JetNamedFunction;
public class KotlinDefinitionsSearcher extends QueryExecutorBase<PsiElement, PsiElement> { public class KotlinDefinitionsSearcher extends QueryExecutorBase<PsiElement, PsiElement> {
@Override @Override
public void processQuery(@NotNull final PsiElement queryParameters, @NotNull Processor<PsiElement> consumer) { public void processQuery(@NotNull PsiElement queryParameters, @NotNull Processor<PsiElement> consumer) {
if (queryParameters instanceof JetClass) { if (queryParameters instanceof JetClass) {
processClassImplementations((JetClass) queryParameters, consumer);
}
if (queryParameters instanceof JetNamedFunction) {
processFunctionImplementations((JetNamedFunction) queryParameters, consumer);
}
}
private static void processClassImplementations(final JetClass queryParameters, Processor<PsiElement> consumer) {
PsiClass psiClass = ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() { PsiClass psiClass = ApplicationManager.getApplication().runReadAction(new Computable<PsiClass>() {
@Override @Override
public PsiClass compute() { public PsiClass compute() {
return LightClassUtil.getPsiClass((JetClass) queryParameters); return LightClassUtil.getPsiClass(queryParameters);
} }
}); });
if (psiClass != null) { if (psiClass != null) {
@@ -46,11 +55,11 @@ public class KotlinDefinitionsSearcher extends QueryExecutorBase<PsiElement, Psi
} }
} }
if (queryParameters instanceof JetNamedFunction) { private static void processFunctionImplementations(final JetNamedFunction queryParameters, Processor<PsiElement> consumer) {
PsiMethod psiMethod = ApplicationManager.getApplication().runReadAction(new Computable<PsiMethod>() { PsiMethod psiMethod = ApplicationManager.getApplication().runReadAction(new Computable<PsiMethod>() {
@Override @Override
public PsiMethod compute() { public PsiMethod compute() {
return LightClassUtil.getLightClassMethod((JetNamedFunction) queryParameters); return LightClassUtil.getLightClassMethod(queryParameters);
} }
}); });
@@ -58,5 +67,4 @@ public class KotlinDefinitionsSearcher extends QueryExecutorBase<PsiElement, Psi
ContainerUtil.process(MethodImplementationsSearch.getMethodImplementations(psiMethod), consumer); ContainerUtil.process(MethodImplementationsSearch.getMethodImplementations(psiMethod), consumer);
} }
} }
}
} }