[cfe-dev] Getting the fully scoped type of a function parameter

Manuel Klimek klimek at google.com
Wed Nov 14 08:12:45 PST 2012


NamedDecl has getQualifiedNameAsString(). If you drill through to the decl
from the type (in your case getPointeeCXXRecordDecl should do)  you can use
it to get the fully qualified name. (There might be easier ways I'm not
aware of :)

Cheers,
/Manuel


On Wed, Nov 14, 2012 at 3:13 AM, Pascal Ognibene <pognibene at gmail.com>wrote:

> Hi all,
>
> I have a clang::ParmVarDecl argument of a C++ function/method.
> I need to retrieve the fully scoped type of this argument. For example:
>
> namespace foo
> {
>    typedef struct
>    {
>       int bla;
>    } oneStruct;
> }
>
> ...
>
> namespace foo
> {
>     int one_function(oneStruct *arg);
> };
>
> When I get the clang::FunctionDecl * for one_function, I then get a
> ParmVarDecl * for arg.
> To get the type I can use one of the QualType type =
> ParmVarDecl::get*Type() functions.
> However, when I get the type as a string, it's oneStruct * and not
> foo:oneStruct *
>
> How can I get the fully scoped name of this parameter? (using clang 3.1)
>
> Thank you for your help!
>
> Pascal
>
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121114/66fdd771/attachment.html>


More information about the cfe-dev mailing list