]> granicus.if.org Git - clang/commitdiff
[analyzer] Simplify GetReceiverType function in BasicObjCFoundationChecks.cpp; no...
authorArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 25 Jan 2011 00:03:45 +0000 (00:03 +0000)
committerArgyrios Kyrtzidis <akyrtzi@gmail.com>
Tue, 25 Jan 2011 00:03:45 +0000 (00:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@124157 91177308-0d34-0410-b5e6-96231b3b80d8

lib/StaticAnalyzer/Checkers/BasicObjCFoundationChecks.cpp

index b4e2959150f1ab536c36a871482288707926ee87..3910196265ba47690cdb5ebcfc422a70f062f746 100644 (file)
@@ -43,24 +43,8 @@ public:
 //===----------------------------------------------------------------------===//
 
 static const ObjCInterfaceType* GetReceiverType(const ObjCMessageExpr* ME) {
-  QualType T;
-  switch (ME->getReceiverKind()) {
-    case ObjCMessageExpr::Instance:
-      T = ME->getInstanceReceiver()->getType();
-      break;
-      
-    case ObjCMessageExpr::SuperInstance:
-      T = ME->getSuperType();
-      break;
-      
-    case ObjCMessageExpr::Class:
-    case ObjCMessageExpr::SuperClass:
-      return 0;
-  }
-  
-  if (const ObjCObjectPointerType *PT = T->getAs<ObjCObjectPointerType>())
-    return PT->getInterfaceType();
-  
+  if (ObjCInterfaceDecl *ID = ME->getReceiverInterface())
+    return ID->getTypeForDecl()->getAs<ObjCInterfaceType>();
   return NULL;
 }