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文件)時,會出現問題。 –