55
66package com .magento .idea .magento2plugin .linemarker .php ;
77
8+ import com .intellij .codeInsight .daemon .GutterIconNavigationHandler ;
89import com .intellij .codeInsight .daemon .LineMarkerInfo ;
910import com .intellij .codeInsight .daemon .LineMarkerProvider ;
1011import com .intellij .codeInsight .navigation .NavigationGutterIconBuilder ;
1112import com .intellij .icons .AllIcons ;
13+ import com .intellij .psi .NavigatablePsiElement ;
1214import com .intellij .psi .PsiElement ;
1315import com .intellij .psi .search .GlobalSearchScope ;
1416import com .intellij .psi .util .PsiTreeUtil ;
1517import com .intellij .util .indexing .FileBasedIndex ;
1618import com .jetbrains .php .PhpIndex ;
1719import com .jetbrains .php .lang .psi .elements .Method ;
1820import com .jetbrains .php .lang .psi .elements .PhpClass ;
21+ import com .magento .idea .magento2plugin .linemarker .SearchGutterIconNavigationHandler ;
1922import com .magento .idea .magento2plugin .project .Settings ;
2023import com .magento .idea .magento2plugin .stubs .indexes .PluginIndex ;
2124import java .util .ArrayList ;
@@ -39,6 +42,7 @@ public class PluginLineMarkerProvider implements LineMarkerProvider {
3942 }
4043
4144 @ Override
45+ @ SuppressWarnings ("PMD.AvoidInstantiatingObjectsInLoops" )
4246 public void collectSlowLineMarkers (
4347 final @ NotNull List <? extends PsiElement > psiElements ,
4448 final @ NotNull Collection <? super LineMarkerInfo <?>> collection
@@ -69,12 +73,21 @@ public void collectSlowLineMarkers(
6973 }
7074
7175 if (!results .isEmpty ()) {
76+ final GutterIconNavigationHandler <PsiElement > navigationHandler =
77+ new SearchGutterIconNavigationHandler <>(
78+ (Collection <? extends NavigatablePsiElement >) results ,
79+ TOOLTIP_TEXT
80+ );
81+
7282 collection .add (
7383 NavigationGutterIconBuilder
7484 .create (AllIcons .Nodes .Plugin )
7585 .setTargets (results )
7686 .setTooltipText (TOOLTIP_TEXT )
77- .createLineMarkerInfo (PsiTreeUtil .getDeepestFirst (psiElement ))
87+ .createLineMarkerInfo (
88+ PsiTreeUtil .getDeepestFirst (psiElement ),
89+ navigationHandler
90+ )
7891 );
7992 }
8093 }
0 commit comments