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