diff options
author | Jordy Rose <jediknil@belkadan.com> | 2011-08-28 19:11:56 +0000 |
---|---|---|
committer | Jordy Rose <jediknil@belkadan.com> | 2011-08-28 19:11:56 +0000 |
commit | dbd658e139b3e0bf084f75feaea8d844af9e319f (patch) | |
tree | b16a9239734bb69c9cbdb8010d4dc42032d2f08f /include/clang/StaticAnalyzer/Core/CheckerManager.h | |
parent | e2c8663ad2b110712401145b866072bb94108058 (diff) |
[analyzer] Introduce a new callback for checkers, printState, to be used for debug-printing the contents of a ProgramState.
Unlike the other callbacks, this one is a simple virtual method, since it is only to be used for debugging.
This new callback replaces the old ProgramState::Printer interface, and allows us to move the printing of refcount bindings from CFRefCount to RetainReleaseChecker.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@138728 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'include/clang/StaticAnalyzer/Core/CheckerManager.h')
-rw-r--r-- | include/clang/StaticAnalyzer/Core/CheckerManager.h | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/include/clang/StaticAnalyzer/Core/CheckerManager.h b/include/clang/StaticAnalyzer/Core/CheckerManager.h index fdc6055bb4..db94b81d65 100644 --- a/include/clang/StaticAnalyzer/Core/CheckerManager.h +++ b/include/clang/StaticAnalyzer/Core/CheckerManager.h @@ -267,6 +267,17 @@ public: AnalysisManager &mgr, BugReporter &BR); + /// \brief Run checkers for debug-printing a ProgramState. + /// + /// Unlike most other callbacks, any checker can simply implement the virtual + /// method CheckerBase::printState if it has custom data to print. + /// \param Out The output stream + /// \param State The state being printed + /// \param NL The preferred representation of a newline. + /// \param Sep The preferred separator between different kinds of data. + void runCheckersForPrintState(raw_ostream &Out, const ProgramState *State, + const char *NL, const char *Sep); + //===----------------------------------------------------------------------===// // Internal registration functions for AST traversing. //===----------------------------------------------------------------------===// |