[cfe-dev] Type Information for C++ classes

Manuel Klimek klimek at google.com
Thu Oct 11 05:13:24 PDT 2012


+cfe-dev

On Thu, Oct 11, 2012 at 12:13 PM, Mohammad Adil <madil90 at gmail.com> wrote:

> Sorry about that. I wasn't correctly changing my language from C to C++. I
> figured that out. It's working now. I wanted to ask you one more thing. I
> am trying to find all the return statements in the file. I can do that
> easily but I know want to find out which function does this return
> statement belong to? Since funcdecl and return statements are de-coupled, I
> can't find a way to do so. Is there an easy way to do it?


If you're using RecursiveASTVisitor, you can intercept the Traverse* calls
to figure out AST child relations. Or you can use the AST matchers
(functionDecl(hasDescendant(returnStmt()))).

Cheers,
/Manuel


> On Wed, Oct 10, 2012 at 8:29 PM, Manuel Klimek <klimek at google.com> wrote:
>
>> On Wed, Oct 10, 2012 at 2:05 AM, madil90 <madil90 at gmail.com> wrote:
>> > Hi,
>> >    I am trying to find the type of a VarDecl. I am currently using the
>> > VarDecl->getOriginalType(). This function does not work for C++ classes.
>> > Consider the code below:
>>
>> Does getType() not work for you for some reason?
>>
>> Cheers,
>> /Manuel
>>
>> >
>> > class Foo
>> > {
>> >     int a;
>> > };
>> >
>> > int f( Foo foo);
>> >
>> > When I try to find the type for "foo" in the function decleration, it
>> > returns "int", while the actual type is Foo. If Foo is a structure, this
>> > works perfectly fine but not for C++ classes. Can some one please
>> explain
>> > where the type information for C++ classes is stored?
>> >
>> >
>> >
>> > --
>> > View this message in context:
>> http://clang-developers.42468.n3.nabble.com/Type-Information-for-C-classes-tp4027266.html
>> > Sent from the Clang Developers mailing list archive at Nabble.com.
>> > _______________________________________________
>> > cfe-dev mailing list
>> > cfe-dev at cs.uiuc.edu
>> > http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>>
>
>
>
> --
> Mohammad Adil
> LUMS SSE
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20121011/651c586f/attachment.html>


More information about the cfe-dev mailing list