mirror of
https://gitflic.ru/project/openide/openide.git
synced 2026-09-27 10:03:11 +07:00
add NavigatablePsiElement.EMPTY_NAVIGATABLE_ELEMENT_ARRAY
This commit is contained in:
@@ -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];
|
||||
}
|
||||
|
||||
+1
-1
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user