Minor refactoring. Uses an existing API to lookup a class method.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72203 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/lib/CodeGen/CGObjCMac.cpp b/lib/CodeGen/CGObjCMac.cpp
index 56ec99d..8f1404d 100644
--- a/lib/CodeGen/CGObjCMac.cpp
+++ b/lib/CodeGen/CGObjCMac.cpp
@@ -1277,7 +1277,7 @@
/// ImplementationIsNonLazy - Check whether the given category or
/// class implementation is "non-lazy".
- bool ImplementationIsNonLazy(const DeclContext *DC) const;
+ bool ImplementationIsNonLazy(const ObjCImplDecl *OD) const;
public:
CGObjCNonFragileABIMac(CodeGen::CodeGenModule &cgm);
@@ -4328,16 +4328,8 @@
}
bool
-CGObjCNonFragileABIMac::ImplementationIsNonLazy(const DeclContext *DC) const {
- DeclContext::lookup_const_result res =
- DC->lookup(CGM.getContext(), GetNullarySelector("load"));
-
- for (; res.first != res.second; ++res.first)
- if (const ObjCMethodDecl *OMD = dyn_cast<ObjCMethodDecl>(*res.first))
- if (OMD->isClassMethod())
- return true;
-
- return false;
+CGObjCNonFragileABIMac::ImplementationIsNonLazy(const ObjCImplDecl *OD) const {
+ return OD->getClassMethod(CGM.getContext(), GetNullarySelector("load")) != 0;
}
void CGObjCNonFragileABIMac::GetClassSizeInfo(const ObjCImplementationDecl *OID,