]> granicus.if.org Git - clang/commitdiff
Added reverse iterators for the body of CompountStmt. These are useful for
authorTed Kremenek <kremenek@apple.com>
Tue, 21 Aug 2007 20:29:50 +0000 (20:29 +0000)
committerTed Kremenek <kremenek@apple.com>
Tue, 21 Aug 2007 20:29:50 +0000 (20:29 +0000)
CFG construction (among other potential uses).

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@41248 91177308-0d34-0410-b5e6-96231b3b80d8

include/clang/AST/Stmt.h

index c2d46ab7816ffd2bcb7473b7d27cf1557e2ef59a..7eefd7fc566a5ac8dc2117408126e70d5b995a71 100644 (file)
@@ -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) {