diff options
-rw-r--r-- | include/clang/AST/ExprObjC.h | 7 | ||||
-rw-r--r-- | lib/AST/Expr.cpp | 4 |
2 files changed, 5 insertions, 6 deletions
diff --git a/include/clang/AST/ExprObjC.h b/include/clang/AST/ExprObjC.h index 03d904d6fd..9483833a6e 100644 --- a/include/clang/AST/ExprObjC.h +++ b/include/clang/AST/ExprObjC.h @@ -26,15 +26,14 @@ namespace clang { /// ObjCStringLiteral, used for Objective-C string literals /// i.e. @"foo". class ObjCStringLiteral : public Expr { - StringLiteral *String; + Stmt *String; SourceLocation AtLoc; public: ObjCStringLiteral(StringLiteral *SL, QualType T, SourceLocation L) : Expr(ObjCStringLiteralClass, T), String(SL), AtLoc(L) {} - StringLiteral* getString() { return String; } - - const StringLiteral* getString() const { return String; } + StringLiteral* getString() { return cast<StringLiteral>(String); } + const StringLiteral* getString() const { return cast<StringLiteral>(String); } SourceLocation getAtLoc() const { return AtLoc; } diff --git a/lib/AST/Expr.cpp b/lib/AST/Expr.cpp index e436a41b55..dec17493f4 100644 --- a/lib/AST/Expr.cpp +++ b/lib/AST/Expr.cpp @@ -1803,10 +1803,10 @@ Stmt::child_iterator ImplicitValueInitExpr::child_end() { // ObjCStringLiteral Stmt::child_iterator ObjCStringLiteral::child_begin() { - return child_iterator(); + return &String; } Stmt::child_iterator ObjCStringLiteral::child_end() { - return child_iterator(); + return &String+1; } // ObjCEncodeExpr |