[cfe-dev] Source rewrite
steve naroff
snaroff at apple.com
Thu Dec 17 05:23:19 PST 2009
On Dec 17, 2009, at 7:05 AM, Abramo Bagnara wrote:
> In an application that uses clang libraries we need to transform some
> specially written comments in C construct.
>
> e.g:
> int p() {
> int a = 3;
> /* #instrument(a)# */
> }
>
> should be parsed as
> int p() {
> int a = 3;
> instrument(a);
> }
>
> I've added a CommentHandler to Preprocessor to catch comments and I
> thought to use Rewriter class to manipulate the input buffer inserting
> after the comment the text to be parsed, but then I've realized that
> Rewriter class is not designed to rewrite lexer input buffers, but to
> build a separate object where original text and changes live together.
>
> Now I'm a bit confused: what's the proper way to cope with the need
> described above?
>
Hi Abramo,
The ASTContext class has a 'Comments' member that contains all the
SourceRanges's for all comments in the source file.
This assumes you've told the preprocessor to keep comments.
This might not be the only/proper way, however I thought you should be
aware of this...
snaroff
> _______________________________________________
> 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