我想獲取傳遞給函數的參數。例如,如果我有電話使用Clang打印參數的函數AST
printf(「%d%d」,i,j);
輸出應該是
%d%d
我
Ĵ
我能夠得到函數調用使用VisitCallExpr()在RecursiveASTVisitor。也能夠獲得參數的數量和參數類型。但我不知道如何得到論據。
bool MyRecursiveASTVisitor::VisitCallExpr (clang::CallExpr *E)
{
for(int i=0, j=E->getNumArgs(); i<j; i++)
{
llvm::errs() << "argType: " << E->getArg(i)->getType().getAsString() << "\n";
}
return true;
}
輸出:
argType:字符*
argType:整數
argType:整數
請幫我得到的參數。
嗨馬丁斯,你的答案是非常有益的馬丁斯。我不知道printPretty(...)函數。現在,我可以打印參數。謝謝。 – 2012-03-09 18:39:54