function calls

Hi all,
I am trying to find the function calls from the .c or .cpp input file. I used ASTConsumer and VisitStmt for AST traversal.

class CGASTActionConsumer:public ASTConsumer{
virtual bool HandleTopLevelDecl(DeclGroupRef DG)
{
//find each FunctionDecl;
}
};

class Builder:public StmtVisitor
{
//visit CallExpr
};

I am able to find the simple function calls but the function calls from switch case, while loop etc is not getting . what can i do to get the function calls from switch statement ,while statement etc.

thanks
akshay

I'd use the RecursiveASTVisitor for that.

Cheers,
/Manuel

Hi,
There are 2 virtual function VisitFunctionDecl and VisitCallExpr.
If you overload VisitFunctionDecl, you well get all function declaration as well as function
prototypes ( as FunctionDecl object holds both defination as well as prototype)

Whereas , VisitCallExpr is to get all function calls from the source file ( input file)

I think , this will help you

Suhas Limaye.
Pune.