0
我想打印在函数中传递的参数。但clang返回函数定义中使用的参数名称。这里是我的代码:Clang返回参数名称而不是参数
if (CallExpr *call = dyn_cast<CallExpr>(st))
{
LangOptions LangOpts;
LangOpts.CPlusPlus = true;
PrintingPolicy Policy(LangOpts);
for(int i=0, j=call->getNumArgs(); i<j; i++)
{
std::string TypeS;
raw_string_ostream raw(TypeS);
call->getArg(i)->printPretty(raw, 0, Policy);
errs() << raw.str() << "\n";
}
}
请告诉可能是什么问题。
对不起,回答晚了。我想获得iArgument和cArgument,即参数的名称。就这样。 [这](http://stackoverflow.com/questions/9607852/print-arguments-of-a-function-using-clang-ast)说使用'printPretty()'。 –
另外,当我使用简单的C++代码时,我可以获得参数的名称。但是当我开始使用另一个库的API(为此我指定了compile_commands.json文件)时,会出现问题。 –