Chcę uzyskać argumenty przekazane do funkcji. na przykład, jeśli mam wywołanieDrukuj argumenty funkcji używając Clang AST
printf ("% d% d", i, j);
wyjście powinno być
% d% d
i
j
jestem w stanie dostać się do funkcji połączeń przy użyciu VisitCallExpr() w RecursiveASTVisitor. Również może uzyskać liczbę argumentów i typów argumentów. Ale nie wiem, jak zdobyć argumenty.
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;
}
wyjściowa:
argType: char *
argType: int
argType: int
Proszę mi pomóc coraz argumenty.
Hi Martins, odpowiedź była bardzo pomocna Martins. Nie wiedziałem o funkcji printPretty (...). Teraz jestem w stanie wydrukować argumenty. Dziękuję Ci. –