diff options
author | Benjamin Kramer <benny.kra@googlemail.com> | 2011-10-28 13:21:18 +0000 |
---|---|---|
committer | Benjamin Kramer <benny.kra@googlemail.com> | 2011-10-28 13:21:18 +0000 |
commit | aa9807a85959ffbdc5d9f649d7b24b9b2056d2cd (patch) | |
tree | 16ddee05af87641485649e067fdb9f6990ef6722 /lib/Sema/SemaPseudoObject.cpp | |
parent | 9c273ff0f57053e84edb82bb33571cb43b2041ac (diff) |
Reflow code. No intended functionality change.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@143192 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Sema/SemaPseudoObject.cpp')
-rw-r--r-- | lib/Sema/SemaPseudoObject.cpp | 31 |
1 files changed, 14 insertions, 17 deletions
diff --git a/lib/Sema/SemaPseudoObject.cpp b/lib/Sema/SemaPseudoObject.cpp index 92171c5f07..97fbe48aa2 100644 --- a/lib/Sema/SemaPseudoObject.cpp +++ b/lib/Sema/SemaPseudoObject.cpp @@ -40,26 +40,23 @@ using namespace sema; static ObjCMethodDecl *LookupMethodInReceiverType(Sema &S, Selector sel, const ObjCPropertyRefExpr *PRE) { - bool instanceProperty; - QualType searchType; if (PRE->isObjectReceiver()) { - searchType = PRE->getBase()->getType() - ->castAs<ObjCObjectPointerType>()->getPointeeType(); - instanceProperty = true; - } else if (PRE->isSuperReceiver()) { - searchType = PRE->getSuperReceiverType(); - instanceProperty = false; - if (const ObjCObjectPointerType *PT - = searchType->getAs<ObjCObjectPointerType>()) { - searchType = PT->getPointeeType(); - instanceProperty = true; - } - } else if (PRE->isClassReceiver()) { - searchType = S.Context.getObjCInterfaceType(PRE->getClassReceiver()); - instanceProperty = false; + const ObjCObjectPointerType *PT = + PRE->getBase()->getType()->castAs<ObjCObjectPointerType>(); + return S.LookupMethodInObjectType(sel, PT->getPointeeType(), true); + } + + if (PRE->isSuperReceiver()) { + if (const ObjCObjectPointerType *PT = + PRE->getSuperReceiverType()->getAs<ObjCObjectPointerType>()) + return S.LookupMethodInObjectType(sel, PT->getPointeeType(), true); + + return S.LookupMethodInObjectType(sel, PRE->getSuperReceiverType(), false); } - return S.LookupMethodInObjectType(sel, searchType, instanceProperty); + assert(PRE->isClassReceiver() && "Invalid expression"); + QualType IT = S.Context.getObjCInterfaceType(PRE->getClassReceiver()); + return S.LookupMethodInObjectType(sel, IT, false); } ExprResult Sema::checkPseudoObjectRValue(Expr *E) { |