usx95 wrote: > If everything works out well, every time we call Visit on an expression, > there should be a guarantee we already visited all the subexpressions of it
Yes this is the ideal scenario. But we visit the statements given by the CFG and this can, more often than not, skip many sub expressions. I don't have a great solution. An alternate could be to use a Recursive AST visitor (RAV) along that drives our FactGenerator stmt visitor. The RAV would still need to maintain a `Visited` set but `FactGenerator` visitor can now assume that all subexpressions have been visited without needing for each Visit* Method in FactGenerator to explicitly revisit subexpressions. WDYT about this alternative of using a RAV driver ? https://github.com/llvm/llvm-project/pull/153661 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits