Lines Matching refs:IDecl

507   explicit ObjCInterfaceValidatorCCC(ObjCInterfaceDecl *IDecl)  in ObjCInterfaceValidatorCCC()  argument
508 : CurrentIDecl(IDecl) {} in ObjCInterfaceValidatorCCC()
544 ObjCInterfaceDecl *IDecl, in ActOnSuperClassOfClassInterface() argument
558 ObjCInterfaceValidatorCCC CCC(IDecl); in ActOnSuperClassOfClassInterface()
568 if (declaresSameEntity(PrevDecl, IDecl)) { in ActOnSuperClassOfClassInterface()
571 IDecl->setEndOfDefinitionLoc(ClassLoc); in ActOnSuperClassOfClassInterface()
590 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) { in ActOnSuperClassOfClassInterface() local
591 SuperClassDecl = dyn_cast<ObjCInterfaceDecl>(IDecl); in ActOnSuperClassOfClassInterface()
661 IDecl->setSuperClass(SuperClassTInfo); in ActOnSuperClassOfClassInterface()
662 IDecl->setEndOfDefinitionLoc(SuperClassTInfo->getTypeLoc().getEndLoc()); in ActOnSuperClassOfClassInterface()
1054 ObjCInterfaceDecl *IDecl in ActOnStartClassInterface() local
1062 SkipBody->New = IDecl; in ActOnStartClassInterface()
1068 IDecl->setInvalidDecl(); in ActOnStartClassInterface()
1073 ProcessDeclAttributeList(TUScope, IDecl, AttrList); in ActOnStartClassInterface()
1074 AddPragmaAttributes(TUScope, IDecl); in ActOnStartClassInterface()
1078 mergeDeclAttributes(IDecl, PrevIDecl); in ActOnStartClassInterface()
1080 PushOnScopeChains(IDecl, TUScope); in ActOnStartClassInterface()
1085 IDecl->startDuplicateDefinitionForComparison(); in ActOnStartClassInterface()
1086 else if (!IDecl->hasDefinition()) in ActOnStartClassInterface()
1087 IDecl->startDefinition(); in ActOnStartClassInterface()
1091 ContextRAII SavedContext(*this, IDecl); in ActOnStartClassInterface()
1093 ActOnSuperClassOfClassInterface(S, AtInterfaceLoc, IDecl, in ActOnStartClassInterface()
1098 IDecl->setEndOfDefinitionLoc(ClassLoc); in ActOnStartClassInterface()
1103 diagnoseUseOfProtocols(*this, IDecl, (ObjCProtocolDecl*const*)ProtoRefs, in ActOnStartClassInterface()
1105 IDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs, in ActOnStartClassInterface()
1107 IDecl->setEndOfDefinitionLoc(EndProtoLoc); in ActOnStartClassInterface()
1110 CheckObjCDeclScope(IDecl); in ActOnStartClassInterface()
1111 ActOnObjCContainerStartDefinition(IDecl); in ActOnStartClassInterface()
1112 return IDecl; in ActOnStartClassInterface()
1124 NamedDecl* IDecl = LookupSingleName(TUScope, SuperName, SuperLoc, in ActOnTypedefedProtocols() local
1126 if (!IDecl) in ActOnTypedefedProtocols()
1129 if (const TypedefNameDecl *TDecl = dyn_cast_or_null<TypedefNameDecl>(IDecl)) { in ActOnTypedefedProtocols()
1167 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) { in ActOnCompatibilityAlias() local
1168 ClassName = IDecl->getIdentifier(); in ActOnCompatibilityAlias()
1826 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true); in ActOnStartCategoryInterface() local
1830 if (!IDecl in ActOnStartCategoryInterface()
1831 || RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl), in ActOnStartCategoryInterface()
1839 IDecl, typeParamList); in ActOnStartCategoryInterface()
1843 if (!IDecl) in ActOnStartCategoryInterface()
1849 if (!CategoryName && IDecl->getImplementation()) { in ActOnStartCategoryInterface()
1851 Diag(IDecl->getImplementation()->getLocation(), in ActOnStartCategoryInterface()
1858 = IDecl->FindCategoryDeclaration(CategoryName)) { in ActOnStartCategoryInterface()
1868 if (auto prevTypeParamList = IDecl->getTypeParamList()) { in ActOnStartCategoryInterface()
1886 ClassLoc, CategoryLoc, CategoryName, IDecl, in ActOnStartCategoryInterface()
1904 IDecl->mergeClassExtensionProtocolList((ObjCProtocolDecl*const*)ProtoRefs, in ActOnStartCategoryInterface()
1920 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true); in ActOnStartCategoryImplementation() local
1922 if (IDecl && IDecl->hasDefinition()) { in ActOnStartCategoryImplementation()
1923 CatIDecl = IDecl->FindCategoryDeclaration(CatName); in ActOnStartCategoryImplementation()
1929 CatName, IDecl, in ActOnStartCategoryImplementation()
1936 ObjCCategoryImplDecl::Create(Context, CurContext, CatName, IDecl, in ActOnStartCategoryImplementation()
1939 if (!IDecl) { in ActOnStartCategoryImplementation()
1942 } else if (RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl), in ActOnStartCategoryImplementation()
1955 if (IDecl && IDecl->hasAttr<ObjCRuntimeVisibleAttr>()) { in ActOnStartCategoryImplementation()
1957 << IDecl->getDeclName(); in ActOnStartCategoryImplementation()
1986 ObjCInterfaceDecl *IDecl = nullptr; in ActOnStartClassImplementation() local
1994 } else if ((IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl))) { in ActOnStartClassImplementation()
1997 RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl), in ActOnStartClassImplementation()
2035 else if (IDecl && !declaresSameEntity(IDecl->getSuperClass(), SDecl)) { in ActOnStartClassImplementation()
2045 if (!IDecl) { in ActOnStartClassImplementation()
2051 IDecl = ObjCInterfaceDecl::Create(Context, CurContext, AtClassImplLoc, in ActOnStartClassImplementation()
2055 AddPragmaAttributes(TUScope, IDecl); in ActOnStartClassImplementation()
2056 IDecl->startDefinition(); in ActOnStartClassImplementation()
2058 IDecl->setSuperClass(Context.getTrivialTypeSourceInfo( in ActOnStartClassImplementation()
2061 IDecl->setEndOfDefinitionLoc(SuperClassLoc); in ActOnStartClassImplementation()
2063 IDecl->setEndOfDefinitionLoc(ClassLoc); in ActOnStartClassImplementation()
2066 PushOnScopeChains(IDecl, TUScope); in ActOnStartClassImplementation()
2071 if (!IDecl->hasDefinition()) in ActOnStartClassImplementation()
2072 IDecl->startDefinition(); in ActOnStartClassImplementation()
2076 ObjCImplementationDecl::Create(Context, CurContext, IDecl, SDecl, in ActOnStartClassImplementation()
2088 if (IDecl->getImplementation()) { in ActOnStartClassImplementation()
2091 Diag(IDecl->getImplementation()->getLocation(), in ActOnStartClassImplementation()
2095 IDecl->setImplementation(IMPDecl); in ActOnStartClassImplementation()
2099 DiagnoseObjCImplementedDeprecations(*this, IDecl, IMPDecl->getLocation()); in ActOnStartClassImplementation()
2104 if (IDecl->getSuperClass() && in ActOnStartClassImplementation()
2105 IDecl->getSuperClass()->hasAttr<ObjCRuntimeVisibleAttr>()) { in ActOnStartClassImplementation()
2107 << IDecl->getDeclName() in ActOnStartClassImplementation()
2108 << IDecl->getSuperClass()->getDeclName(); in ActOnStartClassImplementation()
2138 ObjCInterfaceDecl* IDecl = ImpDecl->getClassInterface(); in CheckImplementationIvars() local
2139 if (!IDecl) in CheckImplementationIvars()
2144 if (IDecl->isImplicitInterfaceDecl()) { in CheckImplementationIvars()
2145 IDecl->setEndOfDefinitionLoc(RBrace); in CheckImplementationIvars()
2154 IDecl->makeDeclVisibleInContext(ivars[i]); in CheckImplementationIvars()
2171 IDecl->getIvarDecl(ImplIvar->getIdentifier())) { in CheckImplementationIvars()
2177 for (const auto *CDecl : IDecl->visible_extensions()) { in CheckImplementationIvars()
2187 IDecl->makeDeclVisibleInContext(ImplIvar); in CheckImplementationIvars()
2197 IVI = IDecl->ivar_begin(), IVE = IDecl->ivar_end(); in CheckImplementationIvars()
2709 ObjCInterfaceDecl *IDecl = C ? C->getClassInterface() in CheckProtocolMethodDefs() local
2711 assert (IDecl && "CheckProtocolMethodDefs - IDecl is null"); in CheckProtocolMethodDefs()
2713 ObjCInterfaceDecl *Super = IDecl->getSuperClass(); in CheckProtocolMethodDefs()
2753 NSIDecl = IDecl->lookupInheritedClass(&S.Context.Idents.get("NSProxy")); in CheckProtocolMethodDefs()
2786 if (ObjCMethodDecl *MethodInClass = IDecl->lookupMethod( in CheckProtocolMethodDefs()
2807 if (C && IDecl->lookupMethod(method->getSelector(), in CheckProtocolMethodDefs()
2947 ObjCInterfaceDecl *IDecl = CatDecl->getClassInterface(); in CheckCategoryVsClassMethodMatches() local
2948 if (!IDecl) in CheckCategoryVsClassMethodMatches()
2950 ObjCInterfaceDecl *SuperIDecl = IDecl->getSuperClass(); in CheckCategoryVsClassMethodMatches()
2975 CatIMPDecl, IDecl, in CheckCategoryVsClassMethodMatches()
3006 if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) { in ImplMethodsVsClassMethods() local
3009 !IDecl->isObjCRequiresPropertyDefs(); in ImplMethodsVsClassMethods()
3140 ObjCInterfaceDecl *IDecl in ActOnForwardClassDeclaration() local
3144 IDecl->setAtEndRange(IdentLocs[i]); in ActOnForwardClassDeclaration()
3147 mergeDeclAttributes(IDecl, PrevIDecl); in ActOnForwardClassDeclaration()
3149 PushOnScopeChains(IDecl, TUScope); in ActOnForwardClassDeclaration()
3150 CheckObjCDeclScope(IDecl); in ActOnForwardClassDeclaration()
3151 DeclsInGroup.push_back(IDecl); in ActOnForwardClassDeclaration()
3946 const auto *IDecl = CDecl->getClassInterface(); in DiagnoseCategoryDirectMembersProtocolConformance() local
3950 IDecl->getMethod(MD->getSelector(), MD->isInstanceMethod())) { in DiagnoseCategoryDirectMembersProtocolConformance()
3957 if (const auto *CPD = IDecl->FindPropertyVisibleInPrimaryClass( in DiagnoseCategoryDirectMembersProtocolConformance()
3968 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl; in DiagnoseCategoryDirectMembersProtocolConformance()
4093 if (ObjCInterfaceDecl* IDecl = IC->getClassInterface()) { in ActOnAtEnd() local
4099 for (const auto *Ext : IDecl->visible_extensions()) { in ActOnAtEnd()
4109 for (const auto *Ext : IDecl->visible_extensions()) { in ActOnAtEnd()
4120 ImplMethodsVsClassMethods(S, IC, IDecl); in ActOnAtEnd()
4121 AtomicPropertySetterGetterRules(IC, IDecl); in ActOnAtEnd()
4124 if (IDecl->hasDesignatedInitializers()) in ActOnAtEnd()
4125 DiagnoseMissingDesignatedInitOverrides(IC, IDecl); in ActOnAtEnd()
4127 DiagnoseRetainableFlexibleArrayMember(*this, IDecl); in ActOnAtEnd()
4129 bool HasRootClassAttr = IDecl->hasAttr<ObjCRootClassAttr>(); in ActOnAtEnd()
4130 if (IDecl->getSuperClass() == nullptr) { in ActOnAtEnd()
4134 SourceLocation DeclLoc(IDecl->getLocation()); in ActOnAtEnd()
4137 << IDecl->getIdentifier(); in ActOnAtEnd()
4153 Diag(IDecl->getLocation(), diag::err_objc_root_class_subclass); in ActOnAtEnd()
4156 if (const ObjCInterfaceDecl *Super = IDecl->getSuperClass()) { in ActOnAtEnd()
4161 if (IDecl->hasAttr<ObjCSubclassingRestrictedAttr>() && in ActOnAtEnd()
4168 if (IDecl->hasAttr<ObjCClassStubAttr>()) in ActOnAtEnd()
4172 while (IDecl->getSuperClass()) { in ActOnAtEnd()
4173 DiagnoseDuplicateIvars(IDecl, IDecl->getSuperClass()); in ActOnAtEnd()
4174 IDecl = IDecl->getSuperClass(); in ActOnAtEnd()
4185 if (ObjCInterfaceDecl* IDecl = CatImplClass->getClassInterface()) { in ActOnAtEnd() local
4187 = IDecl->FindCategoryDeclaration(CatImplClass->getIdentifier())) { in ActOnAtEnd()
4672 static void checkObjCDirectMethodClashes(Sema &S, ObjCInterfaceDecl *IDecl, in checkObjCDirectMethodClashes() argument
4704 if (auto *IMD = IDecl->getMethod(Sel, isInstance)) in checkObjCDirectMethodClashes()
4706 else if (auto *Impl = IDecl->getImplementation()) in checkObjCDirectMethodClashes()
4708 if (auto *IMD = IDecl->getImplementation()->getMethod(Sel, isInstance)) in checkObjCDirectMethodClashes()
4711 for (const auto *Cat : IDecl->visible_categories()) in checkObjCDirectMethodClashes()
4890 if (ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface()) { in ActOnMethodDeclaration() local
4891 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(), in ActOnMethodDeclaration()
4911 if (IDecl == IMD->getClassInterface()) { in ActOnMethodDeclaration()
4954 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod, ImpDecl); in ActOnMethodDeclaration()
4960 for (auto *C : IDecl->visible_categories()) in ActOnMethodDeclaration()
4977 ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(ClassDecl); in ActOnMethodDeclaration() local
4978 if (!IDecl) in ActOnMethodDeclaration()
4979 IDecl = cast<ObjCCategoryDecl>(ClassDecl)->getClassInterface(); in ActOnMethodDeclaration()
4983 if (IDecl) in ActOnMethodDeclaration()
4984 checkObjCDirectMethodClashes(*this, IDecl, ObjCMethod); in ActOnMethodDeclaration()
5282 const ObjCInterfaceDecl *IDecl = Method->getClassInterface(); in GetIvarBackingPropertyAccessor() local
5283 if (!IDecl) in GetIvarBackingPropertyAccessor()
5285 Method = IDecl->lookupMethod(Method->getSelector(), /*isInstance=*/true, in GetIvarBackingPropertyAccessor()
5295 IV = const_cast<ObjCInterfaceDecl *>(IDecl)->lookupInstanceVariable( in GetIvarBackingPropertyAccessor()