]> granicus.if.org Git - clang/commitdiff
Refactor dump methods to make RegionBindingsRef printable in the debugger.
authorTed Kremenek <kremenek@apple.com>
Fri, 14 Dec 2012 01:23:13 +0000 (01:23 +0000)
committerTed Kremenek <kremenek@apple.com>
Fri, 14 Dec 2012 01:23:13 +0000 (01:23 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@170170 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Core/RegionStore.cpp

index 77e9453ba8d0f198d5aaeb983a6d547938526134..32eb56ca7350dc13d9635c60edba4a972d1f3309 100644 (file)
@@ -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);
 }