Quiero que los argumentos pasen a una función. por ejemplo, si tengo la llamadaImprimir argumentos de una función usando Clang AST
printf ("% d% d", i, j);
la salida debe ser
% d% d
i j
soy capaz de llegar a la función de llamadas usando VisitCallExpr() en RecursiveASTVisitor. También puede obtener la cantidad de argumentos y los tipos de argumentos. Pero no sé cómo obtener los argumentos.
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;
}
Salida:
argType: char *
argType: int
argType: int
Por favor, ayuda para conseguir los argumentos.
Martins Hola, su respuesta fue muy Martins votos. No sabía acerca de la función printPretty (...). Ahora, puedo imprimir los argumentos. Gracias. –