summaryrefslogtreecommitdiffstats
path: root/clang/lib/Analysis/SVals.cpp
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-10-30 18:01:28 +0000
committerTed Kremenek <kremenek@apple.com>2008-10-30 18:01:28 +0000
commitcbdce2e53a3a223a28784457cbfddfb82c8782f7 (patch)
tree69b1b850c982343f4ceba22c8c06beaccae9eaff /clang/lib/Analysis/SVals.cpp
parent0e19c033821873e076ea0c2a5807da018038e342 (diff)
downloadbcm5719-llvm-cbdce2e53a3a223a28784457cbfddfb82c8782f7.tar.gz
bcm5719-llvm-cbdce2e53a3a223a28784457cbfddfb82c8782f7.zip
Added iterators to nonloc::CompoundSVal.
Added pretty-printing for nonloc::CompoundSVal. llvm-svn: 58442
Diffstat (limited to 'clang/lib/Analysis/SVals.cpp')
-rw-r--r--clang/lib/Analysis/SVals.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/clang/lib/Analysis/SVals.cpp b/clang/lib/Analysis/SVals.cpp
index 1fb5875693a..bba0bde12ab 100644
--- a/clang/lib/Analysis/SVals.cpp
+++ b/clang/lib/Analysis/SVals.cpp
@@ -55,6 +55,18 @@ SVal::symbol_iterator SVal::symbol_end() const {
}
//===----------------------------------------------------------------------===//
+// Other Iterators.
+//===----------------------------------------------------------------------===//
+
+nonloc::CompoundVal::iterator nonloc::CompoundVal::begin() const {
+ return getValue()->begin();
+}
+
+nonloc::CompoundVal::iterator nonloc::CompoundVal::end() const {
+ return getValue()->end();
+}
+
+//===----------------------------------------------------------------------===//
// Useful predicates.
//===----------------------------------------------------------------------===//
@@ -484,6 +496,15 @@ void NonLoc::print(llvm::raw_ostream& Out) const {
break;
}
+ case nonloc::CompoundValKind: {
+ const nonloc::CompoundVal& C = *cast<nonloc::CompoundVal>(this);
+ Out << " { ";
+ for (nonloc::CompoundVal::iterator I=C.begin(), E=C.end(); I!=E; ++I)
+ (*I).print(Out);
+ Out << " }";
+ break;
+ }
+
default:
assert (false && "Pretty-printed not implemented for this NonLoc.");
break;
OpenPOWER on IntegriCloud