Lines Matching defs:IDecl

518   explicit ObjCInterfaceValidatorCCC(ObjCInterfaceDecl *IDecl)
519 : CurrentIDecl(IDecl) {}
553 Scope *S, SourceLocation AtInterfaceLoc, ObjCInterfaceDecl *IDecl,
565 ObjCInterfaceValidatorCCC CCC(IDecl);
575 if (declaresSameEntity(PrevDecl, IDecl)) {
578 IDecl->setEndOfDefinitionLoc(ClassLoc);
597 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
598 SuperClassDecl = dyn_cast<ObjCInterfaceDecl>(IDecl);
660 IDecl->setSuperClass(SuperClassTInfo);
661 IDecl->setEndOfDefinitionLoc(SuperClassTInfo->getTypeLoc().getEndLoc());
1049 ObjCInterfaceDecl *IDecl =
1057 SkipBody->New = IDecl;
1063 IDecl->setInvalidDecl();
1068 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, IDecl, AttrList);
1069 SemaRef.AddPragmaAttributes(SemaRef.TUScope, IDecl);
1070 SemaRef.ProcessAPINotes(IDecl);
1074 SemaRef.mergeDeclAttributes(IDecl, PrevIDecl);
1076 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
1081 IDecl->startDuplicateDefinitionForComparison();
1082 else if (!IDecl->hasDefinition())
1083 IDecl->startDefinition();
1087 Sema::ContextRAII SavedContext(SemaRef, IDecl);
1089 ActOnSuperClassOfClassInterface(S, AtInterfaceLoc, IDecl,
1094 IDecl->setEndOfDefinitionLoc(ClassLoc);
1099 diagnoseUseOfProtocols(SemaRef, IDecl, (ObjCProtocolDecl *const *)ProtoRefs,
1101 IDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
1103 IDecl->setEndOfDefinitionLoc(EndProtoLoc);
1106 CheckObjCDeclScope(IDecl);
1107 ActOnObjCContainerStartDefinition(IDecl);
1108 return IDecl;
1120 NamedDecl *IDecl = SemaRef.LookupSingleName(
1122 if (!IDecl)
1125 if (const TypedefNameDecl *TDecl = dyn_cast_or_null<TypedefNameDecl>(IDecl)) {
1164 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
1165 ClassName = IDecl->getIdentifier();
1822 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
1826 if (!IDecl ||
1827 SemaRef.RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
1835 CategoryName, IDecl, typeParamList);
1839 if (!IDecl)
1845 if (!CategoryName && IDecl->getImplementation()) {
1847 Diag(IDecl->getImplementation()->getLocation(),
1854 = IDecl->FindCategoryDeclaration(CategoryName)) {
1864 if (auto prevTypeParamList = IDecl->getTypeParamList()) {
1882 ClassLoc, CategoryLoc, CategoryName, IDecl,
1900 IDecl->mergeClassExtensionProtocolList((ObjCProtocolDecl*const*)ProtoRefs,
1917 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
1919 if (IDecl && IDecl->hasDefinition()) {
1920 CatIDecl = IDecl->FindCategoryDeclaration(CatName);
1926 ClassLoc, CatLoc, CatName, IDecl,
1933 ObjCCategoryImplDecl::Create(Context, SemaRef.CurContext, CatName, IDecl,
1936 if (!IDecl) {
1940 Context.getObjCInterfaceType(IDecl),
1953 if (IDecl && IDecl->hasAttr<ObjCRuntimeVisibleAttr>()) {
1955 << IDecl->getDeclName();
1985 ObjCInterfaceDecl *IDecl = nullptr;
1993 } else if ((IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl))) {
1996 SemaRef.RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
2035 else if (IDecl && !declaresSameEntity(IDecl->getSuperClass(), SDecl)) {
2045 if (!IDecl) {
2051 IDecl =
2055 SemaRef.AddPragmaAttributes(SemaRef.TUScope, IDecl);
2056 IDecl->startDefinition();
2058 IDecl->setSuperClass(Context.getTrivialTypeSourceInfo(
2061 IDecl->setEndOfDefinitionLoc(SuperClassLoc);
2063 IDecl->setEndOfDefinitionLoc(ClassLoc);
2066 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
2071 if (!IDecl->hasDefinition())
2072 IDecl->startDefinition();
2076 ObjCImplementationDecl::Create(Context, SemaRef.CurContext, IDecl, SDecl,
2088 if (IDecl->getImplementation()) {
2091 Diag(IDecl->getImplementation()->getLocation(),
2095 IDecl->setImplementation(IMPDecl);
2099 DiagnoseObjCImplementedDeprecations(SemaRef, IDecl, IMPDecl->getLocation());
2104 if (IDecl->getSuperClass() &&
2105 IDecl->getSuperClass()->hasAttr<ObjCRuntimeVisibleAttr>()) {
2107 << IDecl->getDeclName()
2108 << IDecl->getSuperClass()->getDeclName();
2140 ObjCInterfaceDecl* IDecl = ImpDecl->getClassInterface();
2141 if (!IDecl)
2146 if (IDecl->isImplicitInterfaceDecl()) {
2147 IDecl->setEndOfDefinitionLoc(RBrace);
2156 IDecl->makeDeclVisibleInContext(ivars[i]);
2173 IDecl->getIvarDecl(ImplIvar->getIdentifier())) {
2179 for (const auto *CDecl : IDecl->visible_extensions()) {
2189 IDecl->makeDeclVisibleInContext(ImplIvar);
2199 IVI = IDecl->ivar_begin(), IVE = IDecl->ivar_end();
2713 ObjCInterfaceDecl *IDecl = C ? C->getClassInterface()
2715 assert (IDecl && "CheckProtocolMethodDefs - IDecl is null");
2717 ObjCInterfaceDecl *Super = IDecl->getSuperClass();
2755 // Is IDecl derived from 'NSProxy'? If so, no instance methods
2757 NSIDecl = IDecl->lookupInheritedClass(&S.Context.Idents.get("NSProxy"));
2790 if (ObjCMethodDecl *MethodInClass = IDecl->lookupMethod(
2811 if (C && IDecl->lookupMethod(method->getSelector(),
2947 ObjCInterfaceDecl *IDecl = CatDecl->getClassInterface();
2948 if (!IDecl)
2950 ObjCInterfaceDecl *SuperIDecl = IDecl->getSuperClass();
2975 CatIMPDecl, IDecl,
3006 if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
3009 !IDecl->isObjCRequiresPropertyDefs();
3139 ObjCInterfaceDecl *IDecl = ObjCInterfaceDecl::Create(
3142 IDecl->setAtEndRange(IdentLocs[i]);
3145 SemaRef.mergeDeclAttributes(IDecl, PrevIDecl);
3147 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
3148 CheckObjCDeclScope(IDecl);
3149 DeclsInGroup.push_back(IDecl);
3942 const auto *IDecl = CDecl->getClassInterface();
3946 IDecl->getMethod(MD->getSelector(), MD->isInstanceMethod())) {
3953 if (const auto *CPD = IDecl->FindPropertyVisibleInPrimaryClass(
3964 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl;
4092 if (ObjCInterfaceDecl* IDecl = IC->getClassInterface()) {
4098 for (const auto *Ext : IDecl->visible_extensions()) {
4108 for (const auto *Ext : IDecl->visible_extensions()) {
4119 ImplMethodsVsClassMethods(S, IC, IDecl);
4120 AtomicPropertySetterGetterRules(IC, IDecl);
4123 if (IDecl->hasDesignatedInitializers())
4124 DiagnoseMissingDesignatedInitOverrides(IC, IDecl);
4126 DiagnoseRetainableFlexibleArrayMember(SemaRef, IDecl);
4128 bool HasRootClassAttr = IDecl->hasAttr<ObjCRootClassAttr>();
4129 if (IDecl->getSuperClass() == nullptr) {
4133 SourceLocation DeclLoc(IDecl->getLocation());
4136 << IDecl->getIdentifier();
4152 Diag(IDecl->getLocation(), diag::err_objc_root_class_subclass);
4155 if (const ObjCInterfaceDecl *Super = IDecl->getSuperClass()) {
4160 if (IDecl->hasAttr<ObjCSubclassingRestrictedAttr>() &&
4167 if (IDecl->hasAttr<ObjCClassStubAttr>())
4171 while (IDecl->getSuperClass()) {
4172 DiagnoseDuplicateIvars(IDecl, IDecl->getSuperClass());
4173 IDecl = IDecl->getSuperClass();
4184 if (ObjCInterfaceDecl* IDecl = CatImplClass->getClassInterface()) {
4186 = IDecl->FindCategoryDeclaration(CatImplClass->getIdentifier())) {
4671 static void checkObjCDirectMethodClashes(Sema &S, ObjCInterfaceDecl *IDecl,
4693 // We do not use IDecl->lookupMethod() because we have specific needs:
4703 if (auto *IMD = IDecl->getMethod(Sel, isInstance))
4705 else if (auto *Impl = IDecl->getImplementation())
4707 if (auto *IMD = IDecl->getImplementation()->getMethod(Sel, isInstance))
4710 for (const auto *Cat : IDecl->visible_categories())
4885 // because IDecl->lookupMethod() returns more possible matches than just
4898 if (ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface()) {
4899 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(),
4919 if (IDecl == IMD->getClassInterface()) {
4962 checkObjCDirectMethodClashes(SemaRef, IDecl, ObjCMethod, ImpDecl);
4968 for (auto *C : IDecl->visible_categories())
4985 ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(ClassDecl);
4986 if (!IDecl)
4987 IDecl = cast<ObjCCategoryDecl>(ClassDecl)->getClassInterface();
4990 // but we won't find the primary interface and IDecl will be nil.
4991 if (IDecl)
4992 checkObjCDirectMethodClashes(SemaRef, IDecl, ObjCMethod);
5295 const ObjCInterfaceDecl *IDecl = Method->getClassInterface();
5296 if (!IDecl)
5298 Method = IDecl->lookupMethod(Method->getSelector(), /*isInstance=*/true,
5308 IV = const_cast<ObjCInterfaceDecl *>(IDecl)->lookupInstanceVariable(
5423 NamedDecl *IDecl = SemaRef.LookupSingleName(SemaRef.TUScope, Id, IdLoc,
5426 if (!IDecl && DoTypoCorrection) {
5434 IDecl = C.getCorrectionDeclAs<ObjCInterfaceDecl>();
5435 Id = IDecl->getIdentifier();
5438 ObjCInterfaceDecl *Def = dyn_cast_or_null<ObjCInterfaceDecl>(IDecl);