Lines Matching defs:PDecl

1198     if (ObjCProtocolDecl *PDecl = LookupProtocol((*I)->getIdentifier(), Ploc)) {
1199 if (PDecl->getIdentifier() == PName) {
1205 if (!PDecl->hasDefinition())
1209 PDecl->getLocation(), PDecl->getReferencedProtocols()))
1227 ObjCProtocolDecl *PDecl = nullptr;
1233 PDecl = ObjCProtocolDecl::Create(Context, SemaRef.CurContext, ProtocolName,
1239 SkipBody->New = PDecl;
1250 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1251 PDecl->startDuplicateDefinitionForComparison();
1263 PDecl = ObjCProtocolDecl::Create(Context, SemaRef.CurContext, ProtocolName,
1267 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1268 PDecl->startDefinition();
1271 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, PDecl, AttrList);
1272 SemaRef.AddPragmaAttributes(SemaRef.TUScope, PDecl);
1273 SemaRef.ProcessAPINotes(PDecl);
1277 SemaRef.mergeDeclAttributes(PDecl, PrevDecl);
1281 diagnoseUseOfProtocols(SemaRef, PDecl, (ObjCProtocolDecl *const *)ProtoRefs,
1283 PDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
1287 CheckObjCDeclScope(PDecl);
1288 ActOnObjCContainerStartDefinition(PDecl);
1289 return PDecl;
1292 static bool NestedProtocolHasNoDefinition(ObjCProtocolDecl *PDecl,
1294 if (!PDecl->hasDefinition() ||
1295 !PDecl->getDefinition()->isUnconditionallyVisible()) {
1296 UndefinedProtocol = PDecl;
1300 for (auto *PI : PDecl->protocols())
1316 ObjCProtocolDecl *PDecl = LookupProtocol(Pair.first, Pair.second);
1317 if (!PDecl) {
1323 if ((PDecl = Corrected.getCorrectionDeclAs<ObjCProtocolDecl>()))
1329 if (!PDecl) {
1334 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
1335 PDecl = PDecl->getDefinition();
1340 (void)SemaRef.DiagnoseUseOfDecl(PDecl, Pair.second);
1349 NestedProtocolHasNoDefinition(PDecl, UndefinedProtocol)) {
1354 Protocols.push_back(PDecl);
1795 ObjCProtocolDecl *PDecl =
1799 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1800 CheckObjCDeclScope(PDecl);
1802 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, PDecl, attrList);
1803 SemaRef.AddPragmaAttributes(SemaRef.TUScope, PDecl);
1806 SemaRef.mergeDeclAttributes(PDecl, PrevDecl);
1808 DeclsInGroup.push_back(PDecl);
2686 static void findProtocolsWithExplicitImpls(const ObjCProtocolDecl *PDecl,
2688 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>())
2689 PNS.insert(PDecl->getIdentifier());
2690 for (const auto *PI : PDecl->protocols())
2711 Sema &S, ObjCImplDecl *Impl, ObjCProtocolDecl *PDecl, bool &IncompleteImpl,
2733 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>()) {
2738 if (ProtocolsExplictImpl->contains(PDecl->getIdentifier()))
2763 if (!PDecl->isThisDeclarationADefinition() &&
2764 PDecl->getDefinition())
2765 PDecl = PDecl->getDefinition();
2774 for (auto *method : PDecl->instance_methods()) {
2799 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2804 for (auto *method : PDecl->class_methods()) {
2821 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2826 for (auto *PI : PDecl->protocols())
3934 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl);
3944 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl) {
3945 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
3946 PDecl = PDecl->getDefinition();
3950 for (auto *MD : PDecl->methods()) {
3959 for (auto *PD : PDecl->properties()) {
3971 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl;
3979 PDecl->protocols());
5297 const ObjCPropertyDecl *&PDecl) const {
5308 if ((PDecl = Method->findPropertyDecl()))
5309 if (ObjCIvarDecl *IV = PDecl->getPropertyIvarDecl()) {
5368 const ObjCPropertyDecl *PDecl;
5369 const ObjCIvarDecl *IV = GetIvarBackingPropertyAccessor(CurMethod, PDecl);
5387 Diag(PDecl->getLocation(), diag::note_property_declare);