From d87341eab3243b21d6b20821f1f098656a39dcd3 Mon Sep 17 00:00:00 2001 From: Gregory Shrago Date: Fri, 23 Jul 2010 15:46:25 +0400 Subject: [PATCH] IDEA-56727 ctrl-hover provides preview hint for element different from actual navigation target --- .../intellij/codeInsight/navigation/CtrlMouseHandler.java | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) 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; }