[cfe-dev] Querying C++ function declarations
Ted Kremenek
kremenek at apple.com
Mon Sep 20 18:37:38 PDT 2010
Hi Oksana,
If the FunctionDecl represents a C++ method, it actually will be an instance of CXXMethodDecl. Try doing:
FunctionDecl *FD = ...
...
if (CXXMethodDecl *MD = dyn_cast<CXXMethodDecl>(FD)) {
}
Once you have a CXXMethodDecl*, you should be able to directly do most of the things you are asking for, including finding the enclosing class (via getParent()). I don't know off the top of my head, however, how to get the access control (as it was declared) for the method.
On Sep 20, 2010, at 5:13 PM, Oksana Tkachuk wrote:
> Hello,
> I am new to Clang and I would like to use it (as a library, not a
> command-line tool) to perform some basic structural analysis of C++
> functions.
> Given a "FunctionDecl" object, I would like to find out the function's
> declaring (enclosing) class and the function's access level
> (public/private).
> Which Clang APIs could be used to find this info? Code samples would be
> very helpful.
>
> Thank you,
> Oksana.
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
More information about the cfe-dev
mailing list