[cfe-dev] Location of typedef types

Sergejs Belajevs sergejs.belajevs at gmail.com
Wed Jan 30 07:08:58 PST 2013


It solved the problem, thanks!


Sergejs

On Wed, Jan 30, 2013 at 4:42 PM, Manuel Klimek <klimek at google.com> wrote:

> On Wed, Jan 30, 2013 at 3:37 PM, Sergejs Belajevs <
> sergejs.belajevs at gmail.com> wrote:
>
>> Hi all,
>>
>> we are working on source-to-source transformation tool based on clang and
>> have a following problem. Example code:
>>
>> void foo()
>> {
>>   typedef int i32;
>>   typedef i32 s32;
>>   typedef i32 (*pfun)();
>>
>>   i32 a = (s32)0x1234u;
>> }
>>
>> We want to rename i32, s32, pfun and all their occurrences in this
>> function. We tried using VisitDeclRefExpr from clang::RecursiveASTVisitor,
>> but it didn't walk through typedefs. We tried to use VisitTypedefType and
>> it correctly visited all occurrences of i32/s32 for this function, but we
>> haven't figured out how to get location information from clang::TypedefType
>> to make actual renaming possible.
>>
>
>> What would be a working (best?) way to do it?
>>
>
> Visit the corresponding TypeLoc (in this case VisitTypedefTypeLoc)
>
> Cheers,
> /Manuel
>
>
>>
>> Thanks,
>> Sergejs
>>
>>
>> _______________________________________________
>> 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/20130130/3b9bc0ce/attachment.html>


More information about the cfe-dev mailing list