[cfe-dev] Finding all references to a function overload or type.
Holtgrewe, Manuel
manuel.holtgrewe at fu-berlin.de
Thu Nov 15 00:47:17 PST 2012
Dear all,
I would like to use the clang infrastructure (libclang, libtooling, ...) to find all references to a function overload or a type in a program. This should also work if the program has templates.
Consider the following example:
void f(int i)
{}
template <typename T>
void f(T x)
{
X<T> y;
}
template <typename T>
struct X
{};
template <>
struct X<long>
{};
main ()
{
f(3.0);
f(1);
f(1l);
return 0;
}
For example, I would like to find all occurences of the overload "void f(int i)" (result should be the line with "f(1)" or all occurences of the specialization "X<long>" (in the line with "X<T> y" when f is called with a long value.
Is this possible with clang? If so, can anyone point me in the right direction?
Thanks,
Manuel
More information about the cfe-dev
mailing list