aboutsummaryrefslogtreecommitdiff
path: root/lib/Sema/SemaPseudoObject.cpp
diff options
context:
space:
mode:
authorBenjamin Kramer <benny.kra@googlemail.com>2011-10-28 13:21:18 +0000
committerBenjamin Kramer <benny.kra@googlemail.com>2011-10-28 13:21:18 +0000
commitaa9807a85959ffbdc5d9f649d7b24b9b2056d2cd (patch)
tree16ddee05af87641485649e067fdb9f6990ef6722 /lib/Sema/SemaPseudoObject.cpp
parent9c273ff0f57053e84edb82bb33571cb43b2041ac (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.cpp31
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) {