Я хочу получить аргументы, переданные функции. например, если у меня вызов
printf("%d%d", i, j);
вывод должен быть
%d%d
i
j
Я могу вызывать функции с помощью 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: char *
argType: int
argType: int
Пожалуйста, помогите мне получить аргументы.