]> granicus.if.org Git - clang/commitdiff
Minor refactoring. Uses an existing API to lookup a class method.
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 21 May 2009 01:03:45 +0000 (01:03 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 21 May 2009 01:03:45 +0000 (01:03 +0000)
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@72203 91177308-0d34-0410-b5e6-96231b3b80d8

lib/CodeGen/CGObjCMac.cpp

index 56ec99d7c7d62134dfbde2878a788a8f896de31c..8f1404da65dd229577a90094598bff8a89408d67 100644 (file)
@@ -1277,7 +1277,7 @@ private:
 
   /// 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 @@ llvm::GlobalVariable * CGObjCNonFragileABIMac::BuildClassMetaData(
 }
 
 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,