diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java index e0a9af4707b..334a6f19719 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/PDOMBinding.java @@ -18,9 +18,13 @@ import java.util.ArrayList; import java.util.List; import org.eclipse.cdt.core.CCorePlugin; +import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IASTName; import org.eclipse.cdt.core.dom.ast.IBinding; +import org.eclipse.cdt.core.dom.ast.IFunction; +import org.eclipse.cdt.core.dom.ast.IFunctionType; +import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPClassType; import org.eclipse.cdt.core.index.IIndexFileSet; import org.eclipse.cdt.core.parser.util.CharArrayUtils; @@ -223,13 +227,33 @@ public abstract class PDOMBinding extends PDOMNamedNode implements IPDOMBinding * @see java.lang.Object#toString() */ @Override - public String toString() { + public final String toString() { + String name; + name = toStringBase(); try { - return getName() + " " + getConstantNameForValue(getLinkage(), getNodeType()); //$NON-NLS-1$ + return name + " " + getConstantNameForValue(getLinkage(), getNodeType()); //$NON-NLS-1$ } catch (CoreException ce) { - return getName() + " " + getNodeType(); //$NON-NLS-1$ + return name + " " + getNodeType(); //$NON-NLS-1$ } } + + protected String toStringBase() { + if (this instanceof IType) { + return ASTTypeUtil.getType((IType) this); + } else if (this instanceof IFunction) { + IFunctionType t= null; + try { + t = ((IFunction) this).getType(); + } catch (DOMException e) { + } + if (t != null) { + return getName() + ASTTypeUtil.getParameterTypeString(t); + } else { + return getName() + "()"; //$NON-NLS-1$ + } + } + return getName(); + } /** * For debug purposes only. diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java index 2c461e96a83..cea5cdd5b9c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassSpecialization.java @@ -370,11 +370,6 @@ class PDOMCPPClassSpecialization extends PDOMCPPSpecialization implements PDOMCPPClassScope.acceptViaCache(this, visitor, false); } - @Override - public String toString() { - return super.toString() + " <"+ getTemplateParameterMap().toString() + ">"; //$NON-NLS-1$//$NON-NLS-2$ - } - public boolean isAnonymous() { return false; } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java index 0a93808a6fe..f8c109d6939 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPClassType.java @@ -379,9 +379,4 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO } return null; } - - @Override - public String toString() { - return ASTTypeUtil.getType(this); - } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java index ff99eaeb9e3..5f77a1e9afb 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunction.java @@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.pdom.dom.cpp; import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IFunctionType; @@ -278,21 +277,7 @@ class PDOMCPPFunction extends PDOMCPPBinding implements ICPPFunction, IPDOMOverl int cmp = super.pdomCompareTo(other); return cmp == 0 ? compareSignatures(this, other) : cmp; } - - @Override - public String toString() { - StringBuilder result = new StringBuilder(); - result.append(getName()); - IFunctionType t = getType(); - result.append(t != null ? ASTTypeUtil.getParameterTypeString(t) : "()"); //$NON-NLS-1$ - try { - result.append(" " + getConstantNameForValue(getLinkage(), getNodeType())); //$NON-NLS-1$ - } catch (CoreException e) { - result.append(" " + getNodeType()); //$NON-NLS-1$ - } - return result.toString(); - } - + protected static int compareSignatures(IPDOMOverloader a, Object b) { if (b instanceof IPDOMOverloader) { IPDOMOverloader bb= (IPDOMOverloader) b; diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionInstance.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionInstance.java index 05aa35f67e4..6df93b96d6c 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionInstance.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPFunctionInstance.java @@ -13,7 +13,6 @@ package org.eclipse.cdt.internal.core.pdom.dom.cpp; import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IType; import org.eclipse.cdt.core.dom.ast.cpp.ICPPFunction; @@ -101,27 +100,4 @@ class PDOMCPPFunctionInstance extends PDOMCPPFunctionSpecialization implements I public IType[] getArguments() { return CPPTemplates.getArguments(getTemplateArguments()); } - - /* - * For debug purposes only - */ - @SuppressWarnings("nls") - @Override - public String toString() { - StringBuilder result = new StringBuilder(); - result.append(getName()); - result.append("(){"); - try { - result.append(ASTTypeUtil.getType(getType())); - } catch (DOMException e) { - e.printStackTrace(); - } - result.append("} "); - try { - result.append(getConstantNameForValue(getLinkage(), getNodeType())); - } catch (CoreException ce) { - result.append(getNodeType()); - } - return result.toString(); - } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPNamespace.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPNamespace.java index 05e232e9618..e6252e3caa3 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPNamespace.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPNamespace.java @@ -210,7 +210,7 @@ class PDOMCPPNamespace extends PDOMCPPBinding } @Override - public String toString() { + protected String toStringBase() { String[] names = getQualifiedName(); if (names.length == 0) { return ""; //$NON-NLS-1$ diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java index acbb35d6e02..56017203959 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPSpecialization.java @@ -104,22 +104,4 @@ abstract class PDOMCPPSpecialization extends PDOMCPPBinding implements ICPPSpeci public int getSignatureHash() throws CoreException { return getDB().getInt(record + SIGNATURE_HASH); } - - /* - * For debug purposes only - */ - @Override - public String toString() { - StringBuilder result = new StringBuilder(); - result.append(getName()); - result.append(' '); - result.append(getArgumentMap().toString()); - result.append(' '); - try { - result.append(getConstantNameForValue(getLinkage(), getNodeType())); - } catch (CoreException ce) { - result.append(getNodeType()); - } - return result.toString(); - } } diff --git a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java index 12fc4160621..8105c6c8e5f 100644 --- a/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java +++ b/core/org.eclipse.cdt.core/parser/org/eclipse/cdt/internal/core/pdom/dom/cpp/PDOMCPPUnknownClassInstance.java @@ -12,7 +12,6 @@ package org.eclipse.cdt.internal.core.pdom.dom.cpp; import org.eclipse.cdt.core.CCorePlugin; -import org.eclipse.cdt.core.dom.ast.ASTTypeUtil; import org.eclipse.cdt.core.dom.ast.DOMException; import org.eclipse.cdt.core.dom.ast.IBinding; import org.eclipse.cdt.core.dom.ast.IType; @@ -71,11 +70,6 @@ class PDOMCPPUnknownClassInstance extends PDOMCPPUnknownClassType implements ICP } return arguments; } - - @Override - public String toString() { - return getName() + " " + ASTTypeUtil.getArgumentListString(getArguments(), true); //$NON-NLS-1$ - } @Override public boolean isSameType(IType type) {