Lines Matching refs:PDecl

1201     if (ObjCProtocolDecl *PDecl = LookupProtocol((*I)->getIdentifier(),
1203 if (PDecl->getIdentifier() == PName) {
1209 if (!PDecl->hasDefinition())
1213 PDecl->getLocation(), PDecl->getReferencedProtocols()))
1230 ObjCProtocolDecl *PDecl = nullptr;
1236 PDecl = ObjCProtocolDecl::Create(Context, CurContext, ProtocolName,
1242 SkipBody->New = PDecl;
1253 PushOnScopeChains(PDecl, TUScope);
1254 PDecl->startDuplicateDefinitionForComparison();
1266 PDecl = ObjCProtocolDecl::Create(Context, CurContext, ProtocolName,
1270 PushOnScopeChains(PDecl, TUScope);
1271 PDecl->startDefinition();
1274 ProcessDeclAttributeList(TUScope, PDecl, AttrList);
1275 AddPragmaAttributes(TUScope, PDecl);
1279 mergeDeclAttributes(PDecl, PrevDecl);
1283 diagnoseUseOfProtocols(*this, PDecl, (ObjCProtocolDecl*const*)ProtoRefs,
1285 PDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
1289 CheckObjCDeclScope(PDecl);
1290 ActOnObjCContainerStartDefinition(PDecl);
1291 return PDecl;
1294 static bool NestedProtocolHasNoDefinition(ObjCProtocolDecl *PDecl,
1296 if (!PDecl->hasDefinition() ||
1297 !PDecl->getDefinition()->isUnconditionallyVisible()) {
1298 UndefinedProtocol = PDecl;
1302 for (auto *PI : PDecl->protocols())
1318 ObjCProtocolDecl *PDecl = LookupProtocol(Pair.first, Pair.second);
1319 if (!PDecl) {
1324 if ((PDecl = Corrected.getCorrectionDeclAs<ObjCProtocolDecl>()))
1329 if (!PDecl) {
1334 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
1335 PDecl = PDecl->getDefinition();
1340 (void)DiagnoseUseOfDecl(PDecl, Pair.second);
1349 NestedProtocolHasNoDefinition(PDecl, UndefinedProtocol)) {
1354 Protocols.push_back(PDecl);
1798 ObjCProtocolDecl *PDecl
1803 PushOnScopeChains(PDecl, TUScope);
1804 CheckObjCDeclScope(PDecl);
1806 ProcessDeclAttributeList(TUScope, PDecl, attrList);
1807 AddPragmaAttributes(TUScope, PDecl);
1810 mergeDeclAttributes(PDecl, PrevDecl);
1812 DeclsInGroup.push_back(PDecl);
2679 static void findProtocolsWithExplicitImpls(const ObjCProtocolDecl *PDecl,
2681 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>())
2682 PNS.insert(PDecl->getIdentifier());
2683 for (const auto *PI : PDecl->protocols())
2704 Sema &S, ObjCImplDecl *Impl, ObjCProtocolDecl *PDecl, bool &IncompleteImpl,
2726 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>()) {
2731 if (ProtocolsExplictImpl->contains(PDecl->getIdentifier()))
2756 if (!PDecl->isThisDeclarationADefinition() &&
2757 PDecl->getDefinition())
2758 PDecl = PDecl->getDefinition();
2767 for (auto *method : PDecl->instance_methods()) {
2794 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2799 for (auto *method : PDecl->class_methods()) {
2816 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2821 for (auto *PI : PDecl->protocols())
3932 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl);
3942 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl) {
3943 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
3944 PDecl = PDecl->getDefinition();
3948 for (auto *MD : PDecl->methods()) {
3957 for (auto *PD : PDecl->properties()) {
3969 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl;
3977 PDecl->protocols());
5279 const ObjCPropertyDecl *&PDecl) const {
5290 if ((PDecl = Method->findPropertyDecl()))
5291 if (ObjCIvarDecl *IV = PDecl->getPropertyIvarDecl()) {
5350 const ObjCPropertyDecl *PDecl;
5351 const ObjCIvarDecl *IV = GetIvarBackingPropertyAccessor(CurMethod, PDecl);
5369 Diag(PDecl->getLocation(), diag::note_property_declare);