diff --git a/platform/lang-impl/src/com/intellij/codeInsight/TargetElementUtil.java b/platform/lang-impl/src/com/intellij/codeInsight/TargetElementUtil.java index 5cb5fefd70bd..3df647a039f3 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/TargetElementUtil.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/TargetElementUtil.java @@ -31,6 +31,7 @@ import com.intellij.lang.LanguageExtension; import com.intellij.lang.injection.InjectedLanguageManager; import com.intellij.navigation.NavigationItem; import com.intellij.openapi.application.ApplicationManager; +import com.intellij.openapi.application.ReadAction; import com.intellij.openapi.components.ServiceManager; import com.intellij.openapi.editor.Document; import com.intellij.openapi.editor.Editor; @@ -448,7 +449,7 @@ public class TargetElementUtil extends TargetElementUtilBase { @Override public boolean acceptImplementationForReference(@Nullable PsiReference reference, @Nullable PsiElement element) { - TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(element.getLanguage()) : null; + TargetElementEvaluatorEx2 evaluator = element != null ? getElementEvaluatorsEx2(ReadAction.compute(element::getLanguage)) : null; return evaluator == null || evaluator.acceptImplementationForReference(reference, element); }