我希望获取传递给函数的参数。例如,如果我有以下调用:
printf("%d%d", i, j);
输出应该是:
%d%d
i
j
我能够使用RecursiveASTVisitor中的VisitCallExpr()访问函数调用。我还能获取参数的数量和类型,但我不知道如何获取这些参数。
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: char *
argType: int
argType: int
请帮我获取参数。