Sirraide wrote: Moreover, this functionality is already available for `Stmt`s in `(Dynamic)RecursiveASTVisitor` in the form of `dataTraverseStmtPre()`/`dataTraverseStmtPost()`. https://github.com/llvm/llvm-project/pull/136136