From 01959bfd25008bec027fa3cecbdde1a101578704 Mon Sep 17 00:00:00 2001 From: Sergey Prigogin Date: Sat, 5 Jan 2008 18:48:28 +0000 Subject: [PATCH] Fix for bug 207320. --- .../text/selection/CPPSelectionTestsAnyIndexer.java | 2 +- .../ui/search/actions/OpenDeclarationsAction.java | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java index e46cdb80b95..59e2e09a926 100644 --- a/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java +++ b/core/org.eclipse.cdt.ui.tests/ui/org/eclipse/cdt/ui/tests/text/selection/CPPSelectionTestsAnyIndexer.java @@ -179,7 +179,7 @@ public abstract class CPPSelectionTestsAnyIndexer extends BaseSelectionTestsInde // C a; // a.assign("aaa"); // } - public void _testTemplateClassMethod_207320() throws Exception { + public void testTemplateClassMethod_207320() throws Exception { StringBuffer[] buffers= getContents(2); String hcode= buffers[0].toString(); String scode= buffers[1].toString(); diff --git a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java index 4f7ae33a0c7..aed2a3a3fa9 100644 --- a/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java +++ b/core/org.eclipse.cdt.ui/src/org/eclipse/cdt/internal/ui/search/actions/OpenDeclarationsAction.java @@ -40,7 +40,7 @@ import org.eclipse.cdt.core.dom.ast.IASTTranslationUnit; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IProblemBinding; import org.eclipse.cdt.core.dom.ast.cpp.ICPPMethod; -import org.eclipse.cdt.core.dom.ast.cpp.ICPPTemplateInstance; +import org.eclipse.cdt.core.dom.ast.cpp.ICPPSpecialization; import org.eclipse.cdt.core.index.IIndex; import org.eclipse.cdt.core.index.IIndexManager; import org.eclipse.cdt.core.index.IIndexName; @@ -137,11 +137,11 @@ public class OpenDeclarationsAction extends SelectionParseAction { if (binding != null && !(binding instanceof IProblemBinding)) { IName[] declNames = findNames(fIndex, ast, isDefinition, binding); if (declNames.length == 0) { - if(binding instanceof ICPPTemplateInstance) { + if (binding instanceof ICPPSpecialization) { // bug 207320, handle template instances - IBinding definition= ((ICPPTemplateInstance)binding).getTemplateDefinition(); - if(definition != null && !(definition instanceof IProblemBinding)) { - declNames = findNames(fIndex, ast, true, definition); + IBinding specialized= ((ICPPSpecialization) binding).getSpecializedBinding(); + if (specialized != null && !(specialized instanceof IProblemBinding)) { + declNames = findNames(fIndex, ast, true, specialized); } } else if (binding instanceof ICPPMethod) { // bug 86829, handle implicit methods.