/// 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; }
// 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