From 00b44da134004f74c375c81cc710b1fc1a701000 Mon Sep 17 00:00:00 2001 From: Doug Schaefer Date: Fri, 17 Nov 2006 17:08:44 +0000 Subject: [PATCH] Implemented isSameType for PDOMCPPEnumeration for 164696. --- .../core/pdom/dom/cpp/PDOMCPPEnumeration.java | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java index eddfc7850e7..ca0a92d1560 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPEnumeration.java @@ -18,6 +18,7 @@ import org.eclipse.cdt.core.dom.ast.IEnumeration; import org.eclipse.cdt.core.dom.ast.IEnumerator; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPBinding; +import org.eclipse.cdt.internal.core.index.IIndexProxyBinding; import org.eclipse.cdt.internal.core.pdom.PDOM; import org.eclipse.cdt.internal.core.pdom.dom.PDOMBinding; import org.eclipse.cdt.internal.core.pdom.dom.PDOMNode; @@ -88,7 +89,23 @@ class PDOMCPPEnumeration extends PDOMCPPBinding implements IEnumeration, ICPPBin } public boolean isSameType(IType type) { - throw new PDOMNotImplementedError(); + if (type instanceof PDOMBinding) + return record == ((PDOMBinding)type).getRecord(); + else if (type instanceof IEnumeration) { + try { + IIndexProxyBinding pdomType = pdom.adaptBinding((IEnumeration)type); + if (pdomType == null) + return false; + else if (pdomType instanceof PDOMBinding) + return record == ((PDOMBinding)pdomType).getRecord(); + else + throw new PDOMNotImplementedError(); + } catch (CoreException e) { + CCorePlugin.log(e); + return false; + } + } else + return false; } public Object clone() {