diff options
author | Ted Kremenek <kremenek@apple.com> | 2007-08-21 20:29:50 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2007-08-21 20:29:50 +0000 |
commit | 4ce854736dd196e2304f554ebeac8b43c89cf9e2 (patch) | |
tree | 542a5945f5c15c32105b28142a87e5b724a37a42 | |
parent | fa2b9c9103393680889fe09924a3456657b23d46 (diff) |
Added reverse iterators for the body of CompountStmt. These are useful for
CFG construction (among other potential uses).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41248 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | include/clang/AST/Stmt.h | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/include/clang/AST/Stmt.h b/include/clang/AST/Stmt.h index c2d46ab781..7eefd7fc56 100644 --- a/include/clang/AST/Stmt.h +++ b/include/clang/AST/Stmt.h @@ -122,7 +122,16 @@ public: const_body_iterator body_begin() const { return Body.begin(); } const_body_iterator body_end() const { return Body.end(); } const Stmt *body_back() const { return Body.back(); } - + + typedef llvm::SmallVector<Stmt*, 16>::reverse_iterator reverse_body_iterator; + reverse_body_iterator body_rbegin() { return Body.rbegin(); } + reverse_body_iterator body_rend() { return Body.rend(); } + + typedef llvm::SmallVector<Stmt*, 16>::const_reverse_iterator + const_reverse_body_iterator; + const_reverse_body_iterator body_rbegin() const { return Body.rbegin(); } + const_reverse_body_iterator body_rend() const { return Body.rend(); } + void push_back(Stmt *S) { Body.push_back(S); } static bool classof(const Stmt *T) { |