diff options
Diffstat (limited to 'lib/AST/DeclObjC.cpp')
| -rw-r--r-- | lib/AST/DeclObjC.cpp | 31 | 
1 files changed, 17 insertions, 14 deletions
| diff --git a/lib/AST/DeclObjC.cpp b/lib/AST/DeclObjC.cpp index ed5367514c30..a63ba7e698a8 100644 --- a/lib/AST/DeclObjC.cpp +++ b/lib/AST/DeclObjC.cpp @@ -54,8 +54,8 @@ void ObjCContainerDecl::anchor() { }  ///  ObjCIvarDecl *  ObjCContainerDecl::getIvarDecl(IdentifierInfo *Id) const { -  lookup_const_result R = lookup(Id); -  for (lookup_const_iterator Ivar = R.begin(), IvarEnd = R.end(); +  lookup_result R = lookup(Id); +  for (lookup_iterator Ivar = R.begin(), IvarEnd = R.end();         Ivar != IvarEnd; ++Ivar) {      if (ObjCIvarDecl *ivar = dyn_cast<ObjCIvarDecl>(*Ivar))        return ivar; @@ -83,8 +83,8 @@ ObjCContainerDecl::getMethod(Selector Sel, bool isInstance,    // + (float) class_method;    // @end    // -  lookup_const_result R = lookup(Sel); -  for (lookup_const_iterator Meth = R.begin(), MethEnd = R.end(); +  lookup_result R = lookup(Sel); +  for (lookup_iterator Meth = R.begin(), MethEnd = R.end();         Meth != MethEnd; ++Meth) {      ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(*Meth);      if (MD && MD->isInstanceMethod() == isInstance) @@ -101,8 +101,8 @@ ObjCContainerDecl::getMethod(Selector Sel, bool isInstance,  bool ObjCContainerDecl::HasUserDeclaredSetterMethod(      const ObjCPropertyDecl *Property) const {    Selector Sel = Property->getSetterName(); -  lookup_const_result R = lookup(Sel); -  for (lookup_const_iterator Meth = R.begin(), MethEnd = R.end(); +  lookup_result R = lookup(Sel); +  for (lookup_iterator Meth = R.begin(), MethEnd = R.end();         Meth != MethEnd; ++Meth) {      ObjCMethodDecl *MD = dyn_cast<ObjCMethodDecl>(*Meth);      if (MD && MD->isInstanceMethod() && !MD->isImplicit()) @@ -161,8 +161,8 @@ ObjCPropertyDecl::findPropertyDecl(const DeclContext *DC,          return nullptr;    } -  DeclContext::lookup_const_result R = DC->lookup(propertyID); -  for (DeclContext::lookup_const_iterator I = R.begin(), E = R.end(); I != E; +  DeclContext::lookup_result R = DC->lookup(propertyID); +  for (DeclContext::lookup_iterator I = R.begin(), E = R.end(); I != E;         ++I)      if (ObjCPropertyDecl *PD = dyn_cast<ObjCPropertyDecl>(*I))        return PD; @@ -334,9 +334,8 @@ void ObjCInterfaceDecl::mergeClassExtensionProtocolList(      return;    // Merge ProtocolRefs into class's protocol list; -  for (auto *P : all_referenced_protocols()) { -    ProtocolRefs.push_back(P); -  } +  ProtocolRefs.append(all_referenced_protocol_begin(), +                      all_referenced_protocol_end());    data().AllReferencedProtocols.set(ProtocolRefs.data(), ProtocolRefs.size(),C);  } @@ -617,8 +616,7 @@ ObjCMethodDecl *ObjCInterfaceDecl::lookupPrivateMethod(    // Look through local category implementations associated with the class.    if (!Method) -    Method = Instance ? getCategoryInstanceMethod(Sel) -                      : getCategoryClassMethod(Sel); +    Method = getCategoryMethod(Sel, Instance);    // Before we give up, check if the selector is an instance method.    // But only in the root. This matches gcc's behavior and what the @@ -1101,7 +1099,7 @@ ObjCMethodDecl::findPropertyDecl(bool CheckOverrides) const {    if (NumArgs > 1)      return nullptr; -  if (!isInstanceMethod() || getMethodFamily() != OMF_None) +  if (!isInstanceMethod())      return nullptr;    if (isPropertyAccessor()) { @@ -1822,6 +1820,11 @@ void ObjCImplementationDecl::setIvarInitializers(ASTContext &C,    }  } +ObjCImplementationDecl::init_const_iterator +ObjCImplementationDecl::init_begin() const { +  return IvarInitializers.get(getASTContext().getExternalSource()); +} +  raw_ostream &clang::operator<<(raw_ostream &OS,                                 const ObjCImplementationDecl &ID) {    OS << ID.getName(); | 
