https://github.com/steakhal created https://github.com/llvm/llvm-project/pull/84160
Fixes #73764 With this patch, now all the callbacks are demonstrated here. >From a3da80aa7114d938e9cc3f03ec79417777c91fbf Mon Sep 17 00:00:00 2001 From: Balazs Benics <benicsbal...@gmail.com> Date: Wed, 6 Mar 2024 13:05:44 +0100 Subject: [PATCH] [analyzer][NFC] Document check::ASTCodeBody checker callback Fixes #73764 With this patch, now all the callbacks are demonstrated here. --- .../Checkers/CheckerDocumentation.cpp | 58 +++++++++++-------- 1 file changed, 34 insertions(+), 24 deletions(-) diff --git a/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp b/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp index 01e0bed54cc6ed..ba66a2254cc777 100644 --- a/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp +++ b/clang/lib/StaticAnalyzer/Checkers/CheckerDocumentation.cpp @@ -33,30 +33,33 @@ namespace ento { /// checking. /// /// \sa CheckerContext -class CheckerDocumentation : public Checker< check::PreStmt<ReturnStmt>, - check::PostStmt<DeclStmt>, - check::PreObjCMessage, - check::PostObjCMessage, - check::ObjCMessageNil, - check::PreCall, - check::PostCall, - check::BranchCondition, - check::NewAllocator, - check::Location, - check::Bind, - check::DeadSymbols, - check::BeginFunction, - check::EndFunction, - check::EndAnalysis, - check::EndOfTranslationUnit, - eval::Call, - eval::Assume, - check::LiveSymbols, - check::RegionChanges, - check::PointerEscape, - check::ConstPointerEscape, - check::Event<ImplicitNullDerefEvent>, - check::ASTDecl<FunctionDecl> > { +class CheckerDocumentation : public Checker< // + check::ASTCodeBody, // + check::ASTDecl<FunctionDecl>, // + check::BeginFunction, // + check::Bind, // + check::BranchCondition, // + check::ConstPointerEscape, // + check::DeadSymbols, // + check::EndAnalysis, // + check::EndFunction, // + check::EndOfTranslationUnit, // + check::Event<ImplicitNullDerefEvent>, // + check::LiveSymbols, // + check::Location, // + check::NewAllocator, // + check::ObjCMessageNil, // + check::PointerEscape, // + check::PostCall, // + check::PostObjCMessage, // + check::PostStmt<DeclStmt>, // + check::PreCall, // + check::PreObjCMessage, // + check::PreStmt<ReturnStmt>, // + check::RegionChanges, // + eval::Assume, // + eval::Call // + > { public: /// Pre-visit the Statement. /// @@ -321,6 +324,13 @@ class CheckerDocumentation : public Checker< check::PreStmt<ReturnStmt>, void checkASTDecl(const FunctionDecl *D, AnalysisManager &Mgr, BugReporter &BR) const {} + + /// Check every declaration that has a statement body in the AST. + /// + /// As AST traversal callback, which should only be used when the checker is + /// not path sensitive. It will be called for every Declaration in the AST. + void checkASTCodeBody(const Decl *D, AnalysisManager &Mgr, + BugReporter &BR) const {} }; void CheckerDocumentation::checkPostStmt(const DeclStmt *DS, _______________________________________________ cfe-commits mailing list cfe-commits@lists.llvm.org https://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits