1
0
Fork 0
mirror of https://github.com/eclipse-cdt/cdt synced 2025-07-23 17:05:26 +02:00

unified toString() methods for pdom-bindings.

This commit is contained in:
Markus Schorn 2009-02-10 17:18:04 +00:00
parent d3a1c826ed
commit 76fda4d2c5
8 changed files with 29 additions and 78 deletions

View file

@ -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.

View file

@ -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;
}

View file

@ -379,9 +379,4 @@ class PDOMCPPClassType extends PDOMCPPBinding implements IPDOMCPPClassType, IPDO
}
return null;
}
@Override
public String toString() {
return ASTTypeUtil.getType(this);
}
}

View file

@ -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;

View file

@ -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();
}
}

View file

@ -210,7 +210,7 @@ class PDOMCPPNamespace extends PDOMCPPBinding
}
@Override
public String toString() {
protected String toStringBase() {
String[] names = getQualifiedName();
if (names.length == 0) {
return "<unnamed namespace>"; //$NON-NLS-1$

View file

@ -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();
}
}

View file

@ -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) {