[cfe-dev] Is it possible to clone a node in an AST?
Jorge Fernández Fabeiro
fabeirojorge at gmail.com
Thu May 3 05:14:43 PDT 2012
I'm working on a tool that do some source-to-source transformations of an
OpenCL kernel mainly using the Rewriter class of the Clang C++ API.
However, now I want to do some more complex transformations, and in order
to do them I'd need to clone a ForStmt node of an AST and add its copy at
the same level of the tree (i.e., I want to create a copy of the node and
just after add it to the tree as a sibling node of the original ForStmt).
I know that I can do it very simply using the Rewriter class, but the
cloning is just the first step of a more complex transformation that can't
be done properly if I just rewrite the loop: I want to do some auxiliary
transformations in the cloned loop and I need to access to its different
parts using the ForStmt functions (GetBody(), GetInc(), GetCond()...).
In summary, and returning to the subject of this mail, is it possible to
clone a node in an AST using the Clang C++ API?
Thank you so much in advance,
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the cfe-dev