NoQ added a comment. It's definitely a bug-prone scenario. I can totally see people stuffing whatever happens to be more readily available in the code into the API without thinking too much about the pros and cons. The difference between `CallExpr` and `CallEvent` is large in general but with respect to this API it's very subtle. I can easily imagine people missing it even when they know the difference between `CallExpr` and `CallEvent` in general. So I think it's worth attracting attention to.
Also technically a new overload *is* a new API. It just happens to have the same name as the old one. ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h:102-103 + /// Returns true if the CallEvent is a call to a function that matches + /// the CallDescription. + /// ---------------- ================ Comment at: clang/include/clang/StaticAnalyzer/Core/PathSensitive/CallDescription.h:182-183 + + /// ALWAYS prefer lookup with a CallEvent, when available. See comments above + /// CallDescription::matchesImprecise. + LLVM_NODISCARD const T *lookupImprecise(const CallExpr &Call) const { ---------------- In doxygen these comments will be below :) I think this should be a full comment so that people didn't have to click. Repository: rG LLVM Github Monorepo CHANGES SINCE LAST ACTION https://reviews.llvm.org/D119004/new/ https://reviews.llvm.org/D119004 _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits