<div dir="ltr">Hi all,<br><br>I'm working on a Source-to-source translator, which should introduce various modifications to the original source code.<br>I'm doing the modifications from an ASTConsumer, calling clang/Rewrite/Rewriter methods, and using the different visitors (clang/AST/*Visitor) to access all Decl/Stmt.<br>

The problems I'm having:<br><br><ol><li>Changing function names: if I change the name with FunctionDecl::SetDeclName it doesn't reflect in RewriteBuffer. If I want to use the Rewriter::ReplaceText method I don't know how to determine the exact SourceLocation of the function's identifier.</li>

<li>Retrieving params value in calls: CallExpr::getArg(i) gives me the Arg Expr, and I can easily get its type, but how can I get it's value? I don't need to evaluate the Expr, just get the corresponding string code.</li>

<li>Modifying signatures(params list): I'm having difficulties with FucntionDecl::setParams (Kind of a custom defined type), and Rewriter::ReplaceText requires the exact source location of the params list, which I'm unable to determine.</li>

</ol><br>Is it the right way to accomplish what I need, or am I totally wrong?<br>Any help will be appreciated.<br>Many thanks, <br>Ilya<br><br>-- <br><div dir="ltr">Best Regards,<br>Ilya Mirsky<br><a href="http://www.cs.bgu.ac.il/%7Emirskyil" target="_blank">www.cs.bgu.ac.il/~mirskyil</a><br>

</div><br>
</div>