diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-10-30 18:01:28 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-10-30 18:01:28 +0000 |
commit | cbdce2e53a3a223a28784457cbfddfb82c8782f7 (patch) | |
tree | 69b1b850c982343f4ceba22c8c06beaccae9eaff /clang/lib/Analysis/SVals.cpp | |
parent | 0e19c033821873e076ea0c2a5807da018038e342 (diff) | |
download | bcm5719-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.cpp | 21 |
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; |