[cfe-dev] getting all function calls?

Joshua Cranmer Pidgeot18 at gmail.com
Thu Jun 9 11:56:09 PDT 2011


On 6/9/2011 11:40 AM, ret val wrote:
> That part I follow. For declarations all Adrien had todo was:
>
> virtual void HandleTranslationUnit(ASTContext &context) {
>             TranslationUnitDecl* tu_decl = 
> context.getTranslationUnitDecl();
>             TraverseDecl(tu_decl);
> }
>
> I would need something like this, but I don't know what I can pull 
> from the context that will be useful. Basically I don't know what the 
> commented out line should look like.
>
> virtual void HandleTranslationUnit(ASTContext &context) {
>             //Stmt *s = context????
>             TraverseStmt(s);
> }

No, what Adrien has is sufficient to traverse statements as well. 
TraverseDecl(tu_decl) will traverse the entire AST, which includes 
statements and expressions. That's why you have the RecursiveASTVisitor: 
it figures out how to visit all of the subchildren for you so you just 
have to worry about implementing VisitStmt and figuring out what to do 
on all of the statements in the file.

-- 
Joshua Cranmer
News submodule owner
DXR coauthor





More information about the cfe-dev mailing list