[cfe-dev] RFC: missing libclang query functions / features
Stefan Seefeld
seefeld at sympatico.ca
Tue Feb 15 20:44:15 PST 2011
On 2011-02-15 16:14, Douglas Gregor wrote:
>
>> * There doesn't appear to be any function to query a function's
>> exception specifier.
> Correct; we don't expose that information.
What would be the best way to add support for that ? Adding a new
CXCursor_ExceptionSpec cursor, which has child cursors of of some
appropriate reference kind ? Or a query function that gives the
equivalent information explicitly ?
>> * Would it be possible to report dependent types / expressions with a
>> new cursor type, instead of the common "UnexposedExpr" ?
>
> Dependent types and expressions can take many forms, including forms that already have "exposed" cursor kinds (e.g., a declaration reference expression can be type-dependent). If you need type- and value-dependence information, I suggest adding clang_isTypeDependent()/clang_isValueDependent() that operates on expression cursors.
OK, understood. I think what I was trying to ask is for
CXType_Unexposed, not CXCursor_UnexposedDecl.
That is:
template <typename T>
struct foo
{
T member;
};
would report a FieldDecl cursor for 'member'. When calling
clang_getCursorType() on that, I obtain a CXType_Unexposed, while I
think something more indicative of this being a dependent type would be
more useful. (If that is not possible, a new clang_isTypeDependent()
function would certainly be helpful.)
Thanks,
Stefan
--
...ich hab' noch einen Koffer in Berlin...
More information about the cfe-dev
mailing list