NoQ added inline comments.

================
Comment at: clang/lib/Analysis/UnsafeBufferUsage.cpp:54-55
+  bool TraverseDecl(Decl *Node) {
+    if (!Node)
+      return true;
+    if (!match(*Node))
----------------
ziqingluo-90 wrote:
> steakhal wrote:
> > Can `Node` be ever null if the visitor is initiated only be `AST_MATCHER_P`?
> Honestly I do not know the exact answer to your question.  I was imagining 
> that an AST node could have a null to be one of its children.
> 
> Our plan later is to make this matcher a general alternative to 
> `forEachDescendant`, so I think the check for null here is not over-defensive.
There can definitely be null children in the AST. Eg. `for(;;) {}` has null 
initializer, null condition, null increment, non-null body. I guess this is 
more about whether `RecursiveASTVisitor` checks for that automatically before 
invoking callbacks.


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D138329/new/

https://reviews.llvm.org/D138329

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

Reply via email to