================
Comment at: include/clang/ASTMatchers/ASTMatchersInternal.h:461
@@ +460,3 @@
+                            llvm::is_base_of<Stmt, T>::value),
+                           only_Decl_or_Stmt_allowed_for_recursive_matching);
+    return matchesAncestorOf(ast_type_traits::DynTypedNode::create(Node),
----------------
Daniel Jasper wrote:
> Michael Diamond wrote:
> > Manuel Klimek wrote:
> > > Daniel Jasper wrote:
> > > > Unlike descendants, all node types should have ancestors. Is it 
> > > > intentional to not allow this for QualTypes or possibly other types? 
> > > > - If there is a good reason for it: Comment.
> > > > - If it would be significant additional work: Command + FIXME
> > > > - Otherwise: Implement ;-)
> > > Like with the other methods here, there are many more nodes for which we 
> > > want them implemented than are currently implemented.
> > > 
> > > You're right that for hasAncestor probably pretty much all nodes make 
> > > sense. Added a class-level comment that outlines the differences.
> > I really need this to work for QualTypes. Any chance of getting that in 
> > this CL? We don't have to update both ancestor and child matchers together 
> > necessarily.
> Could you quickly elaborate on what you are in need of matching? This is 
> actually not quite as easy (from a design perspective) and I think it should 
> be in a different patch. But maybe we can find a way around it :-).
If it has to hold of to another patch, alright, but I need it ASAP. :)

Basically, I am refactoring from using one class to using a parent of it. 
However, for references and pointers, I want to use an interface that is a 
parent of that class.

Example:
Interface
  |
Parent
  |
CurrentClass

I want "CurrentClass*" to become "Interface*", but "new CurrentClass" to become 
"new Parent".


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

Reply via email to