Add a new expression class, ObjCSuperExpr, to handle the Objective-C 'super'. Remove ObjCThis from PredefinedExpr

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@58698 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp
index d2aa398..35d7cc8 100644
--- a/Driver/RewriteObjC.cpp
+++ b/Driver/RewriteObjC.cpp
@@ -1899,9 +1899,8 @@
   // check if we are sending a message to 'super'
   if (!CurMethodDef || !CurMethodDef->isInstance()) return 0;
   
-  if (PredefinedExpr *PDE = dyn_cast<PredefinedExpr>(recExpr))
-    if (PDE->getIdentType() == PredefinedExpr::ObjCSuper) {
-      const PointerType *PT = PDE->getType()->getAsPointerType();
+  if (ObjCSuperExpr *Super = dyn_cast<ObjCSuperExpr>(recExpr)) {
+      const PointerType *PT = Super->getType()->getAsPointerType();
       assert(PT);
       ObjCInterfaceType *IT = cast<ObjCInterfaceType>(PT->getPointeeType());
       return IT->getDecl();