[cfe-dev] Running ASTMatcher over main file only

Manuel Klimek klimek at google.com
Sun Oct 13 15:21:50 PDT 2013


On Sat, Oct 12, 2013 at 10:47 AM, James Dennett <james.dennett at gmail.com>wrote:

> On Fri, Oct 11, 2013 at 8:50 AM, Kirk Fertitta
> <kirk at pacificmindworks.com> wrote:
> > Is there a way to run a matcher directly on just the main source file
> only,
> > as opposed to all of the includes? I know I can discriminate in my
> callback,
> > but didn’t know if the “penalty” for traversing so much code was
> negligible
> > or somehow avoidable.
> >
> > Any advice is much appreciated.
>
> You don't have to traverse it all.  You can implement your own
> TraverseDecl that (roughly) checks which file a Decl is in, returning
> true early if it's not in a file of interest and calling the default
> RecursiveASTVisitor::TraverseDecl otherwise.
>

While possible, I'd advise against doing your own AST traversal - it is
quite an undertaking, and very easy to get wrong.


>
> -- James
>
> _______________________________________________
> cfe-dev mailing list
> cfe-dev at cs.uiuc.edu
> http://lists.cs.uiuc.edu/mailman/listinfo/cfe-dev
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-dev/attachments/20131013/93ef3b26/attachment.html>


More information about the cfe-dev mailing list