Getting preprocessed contents of a macro expansion in libclang

Hey there,

I'm currently working on implementing proper tooltips for macro definitions
and expansions in KDevelop. There, I'd like to show both the macro definition
body and (if hovering a macro expansion) the expanded macro body.

I can easily retrieve the body for macro definitions using clang_tokenize on
the definition's extent, but that won't work for macro *expansions*, because I
only get the token stream *before* the preprocessing happened.

So, am I completely missing something or is this feature just not exposed in
libclang? If not exposed, can someone point me to the correct location in the
C++ API where to retrieve that information?