Skip to content

Commit 67e7c1b

Browse files
committed
1639: Fix line marker creation targeting PsiElement node
Ensured line markers are correctly created by targeting the `ASTNode` of type `IDENTIFIER` for `PsiElement`. This change prevents potential errors and improves precision in line marker rendering. Enhanced the stability and correctness of the `PluginLineMarkerProvider`.
1 parent 187a523 commit 67e7c1b

File tree

1 file changed

+11
-6
lines changed

1 file changed

+11
-6
lines changed

src/main/java/com/magento/idea/magento2plugin/linemarker/php/PluginLineMarkerProvider.java

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,11 @@
99
import com.intellij.codeInsight.daemon.LineMarkerProvider;
1010
import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
1111
import com.intellij.icons.AllIcons;
12+
import com.intellij.lang.ASTNode;
1213
import com.intellij.psi.PsiElement;
1314
import com.intellij.psi.search.GlobalSearchScope;
1415
import com.intellij.util.indexing.FileBasedIndex;
16+
import com.jetbrains.php.lang.lexer.PhpTokenTypes;
1517
import com.jetbrains.php.lang.psi.elements.Method;
1618
import com.jetbrains.php.lang.psi.elements.PhpClass;
1719
import com.magento.idea.magento2plugin.linemarker.php.data.PluginMethodData;
@@ -70,12 +72,15 @@ public void collectSlowLineMarkers(
7072
}
7173

7274
if (!results.isEmpty()) {
73-
// Add the property to a collection of line marker info
74-
final NavigationGutterIconBuilder<PsiElement> builder =
75-
NavigationGutterIconBuilder.create(AllIcons.Nodes.Plugin)
76-
.setTargets(results)
77-
.setTooltipText(TOOLTIP_TEXT);
78-
collection.add(builder.createLineMarkerInfo(psiElement));
75+
final ASTNode node = psiElement.getNode().findChildByType(PhpTokenTypes.IDENTIFIER);
76+
if(node != null) {
77+
// Add the property to a collection of line marker info
78+
final NavigationGutterIconBuilder<PsiElement> builder =
79+
NavigationGutterIconBuilder.create(AllIcons.Nodes.Plugin)
80+
.setTargets(results)
81+
.setTooltipText(TOOLTIP_TEXT);
82+
collection.add(builder.createLineMarkerInfo(node.getPsi()));
83+
}
7984
}
8085
}
8186
}

0 commit comments

Comments
 (0)