NoQ added a comment. Shared accessors look amazing.
If i understood correctly, you're splitting up the part which performs boring bookkeeping for the state trait from the part which models `strlen()` and other various functions. Such separation also looks amazing because ultimately the first part can be made checker-inspecific (i.e., a reusable half-baked trait that can be instantiated multiple times to track various things regardless of their meaning). I don't think i understand having `unix.cstring.CStringChecker` as one more entry in `Checkers.td`. Do you expect there to be a situation when enabling `CStringModeling` without `CStringChecker` actually makes sense? If not, why not keep them agglutinated? That doesn't anyhow contradict the above purpose of having boring bookkeeping separate from actual API modeling. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D84316/new/ https://reviews.llvm.org/D84316 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits