From e8bfecea0bd1de460f3e855c210ecc446e8bb7c9 Mon Sep 17 00:00:00 2001 From: Michael Woski Date: Thu, 10 Aug 2017 17:11:42 +0200 Subject: [PATCH] Bug 456579 - Improve CSourceHover and OpenDeclaration for TemplateIds CSourceHover did not know how to handle UnknowMemberClasses Change-Id: I4ef6a4ad794e670c4d5e9ccc9cea204f8d273f2a Signed-off-by: Michael Woski --- .../cdt/internal/ui/text/c/hover/CSourceHover.java | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java index 1c9e249b1ca..53d78cfa6f5 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/text/c/hover/CSourceHover.java @@ -102,7 +102,9 @@ import org.eclipse.cdt.ui.IWorkingCopyManager; import org.eclipse.cdt.ui.text.ICPartitions; import org.eclipse.cdt.internal.core.dom.parser.ASTQueries; +import org.eclipse.cdt.internal.core.dom.parser.cpp.ICPPUnknownBinding; import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.CPPVisitor; +import org.eclipse.cdt.internal.core.dom.parser.cpp.semantics.HeuristicResolver; import org.eclipse.cdt.internal.core.model.ASTCache.ASTRunnable; import org.eclipse.cdt.internal.corext.util.Strings; @@ -206,7 +208,13 @@ public class CSourceHover extends AbstractCEditorTextHover { } } } - + if (binding instanceof ICPPUnknownBinding) { + IBinding[] resolved = HeuristicResolver + .resolveUnknownBinding((ICPPUnknownBinding) binding, name); + if (resolved.length == 1) { + binding = resolved[0]; + } + } if (binding instanceof IProblemBinding) { // Report problem as source comment. if (DEBUG) {