Lines Matching defs:IDecl

519   explicit ObjCInterfaceValidatorCCC(ObjCInterfaceDecl *IDecl)
520 : CurrentIDecl(IDecl) {}
554 Scope *S, SourceLocation AtInterfaceLoc, ObjCInterfaceDecl *IDecl,
566 ObjCInterfaceValidatorCCC CCC(IDecl);
576 if (declaresSameEntity(PrevDecl, IDecl)) {
579 IDecl->setEndOfDefinitionLoc(ClassLoc);
598 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
599 SuperClassDecl = dyn_cast<ObjCInterfaceDecl>(IDecl);
661 IDecl->setSuperClass(SuperClassTInfo);
662 IDecl->setEndOfDefinitionLoc(SuperClassTInfo->getTypeLoc().getEndLoc());
1050 ObjCInterfaceDecl *IDecl =
1058 SkipBody->New = IDecl;
1064 IDecl->setInvalidDecl();
1069 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, IDecl, AttrList);
1070 SemaRef.AddPragmaAttributes(SemaRef.TUScope, IDecl);
1071 SemaRef.ProcessAPINotes(IDecl);
1075 SemaRef.mergeDeclAttributes(IDecl, PrevIDecl);
1077 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
1082 IDecl->startDuplicateDefinitionForComparison();
1083 else if (!IDecl->hasDefinition())
1084 IDecl->startDefinition();
1088 Sema::ContextRAII SavedContext(SemaRef, IDecl);
1090 ActOnSuperClassOfClassInterface(S, AtInterfaceLoc, IDecl,
1095 IDecl->setEndOfDefinitionLoc(ClassLoc);
1100 diagnoseUseOfProtocols(SemaRef, IDecl, (ObjCProtocolDecl *const *)ProtoRefs,
1102 IDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
1104 IDecl->setEndOfDefinitionLoc(EndProtoLoc);
1107 CheckObjCDeclScope(IDecl);
1108 ActOnObjCContainerStartDefinition(IDecl);
1109 return IDecl;
1121 NamedDecl *IDecl = SemaRef.LookupSingleName(
1123 if (!IDecl)
1126 if (const TypedefNameDecl *TDecl = dyn_cast_or_null<TypedefNameDecl>(IDecl)) {
1165 if (NamedDecl *IDecl = T->castAs<ObjCObjectType>()->getInterface()) {
1166 ClassName = IDecl->getIdentifier();
1823 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
1827 if (!IDecl ||
1828 SemaRef.RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
1836 CategoryName, IDecl, typeParamList);
1840 if (!IDecl)
1846 if (!CategoryName && IDecl->getImplementation()) {
1848 Diag(IDecl->getImplementation()->getLocation(),
1855 = IDecl->FindCategoryDeclaration(CategoryName)) {
1865 if (auto prevTypeParamList = IDecl->getTypeParamList()) {
1883 ClassLoc, CategoryLoc, CategoryName, IDecl,
1901 IDecl->mergeClassExtensionProtocolList((ObjCProtocolDecl*const*)ProtoRefs,
1918 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
1920 if (IDecl && IDecl->hasDefinition()) {
1921 CatIDecl = IDecl->FindCategoryDeclaration(CatName);
1927 ClassLoc, CatLoc, CatName, IDecl,
1934 ObjCCategoryImplDecl::Create(Context, SemaRef.CurContext, CatName, IDecl,
1937 if (!IDecl) {
1941 Context.getObjCInterfaceType(IDecl),
1954 if (IDecl && IDecl->hasAttr<ObjCRuntimeVisibleAttr>()) {
1956 << IDecl->getDeclName();
1986 ObjCInterfaceDecl *IDecl = nullptr;
1994 } else if ((IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl))) {
1997 SemaRef.RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
2036 else if (IDecl && !declaresSameEntity(IDecl->getSuperClass(), SDecl)) {
2046 if (!IDecl) {
2052 IDecl =
2056 SemaRef.AddPragmaAttributes(SemaRef.TUScope, IDecl);
2057 IDecl->startDefinition();
2059 IDecl->setSuperClass(Context.getTrivialTypeSourceInfo(
2062 IDecl->setEndOfDefinitionLoc(SuperClassLoc);
2064 IDecl->setEndOfDefinitionLoc(ClassLoc);
2067 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
2072 if (!IDecl->hasDefinition())
2073 IDecl->startDefinition();
2077 ObjCImplementationDecl::Create(Context, SemaRef.CurContext, IDecl, SDecl,
2089 if (IDecl->getImplementation()) {
2092 Diag(IDecl->getImplementation()->getLocation(),
2096 IDecl->setImplementation(IMPDecl);
2100 DiagnoseObjCImplementedDeprecations(SemaRef, IDecl, IMPDecl->getLocation());
2105 if (IDecl->getSuperClass() &&
2106 IDecl->getSuperClass()->hasAttr<ObjCRuntimeVisibleAttr>()) {
2108 << IDecl->getDeclName()
2109 << IDecl->getSuperClass()->getDeclName();
2141 ObjCInterfaceDecl* IDecl = ImpDecl->getClassInterface();
2142 if (!IDecl)
2147 if (IDecl->isImplicitInterfaceDecl()) {
2148 IDecl->setEndOfDefinitionLoc(RBrace);
2157 IDecl->makeDeclVisibleInContext(ivars[i]);
2174 IDecl->getIvarDecl(ImplIvar->getIdentifier())) {
2180 for (const auto *CDecl : IDecl->visible_extensions()) {
2190 IDecl->makeDeclVisibleInContext(ImplIvar);
2200 IVI = IDecl->ivar_begin(), IVE = IDecl->ivar_end();
2715 ObjCInterfaceDecl *IDecl = C ? C->getClassInterface()
2717 assert (IDecl && "CheckProtocolMethodDefs - IDecl is null");
2719 ObjCInterfaceDecl *Super = IDecl->getSuperClass();
2757 // Is IDecl derived from 'NSProxy'? If so, no instance methods
2759 NSIDecl = IDecl->lookupInheritedClass(&S.Context.Idents.get("NSProxy"));
2792 if (ObjCMethodDecl *MethodInClass = IDecl->lookupMethod(
2813 if (C && IDecl->lookupMethod(method->getSelector(),
2949 ObjCInterfaceDecl *IDecl = CatDecl->getClassInterface();
2950 if (!IDecl)
2952 ObjCInterfaceDecl *SuperIDecl = IDecl->getSuperClass();
2977 CatIMPDecl, IDecl,
3008 if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl)) {
3011 !IDecl->isObjCRequiresPropertyDefs();
3141 ObjCInterfaceDecl *IDecl = ObjCInterfaceDecl::Create(
3144 IDecl->setAtEndRange(IdentLocs[i]);
3147 SemaRef.mergeDeclAttributes(IDecl, PrevIDecl);
3149 SemaRef.PushOnScopeChains(IDecl, SemaRef.TUScope);
3150 CheckObjCDeclScope(IDecl);
3151 DeclsInGroup.push_back(IDecl);
3949 const auto *IDecl = CDecl->getClassInterface();
3953 IDecl->getMethod(MD->getSelector(), MD->isInstanceMethod())) {
3960 if (const auto *CPD = IDecl->FindPropertyVisibleInPrimaryClass(
3971 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl;
4099 if (ObjCInterfaceDecl* IDecl = IC->getClassInterface()) {
4105 for (const auto *Ext : IDecl->visible_extensions()) {
4115 for (const auto *Ext : IDecl->visible_extensions()) {
4126 ImplMethodsVsClassMethods(S, IC, IDecl);
4127 AtomicPropertySetterGetterRules(IC, IDecl);
4130 if (IDecl->hasDesignatedInitializers())
4131 DiagnoseMissingDesignatedInitOverrides(IC, IDecl);
4133 DiagnoseRetainableFlexibleArrayMember(SemaRef, IDecl);
4135 bool HasRootClassAttr = IDecl->hasAttr<ObjCRootClassAttr>();
4136 if (IDecl->getSuperClass() == nullptr) {
4140 SourceLocation DeclLoc(IDecl->getLocation());
4143 << IDecl->getIdentifier();
4159 Diag(IDecl->getLocation(), diag::err_objc_root_class_subclass);
4162 if (const ObjCInterfaceDecl *Super = IDecl->getSuperClass()) {
4167 if (IDecl->hasAttr<ObjCSubclassingRestrictedAttr>() &&
4174 if (IDecl->hasAttr<ObjCClassStubAttr>())
4178 while (IDecl->getSuperClass()) {
4179 DiagnoseDuplicateIvars(IDecl, IDecl->getSuperClass());
4180 IDecl = IDecl->getSuperClass();
4191 if (ObjCInterfaceDecl* IDecl = CatImplClass->getClassInterface()) {
4193 = IDecl->FindCategoryDeclaration(CatImplClass->getIdentifier())) {
4680 static void checkObjCDirectMethodClashes(Sema &S, ObjCInterfaceDecl *IDecl,
4702 // We do not use IDecl->lookupMethod() because we have specific needs:
4712 if (auto *IMD = IDecl->getMethod(Sel, isInstance))
4714 else if (auto *Impl = IDecl->getImplementation())
4716 if (auto *IMD = IDecl->getImplementation()->getMethod(Sel, isInstance))
4719 for (const auto *Cat : IDecl->visible_categories())
4890 // because IDecl->lookupMethod() returns more possible matches than just
4903 if (ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface()) {
4904 if (auto *IMD = IDecl->lookupMethod(ObjCMethod->getSelector(),
4924 if (IDecl == IMD->getClassInterface()) {
4967 checkObjCDirectMethodClashes(SemaRef, IDecl, ObjCMethod, ImpDecl);
4973 for (auto *C : IDecl->visible_categories())
4990 ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(ClassDecl);
4991 if (!IDecl)
4992 IDecl = cast<ObjCCategoryDecl>(ClassDecl)->getClassInterface();
4995 // but we won't find the primary interface and IDecl will be nil.
4996 if (IDecl)
4997 checkObjCDirectMethodClashes(SemaRef, IDecl, ObjCMethod);
5300 const ObjCInterfaceDecl *IDecl = Method->getClassInterface();
5301 if (!IDecl)
5303 Method = IDecl->lookupMethod(Method->getSelector(), /*isInstance=*/true,
5313 IV = const_cast<ObjCInterfaceDecl *>(IDecl)->lookupInstanceVariable(
5429 NamedDecl *IDecl = SemaRef.LookupSingleName(SemaRef.TUScope, Id, IdLoc,
5432 if (!IDecl && DoTypoCorrection) {
5440 IDecl = C.getCorrectionDeclAs<ObjCInterfaceDecl>();
5441 Id = IDecl->getIdentifier();
5444 ObjCInterfaceDecl *Def = dyn_cast_or_null<ObjCInterfaceDecl>(IDecl);