diff options
Diffstat (limited to 'lib/Frontend/RewriteObjC.cpp')
-rw-r--r-- | lib/Frontend/RewriteObjC.cpp | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/lib/Frontend/RewriteObjC.cpp b/lib/Frontend/RewriteObjC.cpp index cf31f2b2de..1bc7451a17 100644 --- a/lib/Frontend/RewriteObjC.cpp +++ b/lib/Frontend/RewriteObjC.cpp @@ -2163,9 +2163,10 @@ ObjCInterfaceDecl *RewriteObjC::isSuperReceiver(Expr *recExpr) { if (!CurMethodDef || !CurMethodDef->isInstanceMethod()) return 0; if (ObjCSuperExpr *Super = dyn_cast<ObjCSuperExpr>(recExpr)) { - const PointerType *PT = Super->getType()->getAsPointerType(); - assert(PT); - ObjCInterfaceType *IT = cast<ObjCInterfaceType>(PT->getPointeeType()); + const ObjCObjectPointerType *OPT = + Super->getType()->getAsObjCObjectPointerType(); + assert(OPT); + const ObjCInterfaceType *IT = OPT->getInterfaceType(); return IT->getDecl(); } return 0; |