sbenza added inline comments.

================
Comment at: include/clang/ASTMatchers/ASTMatchers.h:4821
@@ +4820,3 @@
+///   initializer for i.
+AST_MATCHER(Expr, nullPointerConstant) {
+  return Matcher<Expr>(
----------------
aaron.ballman wrote:
> aaron.ballman wrote:
> > sbenza wrote:
> > > sbenza wrote:
> > > > Use AST_MATCHER_FUNCTION instead, where the return value is the matcher 
> > > > (instead of the application of the matcher).
> > > > It is simpler to write and since it has no arguments it will memoize 
> > > > the matcher and construct it only once.
> > > Maybe use Expr::isNullPointerConstant?
> > Ah, interesting! I hadn't known about that macro. Thank you.
> Oh, hey, that's easier still! Would I still use AST_MATCHER_FUNCTION in that 
> case though, or should that remain a simple AST_MATCHER?
One or the other.
The _FUNCTION macro is for when the matcher itself is just a matcher 
expression. Saves typing and CPU.
Generating the temporary matchers on each match is expensive as they do memory 
allocation.
If you use Expr::isNullPointerConstant you won't be making any matchers.



http://reviews.llvm.org/D17034



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

Reply via email to