summaryrefslogtreecommitdiffstats
path: root/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
diff options
context:
space:
mode:
authorJordy Rose <jediknil@belkadan.com>2011-08-28 19:11:56 +0000
committerJordy Rose <jediknil@belkadan.com>2011-08-28 19:11:56 +0000
commit58a20d31b728b0e4ca7e03b77cc6e62c0c4cebe5 (patch)
treebc0816069483bf597b249117c85ed3352a03fc6b /clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
parentb1e3e0e59eddcb97c7ee0c2cfd615c8bb18b854a (diff)
downloadbcm5719-llvm-58a20d31b728b0e4ca7e03b77cc6e62c0c4cebe5.tar.gz
bcm5719-llvm-58a20d31b728b0e4ca7e03b77cc6e62c0c4cebe5.zip
[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. llvm-svn: 138728
Diffstat (limited to 'clang/lib/StaticAnalyzer/Core/ExprEngine.cpp')
-rw-r--r--clang/lib/StaticAnalyzer/Core/ExprEngine.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
index 1a32d43d4d5..9dd28845786 100644
--- a/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
+++ b/clang/lib/StaticAnalyzer/Core/ExprEngine.cpp
@@ -67,7 +67,6 @@ ExprEngine::ExprEngine(AnalysisManager &mgr, TransferFuncs *tf)
// FIXME: Eventually remove the TF object entirely.
TF->RegisterChecks(*this);
- TF->RegisterPrinters(getStateManager().Printers);
if (mgr.shouldEagerlyTrimExplodedGraph()) {
// Enable eager node reclaimation when constructing the ExplodedGraph.
@@ -189,6 +188,11 @@ ExprEngine::processRegionChanges(const ProgramState *state,
Explicits, Regions);
}
+void ExprEngine::printState(raw_ostream &Out, const ProgramState *State,
+ const char *NL, const char *Sep) {
+ getCheckerManager().runCheckersForPrintState(Out, State, NL, Sep);
+}
+
void ExprEngine::processEndWorklist(bool hasWorkRemaining) {
getCheckerManager().runCheckersForEndAnalysis(G, BR, *this);
}
OpenPOWER on IntegriCloud