Я хочу получить аргументы, переданные функции. например, если у меня есть звонокПечать аргументов функции с использованием Clang AST
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;
}
Выход:
типа аргумент: символ *
типа аргумент: INT
типа аргумента: Int
Пожалуйста, помогите мне получить аргументы.
Привет стрижей, ваш ответ был очень полезным стрижи. Я не знал о функции printPretty (...). Теперь я могу напечатать аргументы. Спасибо. –