clang API Documentation
#include <Type.h>
typedef A
AP; typedef A A1; typedef A1
A1P; typedef A1P<Q> A1PQ; For 'A*', getObjectType() will return 'A'. For 'A
*', getObjectType() will return 'A
'. For 'AP*', getObjectType() will return 'A
'. For 'A1*', getObjectType() will return 'A'. For 'A1
*', getObjectType() will return 'A1
'. For 'A1P*', getObjectType() will return 'A1
'. For 'A1PQ*', getObjectType() will return 'A1<Q>', because adding protocols to a protocol-qualified base discards the old qualifiers (for now). But if it didn't, getObjectType() would return 'A1P<Q>' (and we'd have to make iterating over qualifiers more complicated).