brunodf added a comment.

In D111639#3065241 <https://reviews.llvm.org/D111639#3065241>, @rnk wrote:

> There are some invariants about what family of APIs TreeTransform methods 
> should call, and I've forgotten what they are, so I'm hesitant to approve 
> this. Test case looks good, though.

I am only aware of this paragraph from 
https://clang.llvm.org/docs/InternalsManual.html :

> Semantic analysis should always involve two functions: an `ActOnXXX` function 
> that will be called directly from the parser, and a `BuildXXX` function that 
> performs the actual semantic analysis and will (eventually!) build the AST 
> node. It’s fairly common for the `ActOnCXX` function to do very little (often 
> just some minor translation from the parser’s representation to Sema’s 
> representation of the same thing), but the separation is still important: C++ 
> template instantiation, for example, should always call the `BuildXXX` 
> variant.

I noticed that e.g. `TreeTransform::RebuildBinaryOperator` is also calling 
`BuildBinOp`, in line with the above description that C++ template 
instantiation should call the `BuildXXX` functions


Repository:
  rG LLVM Github Monorepo

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

https://reviews.llvm.org/D111639

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

Reply via email to