add NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY

This commit is contained in:
Artem Khvastunov
2018-03-08 17:47:05 +01:00
parent 0e83551199
commit 8c5ebc6aca
6 changed files with 7 additions and 8 deletions
@@ -270,7 +270,7 @@ public class MarkerType {
MethodOrFunctionalExpressionCellRenderer renderer = new MethodOrFunctionalExpressionCellRenderer(showMethodNames);
Collections.sort(overridings, renderer.getComparator());
final OverridingMethodsUpdater methodsUpdater = new OverridingMethodsUpdater(method, renderer);
PsiElementListNavigator.openTargets(e, overridings.toArray(NavigatablePsiElement.EMPTY_ARRAY), methodsUpdater.getCaption(overridings.size()), "Overriding methods of " + method.getName(), renderer, methodsUpdater);
PsiElementListNavigator.openTargets(e, overridings.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY), methodsUpdater.getCaption(overridings.size()), "Overriding methods of " + method.getName(), renderer, methodsUpdater);
}
private static final String SEARCHING_FOR_OVERRIDDEN_METHODS = "Searching for Overridden Methods";
@@ -351,7 +351,7 @@ public class MarkerType {
if (inheritors.isEmpty()) return;
final SubclassUpdater subclassUpdater = new SubclassUpdater(aClass, renderer);
Collections.sort(inheritors, renderer.getComparator());
PsiElementListNavigator.openTargets(e, inheritors.toArray(NavigatablePsiElement.EMPTY_ARRAY), subclassUpdater.getCaption(inheritors.size()), CodeInsightBundle.message("goto.implementation.findUsages.title", aClass.getName()), renderer, subclassUpdater);
PsiElementListNavigator.openTargets(e, inheritors.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY), subclassUpdater.getCaption(inheritors.size()), CodeInsightBundle.message("goto.implementation.findUsages.title", aClass.getName()), renderer, subclassUpdater);
}
private static class SubclassUpdater extends ListBackgroundUpdaterTask {
@@ -1,5 +1,4 @@
// Copyright 2000-2018 JetBrains s.r.o. Use of this source code is governed by the Apache 2.0 license that can be found in the LICENSE file.
package com.intellij.psi;
import com.intellij.navigation.NavigationItem;
@@ -8,5 +7,5 @@ import com.intellij.navigation.NavigationItem;
* @author yole
*/
public interface NavigatablePsiElement extends PsiElement, NavigationItem {
NavigatablePsiElement[] EMPTY_ARRAY = new NavigatablePsiElement[0];
NavigatablePsiElement[] EMPTY_NAVIGATABLE_ELEMENT_ARRAY = new NavigatablePsiElement[0];
}
@@ -29,7 +29,7 @@ public class DefaultGutterIconNavigationHandler<T extends PsiElement> implements
@Override
public void navigate(MouseEvent e, T elt) {
PsiElementListNavigator.openTargets(e,
myReferences.toArray(NavigatablePsiElement.EMPTY_ARRAY),
myReferences.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY),
myTitle, null, createListCellRenderer());
}
@@ -184,7 +184,7 @@ public class GroovyMarkerTypes {
Set<PsiMethod> superMethods = collectSuperMethods(method);
if (superMethods.isEmpty()) return;
PsiElementListNavigator.openTargets(e, superMethods.toArray(NavigatablePsiElement.EMPTY_ARRAY),
PsiElementListNavigator.openTargets(e, superMethods.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY),
DaemonBundle.message("navigation.title.super.method", method.getName()),
DaemonBundle.message("navigation.findUsages.title.super.method", method.getName()),
new MethodCellRenderer(true));
@@ -61,7 +61,7 @@ public class PyGotoSuperHandler implements CodeInsightActionHandler {
private static void navigateOrChoose(Editor editor, Collection<? extends NavigatablePsiElement> superElements, final String title) {
if (!superElements.isEmpty()) {
NavigatablePsiElement[] superElementArray = superElements.toArray(NavigatablePsiElement.EMPTY_ARRAY);
NavigatablePsiElement[] superElementArray = superElements.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY);
if (superElementArray.length == 1) {
superElementArray[0].navigate(true);
}
@@ -44,7 +44,7 @@ abstract class PyLineMarkerNavigator<T extends PsiElement> implements GutterIcon
* {@link PsiElementListNavigator} simply opens then (hence it is swing-based) and can't be used in tests.
* So, in unit tests we save data in element and data could be obtained with {@link #getNavigationTargets(UserDataHolder)}
*/
final NavigatablePsiElement[] methods = navElements.toArray(NavigatablePsiElement.EMPTY_ARRAY);
final NavigatablePsiElement[] methods = navElements.toArray(NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY);
if (ApplicationManager.getApplication().isUnitTestMode()) {
elt.putUserData(MARKERS, methods);
}