aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTed Kremenek <kremenek@apple.com>2008-05-02 18:40:22 +0000
committerTed Kremenek <kremenek@apple.com>2008-05-02 18:40:22 +0000
commit92261971835f822e6bcee7baadf2c34b482dfe96 (patch)
treeea792f1a6ce6adcd36b73287b8c510e1cd76d35b
parent9f7416138b8befe2d274f6f2cadc792d2c279711 (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.cpp9
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(); }