I am using Clang/libtooling (ASTComsumer with a Matcher) to visit ALL return statements (ReturnStmt). I need to extract the expression that comes after the keyword return in a string form so that I can put that in a macro that I am replacing return statement with.
For example, I want to replace the following line:
return somefunc() + 1;
with
FUNCTION_EXIT(somefunc() + 1); // FUNCTION_EXIT is a C macro
The macro will return from the function after doing some logging.
I am using ReturnStmt::getRetValue() that returns an Expr and tried to get it in string form (so that it can be passed to the macro), but I haven't found a way yet. Is there a way to stringify Expr?