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

Bug 510706 - Handle UniqueType in SignatureBuilder.marshalType()

Change-Id: I3686e3c32cacbcbad299de333eee32241a4697a5
This commit is contained in:
Nathan Ridge 2017-01-20 01:41:54 -05:00
parent 4e0e816a6a
commit aeb39d6352
2 changed files with 9 additions and 1 deletions

View file

@ -76,6 +76,14 @@ class SignatureBuilder implements ITypeMarshalBuffer {
putShort(NULL_TYPE);
} else if (type instanceof IBinding) {
marshalBinding((IBinding) type);
} else if (type instanceof UniqueType) {
// UniqueType is not an ISerializableType because there should never be
// a need to write it to the index, but it can appear in a signature
// during partial ordering of function templates.
appendSeparator();
fBuffer.append("Unique(@"); //$NON-NLS-1$
fBuffer.append(Integer.toHexString(System.identityHashCode(type)));
fBuffer.append(')');
} else {
assert false : "Cannot serialize " + ASTTypeUtil.getType(type) + " (" + type.getClass().getName() + ")"; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
putShort(UNSTORABLE_TYPE);

View file

@ -136,7 +136,7 @@ public final class TypeMarshalBuffer implements ITypeMarshalBuffer {
} else if (type instanceof IBinding) {
marshalBinding((IBinding) type);
} else {
assert false : "Cannot serialize " + ASTTypeUtil.getType(type) + " (" + type.getClass().getName() + ")"; //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
CCorePlugin.log("Cannot serialize " + ASTTypeUtil.getType(type) + " (" + type.getClass().getName() + ")"); //$NON-NLS-1$//$NON-NLS-2$//$NON-NLS-3$
putShort(UNSTORABLE_TYPE);
}
}