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
[email protected]
http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits