aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-10-30 17:45:53 +0000
committerTed Kremenek <kremenek@apple.com>2008-10-30 17:45:53 +0000
commit7fcfa4a9b5054bc2a3bc65093f9d2e9e67a70838 (patch)
treefc2432d2fa2f4f056704d6125eeaf80181175c47
parent632e8b84976f683b365eddfacd04ea5d6f4d8cdf (diff)
Add iterator/reverse_iterator to InitListExpr for iteration over the subexpressions of an initializer list. This is basically the same as child_iterator except reverse iteration is possible (which will be used by GRExprEngine::VisitInitListExpr).
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58438 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r--include/clang/AST/Expr.h9
1 files changed, 9 insertions, 0 deletions
diff --git a/include/clang/AST/Expr.h b/include/clang/AST/Expr.h
index ad8aab7c2a..232f00c623 100644
--- a/include/clang/AST/Expr.h
+++ b/include/clang/AST/Expr.h
@@ -1476,6 +1476,15 @@ public:
virtual child_iterator child_begin();
virtual child_iterator child_end();
+ typedef std::vector<Stmt *>::iterator iterator;
+ typedef std::vector<Stmt *>::reverse_iterator reverse_iterator;
+
+ iterator begin() { return InitExprs.begin(); }
+ iterator end() { return InitExprs.end(); }
+ reverse_iterator rbegin() { return InitExprs.rbegin(); }
+ reverse_iterator rend() { return InitExprs.rend(); }
+
+ // Serailization.
virtual void EmitImpl(llvm::Serializer& S) const;
static InitListExpr* CreateImpl(llvm::Deserializer& D, ASTContext& C);