From 45bb8db372398315478a7e367d2c58864c4e5331 Mon Sep 17 00:00:00 2001 From: Ted Kremenek Date: Fri, 14 Dec 2012 01:23:13 +0000 Subject: [PATCH] Refactor dump methods to make RegionBindingsRef printable in the debugger. llvm-svn: 170170 --- clang/lib/StaticAnalyzer/Core/RegionStore.cpp | 25 ++++++++++++------- 1 file changed, 16 insertions(+), 9 deletions(-) diff --git a/clang/lib/StaticAnalyzer/Core/RegionStore.cpp b/clang/lib/StaticAnalyzer/Core/RegionStore.cpp index 77e9453ba8d0..32eb56ca7350 100644 --- a/clang/lib/StaticAnalyzer/Core/RegionStore.cpp +++ b/clang/lib/StaticAnalyzer/Core/RegionStore.cpp @@ -201,6 +201,21 @@ public: Store asStore() const { return asImmutableMap().getRootWithoutRetain(); } + + void dump(llvm::raw_ostream &OS, const char *nl) const { + for (iterator I = begin(), E = end(); I != E; ++I) { + const ClusterBindings &Cluster = I.getData(); + for (ClusterBindings::iterator CI = Cluster.begin(), CE = Cluster.end(); + CI != CE; ++CI) { + OS << ' ' << CI.getKey() << " : " << CI.getData() << nl; + } + OS << nl; + } + } + + LLVM_ATTRIBUTE_USED void dump() const { + dump(llvm::errs(), "\n"); + } }; } // end anonymous namespace @@ -2037,13 +2052,5 @@ void RegionStoreManager::print(Store store, raw_ostream &OS, OS << "Store (direct and default bindings), " << B.asStore() << " :" << nl; - - for (RegionBindingsRef::iterator I = B.begin(), E = B.end(); I != E; ++I) { - const ClusterBindings &Cluster = I.getData(); - for (ClusterBindings::iterator CI = Cluster.begin(), CE = Cluster.end(); - CI != CE; ++CI) { - OS << ' ' << CI.getKey() << " : " << CI.getData() << nl; - } - OS << nl; - } + B.dump(OS, nl); }