diff --git a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java index 41c1532c96d1..d79634d1e78d 100644 --- a/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java +++ b/platform/lang-impl/src/com/intellij/codeInsight/navigation/CtrlMouseHandler.java @@ -401,9 +401,10 @@ public class CtrlMouseHandler extends AbstractProjectComponent { @Nullable private static PsiElement resolve(final PsiReference ref) { - PsiElement resolvedElement = null; + // IDEA-56727 try resolve first as in GotoDeclarationAction + PsiElement resolvedElement = ref.resolve(); - if (ref instanceof PsiPolyVariantReference) { + if (resolvedElement == null && ref instanceof PsiPolyVariantReference) { final ResolveResult[] psiElements = ((PsiPolyVariantReference)ref).multiResolve(false); if (psiElements.length > 0) { final ResolveResult resolveResult = psiElements[0]; @@ -412,9 +413,6 @@ public class CtrlMouseHandler extends AbstractProjectComponent { } } } - else { - resolvedElement = ref.resolve(); - } return resolvedElement; }