From 1184546f6cb7c1267d5fc74e03ddeae7c789583a Mon Sep 17 00:00:00 2001
From: Johannes Mey <johannes.mey@tu-dresden.de>
Date: Sun, 27 Dec 2020 22:55:21 +0100
Subject: [PATCH] remove performance bug

---
 .../jastadd/tooling/RelAstGrammarLineMarkerProvider.java   | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/jastadd/tooling/RelAstGrammarLineMarkerProvider.java b/src/main/java/org/jastadd/tooling/RelAstGrammarLineMarkerProvider.java
index a5ed753..1e87008 100644
--- a/src/main/java/org/jastadd/tooling/RelAstGrammarLineMarkerProvider.java
+++ b/src/main/java/org/jastadd/tooling/RelAstGrammarLineMarkerProvider.java
@@ -5,6 +5,7 @@ import com.intellij.codeInsight.daemon.RelatedItemLineMarkerProvider;
 import com.intellij.codeInsight.navigation.NavigationGutterIconBuilder;
 import com.intellij.psi.PsiClass;
 import com.intellij.psi.PsiElement;
+import com.intellij.psi.PsiIdentifier;
 import org.jastadd.tooling.psi.RelAstGrammarTypeDecl;
 import org.jetbrains.annotations.NotNull;
 
@@ -20,7 +21,11 @@ public class RelAstGrammarLineMarkerProvider extends RelatedItemLineMarkerProvid
   protected void collectNavigationMarkers(@NotNull PsiElement element,
                                           @NotNull Collection<? super RelatedItemLineMarkerInfo<?>> result) {
 
-    Optional<PsiClass> classOptional = asReferenceToTypeDecl(element);
+    if (!(element instanceof PsiIdentifier)) {
+      return;
+    }
+
+    Optional<PsiClass> classOptional = asReferenceToTypeDecl(element.getParent());
 
     if (classOptional.isEmpty()) {
       return;
-- 
GitLab