我正在使用 Clang/libtooling(ASTComsumer
带有 Matcher)来访问所有return
语句(ReturnStmt
)。我需要以return
字符串形式提取关键字之后的表达式,以便可以将其放入要替换return
语句的宏中。
例如,我想替换以下行:
return somefunc() + 1;
和
FUNCTION_EXIT(somefunc() + 1); // FUNCTION_EXIT is a C macro
return
在进行一些记录后,宏将从函数中提取。
我正在使用ReturnStmt::getRetValue()
它返回一个Expr
并尝试以字符串形式获取它(以便可以将其传递给宏),但我还没有找到方法。有没有办法字符串化Expr
?