diff options
author | Ted Kremenek <kremenek@apple.com> | 2008-05-02 18:40:22 +0000 |
---|---|---|
committer | Ted Kremenek <kremenek@apple.com> | 2008-05-02 18:40:22 +0000 |
commit | 92261971835f822e6bcee7baadf2c34b482dfe96 (patch) | |
tree | ea792f1a6ce6adcd36b73287b8c510e1cd76d35b | |
parent | 9f7416138b8befe2d274f6f2cadc792d2c279711 (diff) |
Fixed bug in ObjCIVarExpr: the child iterator now iterates over the Base expression.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@50585 91177308-0d34-0410-b5e6-96231b3b80d8
-rw-r--r-- | lib/AST/Expr.cpp | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index 479b651d1f..69dca5af55 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -1180,8 +1180,13 @@ Stmt::child_iterator DeclRefExpr::child_begin() { return child_iterator(); } Stmt::child_iterator DeclRefExpr::child_end() { return child_iterator(); } // ObjCIvarRefExpr -Stmt::child_iterator ObjCIvarRefExpr::child_begin() { return child_iterator(); } -Stmt::child_iterator ObjCIvarRefExpr::child_end() { return child_iterator(); } +Stmt::child_iterator ObjCIvarRefExpr::child_begin() { + return reinterpret_cast<Stmt**>(&Base); +} + +Stmt::child_iterator ObjCIvarRefExpr::child_end() { + return reinterpret_cast<Stmt**>(&Base)+1; +} // PreDefinedExpr Stmt::child_iterator PreDefinedExpr::child_begin() { return child_iterator(); } |