Create Test: refactoring + small fixes

This commit is contained in:
Anton Makeev
2010-06-27 18:24:39 +04:00
parent 7700e6501c
commit ca6bcdb07c
13 changed files with 226 additions and 247 deletions
@@ -19,27 +19,27 @@
*/
package com.intellij.codeInsight.daemon.impl;
import com.intellij.codeInsight.daemon.GutterIconNavigationHandler;
import com.intellij.codeInsight.daemon.DaemonBundle;
import com.intellij.codeInsight.CodeInsightBundle;
import com.intellij.psi.*;
import com.intellij.psi.util.PsiUtil;
import com.intellij.psi.search.PsiElementProcessor;
import com.intellij.psi.search.PsiElementProcessorAdapter;
import com.intellij.psi.search.searches.OverridingMethodsSearch;
import com.intellij.psi.search.searches.ClassInheritorsSearch;
import com.intellij.util.Function;
import com.intellij.util.NullableFunction;
import com.intellij.util.CommonProcessors;
import com.intellij.codeInsight.daemon.DaemonBundle;
import com.intellij.codeInsight.daemon.GutterIconNavigationHandler;
import com.intellij.ide.util.MethodCellRenderer;
import com.intellij.ide.util.PsiClassListCellRenderer;
import com.intellij.openapi.progress.ProgressManager;
import com.intellij.psi.*;
import com.intellij.psi.search.PsiElementProcessor;
import com.intellij.psi.search.PsiElementProcessorAdapter;
import com.intellij.psi.search.searches.ClassInheritorsSearch;
import com.intellij.psi.search.searches.OverridingMethodsSearch;
import com.intellij.psi.util.PsiUtil;
import com.intellij.util.CommonProcessors;
import com.intellij.util.Function;
import com.intellij.util.NullableFunction;
import org.jetbrains.annotations.NonNls;
import javax.swing.*;
import java.util.Comparator;
import java.util.Arrays;
import java.awt.event.MouseEvent;
import java.util.Arrays;
import java.util.Comparator;
public enum MarkerType {
OVERRIDING_METHOD(new NullableFunction<PsiElement, String>() {
@@ -175,7 +175,7 @@ public enum MarkerType {
PsiClass[] inheritors = collectProcessor.toArray(PsiClass.EMPTY_ARRAY);
if (inheritors.length == 0) return;
String title = aClass.isInterface()
? CodeInsightBundle.message("goto.implementation.chooser.title", aClass.getName(), inheritors.length)
? CodeInsightBundle.message("goto.implementation.chooserTitle", aClass.getName(), inheritors.length)
: DaemonBundle.message("navigation.title.subclass", aClass.getName(), inheritors.length);
PsiClassListCellRenderer renderer = new PsiClassListCellRenderer();
Arrays.sort(inheritors, renderer.getComparator());
@@ -15,31 +15,22 @@
*/
package com.intellij.codeInsight.navigation;
import com.intellij.ide.util.PsiElementListCellRenderer;
import com.intellij.ide.util.MethodCellRenderer;
import com.intellij.ide.util.PsiClassListCellRenderer;
import com.intellij.ide.util.PsiElementListCellRenderer;
import com.intellij.psi.PsiClass;
import com.intellij.psi.PsiElement;
import com.intellij.psi.PsiMethod;
import com.intellij.psi.PsiClass;
import com.intellij.psi.util.PsiUtil;
import java.util.Arrays;
/**
* @author yole
*/
public class JavaGotoTargetRendererProvider implements GotoTargetRendererProvider {
public PsiElementListCellRenderer getRenderer(final PsiElement[] elements) {
boolean onlyMethods = true;
boolean onlyClasses = true;
for (PsiElement element : elements) {
if (!(element instanceof PsiMethod)) onlyMethods = false;
if (!(element instanceof PsiClass)) onlyClasses = false;
public PsiElementListCellRenderer getRenderer(final PsiElement element) {
if (element instanceof PsiMethod) {
return new MethodCellRenderer(false);
}
if (onlyMethods) {
return new MethodCellRenderer(!PsiUtil.allMethodsHaveSameSignature(Arrays.asList(elements).toArray(PsiMethod.EMPTY_ARRAY)));
}
else if (onlyClasses) {
else if (element instanceof PsiClass) {
return new PsiClassListCellRenderer();
}
return null;