Home | History | Annotate | Download | only in Sema

Lines Matching refs:IDecl

427   explicit ObjCInterfaceValidatorCCC(ObjCInterfaceDecl *IDecl)
428 : CurrentIDecl(IDecl) {}
461 ObjCInterfaceDecl *IDecl
471 IDecl->setInvalidDecl();
476 ProcessDeclAttributeList(TUScope, IDecl, AttrList);
477 PushOnScopeChains(IDecl, TUScope);
481 if (!IDecl->hasDefinition())
482 IDecl->startDefinition();
492 ObjCInterfaceValidatorCCC Validator(IDecl);
504 if (declaresSameEntity(PrevDecl, IDecl)) {
507 IDecl->setEndOfDefinitionLoc(ClassLoc);
523 if (NamedDecl *IDecl = T->getAs<ObjCObjectType>()->getInterface())
524 SuperClassDecl = dyn_cast<ObjCInterfaceDecl>(IDecl);
552 IDecl->setSuperClass(SuperClassDecl);
553 IDecl->setSuperClassLoc(SuperLoc);
554 IDecl->setEndOfDefinitionLoc(SuperLoc);
557 IDecl->setEndOfDefinitionLoc(ClassLoc);
562 IDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
564 IDecl->setEndOfDefinitionLoc(EndProtoLoc);
567 CheckObjCDeclScope(IDecl);
568 return ActOnObjCContainerStartDefinition(IDecl);
596 if (NamedDecl *IDecl = T->getAs<ObjCObjectType>()->getInterface()) {
597 ClassName = IDecl->getIdentifier();
825 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
829 if (!IDecl
830 || RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
837 ClassLoc, CategoryLoc, CategoryName,IDecl);
841 if (!IDecl)
846 if (!CategoryName && IDecl->getImplementation()) {
848 Diag(IDecl->getImplementation()->getLocation(),
855 = IDecl->FindCategoryDeclaration(CategoryName)) {
864 ClassLoc, CategoryLoc, CategoryName, IDecl);
873 IDecl->mergeClassExtensionProtocolList((ObjCProtocolDecl*const*)ProtoRefs,
888 ObjCInterfaceDecl *IDecl = getObjCInterfaceDecl(ClassName, ClassLoc, true);
890 if (IDecl && IDecl->hasDefinition()) {
891 CatIDecl = IDecl->FindCategoryDeclaration(CatName);
897 CatName, IDecl);
903 ObjCCategoryImplDecl::Create(Context, CurContext, CatName, IDecl,
906 if (!IDecl) {
909 } else if (RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
918 if (IDecl)
919 DiagnoseUseOfDecl(IDecl, ClassLoc);
933 dyn_cast<NamedDecl>(IDecl),
947 ObjCInterfaceDecl* IDecl = 0;
955 } else if ((IDecl = dyn_cast_or_null<ObjCInterfaceDecl>(PrevDecl))) {
956 RequireCompleteType(ClassLoc, Context.getObjCInterfaceType(IDecl),
970 IDecl = Corrected.getCorrectionDeclAs<ObjCInterfaceDecl>();
974 Diag(IDecl->getLocation(), diag::note_previous_decl) << CorrectedName
976 IDecl = 0;
999 else if (IDecl && !declaresSameEntity(IDecl->getSuperClass(), SDecl)) {
1009 if (!IDecl) {
1015 IDecl = ObjCInterfaceDecl::Create(Context, CurContext, AtClassImplLoc,
1018 IDecl->startDefinition();
1020 IDecl->setSuperClass(SDecl);
1021 IDecl->setSuperClassLoc(SuperClassLoc);
1022 IDecl->setEndOfDefinitionLoc(SuperClassLoc);
1024 IDecl->setEndOfDefinitionLoc(ClassLoc);
1027 PushOnScopeChains(IDecl, TUScope);
1032 if (!IDecl->hasDefinition())
1033 IDecl->startDefinition();
1037 ObjCImplementationDecl::Create(Context, CurContext, IDecl, SDecl,
1044 if (IDecl->getImplementation()) {
1047 Diag(IDecl->getImplementation()->getLocation(),
1050 IDecl->setImplementation(IMPDecl);
1055 dyn_cast<NamedDecl>(IDecl),
1084 ObjCInterfaceDecl* IDecl = ImpDecl->getClassInterface();
1085 if (!IDecl)
1090 if (IDecl->isImplicitInterfaceDecl()) {
1091 IDecl->setEndOfDefinitionLoc(RBrace);
1095 IDecl->makeDeclVisibleInContext(ivars[i]);
1112 IDecl->getIvarDecl(ImplIvar->getIdentifier())) {
1119 IDecl->makeDeclVisibleInContext(ImplIvar);
1129 IVI = IDecl->ivar_begin(), IVE = IDecl->ivar_end();
1571 ObjCInterfaceDecl *IDecl = C ? C->getClassInterface()
1573 assert (IDecl && "CheckProtocolMethodDefs - IDecl is null");
1575 ObjCInterfaceDecl *Super = IDecl->getSuperClass();
1588 // Is IDecl derived from 'NSProxy'? If so, no instance methods
1590 NSIDecl = IDecl->lookupInheritedClass(&Context.Idents.get("NSProxy"));
1622 IDecl->lookupInstanceMethod(method->getSelector(),
1646 if (C && IDecl->lookupClassMethod(method->getSelector(),
1655 Diag(IDecl->getLocation(), diag::note_required_for_protocol_at) <<
1801 ObjCInterfaceDecl *IDecl = CatDecl->getClassInterface();
1802 if (!IDecl)
1807 CatIMPDecl, IDecl,
1825 if (const ObjCInterfaceDecl *IDecl = dyn_cast<ObjCInterfaceDecl>(CDecl))
1828 IDecl->isObjCRequiresPropertyDefs())
1939 ObjCInterfaceDecl *IDecl
1942 IDecl->setAtEndRange(IdentLocs[i]);
1944 PushOnScopeChains(IDecl, TUScope);
1945 CheckObjCDeclScope(IDecl);
1946 DeclsInGroup.push_back(IDecl);
2412 if (ObjCInterfaceDecl* IDecl = IC->getClassInterface()) {
2419 Ext = IDecl->visible_extensions_begin(),
2420 ExtEnd = IDecl->visible_extensions_end();
2433 Ext = IDecl->visible_extensions_begin(),
2434 ExtEnd = IDecl->visible_extensions_end();
2446 ImplMethodsVsClassMethods(S, IC, IDecl);
2447 AtomicPropertySetterGetterRules(IC, IDecl);
2450 bool HasRootClassAttr = IDecl->hasAttr<ObjCRootClassAttr>();
2451 if (IDecl->getSuperClass() == NULL) {
2455 SourceLocation DeclLoc(IDecl->getLocation());
2458 << IDecl->getIdentifier();
2474 Diag(IDecl->getLocation(), diag::err_objc_root_class_subclass);
2478 while (IDecl->getSuperClass()) {
2479 DiagnoseDuplicateIvars(IDecl, IDecl->getSuperClass());
2480 IDecl = IDecl->getSuperClass();
2491 if (ObjCInterfaceDecl* IDecl = CatImplClass->getClassInterface()) {
2493 = IDecl->FindCategoryDeclaration(CatImplClass->getIdentifier())) {
2989 if (ObjCInterfaceDecl *IDecl = ImpDecl->getClassInterface())
2990 IMD = IDecl->lookupMethod(ObjCMethod->getSelector(),