diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-10-30 17:45:53 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-10-30 17:45:53 +0000 |
commit | 7fcfa4a9b5054bc2a3bc65093f9d2e9e67a70838 (patch) | |
tree | fc2432d2fa2f4f056704d6125eeaf80181175c47 | |
parent | 632e8b84976f683b365eddfacd04ea5d6f4d8cdf (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.h | 9 |
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); |