mgrang added a comment.

In https://reviews.llvm.org/D50488#1224480, @martong wrote:

> From this little information I have hear are my thoughts:
>
> > match callExpr(allOf (callee(functionDecl(hasName("std::sort"))), 
> > hasArgument(0,            
> > hasDescendant(declRefExpr(to(fieldDecl(hasName("value_type"))))))))))
>
> I think this is a good direction, but keep in mind that `value_type` is a 
> typedef, thus you should use the `typedefNameDecl` matcher instead of the 
> `fieldDecl`.


Thanks @martong Yes, I tried another matcher with typedefNameDecl which also 
did not match:

  match callExpr(allOf (callee(functionDecl(hasName("std::sort"))), 
hasArgument(0, 
stmt(hasDescendant(expr(hasType(typedefType(hasDeclaration(typedefNameDecl(hasName("value_type")))))))))))



> (Also if I understand correctly then this is good that this matcher does not 
> match in case of the `intPointerArray` example, because the array does not 
> have any member at all ...)

How then do you think I should try matching the IntPointerArray example? I am 
now leaning towards not doing this via AST Matchers as I am not sure if I can 
easily match more complex cases.


Repository:
  rC Clang

https://reviews.llvm.org/D50488



_______________________________________________
cfe-commits mailing list
cfe-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits

Reply via email to