================
Comment at: lib/ASTMatchers/ASTMatchFinder.cpp:560
@@ +559,3 @@
+  // RecursiveASTVisitor by itself would only visit the TypeLocs, not the
+  // contained types.
+  match(TypeLocNode);
----------------
Daniel Jasper wrote:
> Manuel Klimek wrote:
> > The question is: why do we want to traverse the Types here?
> We do not traverse the Types. We only match them. So basically, whenever you 
> find a TypeLoc hierarchy in the AST, there is a corresponding Type hierarchy. 
> The RecursiveASTVisitor does not visit both, as the TypeLoc is sort of a 
> superset of the Type. However, when matching, we also want to match the 
> contained types, if we happen to have a type-matcher, no?
> 
> So, what we basically do is traverse the hierarchy once and try to match both 
> Types and TypeLocs.
Yes, sorry, I meant "the question is: why do we want to match the Types here".

So, here's a proposal for the comment:
"""
The RecursiveASTVisitor only visits types if they're not within TypeLocs. We 
still want to find those types via matchers, so we match them here. Note that 
the TypeLocs are structurally a shadow-hierarchy to the expressed type, so we 
visit all involved parts of a compound type when matching on each TypeLoc.
"""


http://llvm-reviews.chandlerc.com/D47
_______________________________________________
cfe-commits mailing list
[email protected]
http://lists.cs.uiuc.edu/mailman/listinfo/cfe-commits

Reply via email to