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