Lines Matching defs:PDecl
1197 if (ObjCProtocolDecl *PDecl = LookupProtocol((*I)->getIdentifier(), Ploc)) {
1198 if (PDecl->getIdentifier() == PName) {
1204 if (!PDecl->hasDefinition())
1208 PDecl->getLocation(), PDecl->getReferencedProtocols()))
1226 ObjCProtocolDecl *PDecl = nullptr;
1232 PDecl = ObjCProtocolDecl::Create(Context, SemaRef.CurContext, ProtocolName,
1238 SkipBody->New = PDecl;
1249 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1250 PDecl->startDuplicateDefinitionForComparison();
1262 PDecl = ObjCProtocolDecl::Create(Context, SemaRef.CurContext, ProtocolName,
1266 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1267 PDecl->startDefinition();
1270 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, PDecl, AttrList);
1271 SemaRef.AddPragmaAttributes(SemaRef.TUScope, PDecl);
1272 SemaRef.ProcessAPINotes(PDecl);
1276 SemaRef.mergeDeclAttributes(PDecl, PrevDecl);
1280 diagnoseUseOfProtocols(SemaRef, PDecl, (ObjCProtocolDecl *const *)ProtoRefs,
1282 PDecl->setProtocolList((ObjCProtocolDecl*const*)ProtoRefs, NumProtoRefs,
1286 CheckObjCDeclScope(PDecl);
1287 ActOnObjCContainerStartDefinition(PDecl);
1288 return PDecl;
1291 static bool NestedProtocolHasNoDefinition(ObjCProtocolDecl *PDecl,
1293 if (!PDecl->hasDefinition() ||
1294 !PDecl->getDefinition()->isUnconditionallyVisible()) {
1295 UndefinedProtocol = PDecl;
1299 for (auto *PI : PDecl->protocols())
1315 ObjCProtocolDecl *PDecl = LookupProtocol(Pair.first, Pair.second);
1316 if (!PDecl) {
1322 if ((PDecl = Corrected.getCorrectionDeclAs<ObjCProtocolDecl>()))
1328 if (!PDecl) {
1333 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
1334 PDecl = PDecl->getDefinition();
1339 (void)SemaRef.DiagnoseUseOfDecl(PDecl, Pair.second);
1348 NestedProtocolHasNoDefinition(PDecl, UndefinedProtocol)) {
1353 Protocols.push_back(PDecl);
1794 ObjCProtocolDecl *PDecl =
1798 SemaRef.PushOnScopeChains(PDecl, SemaRef.TUScope);
1799 CheckObjCDeclScope(PDecl);
1801 SemaRef.ProcessDeclAttributeList(SemaRef.TUScope, PDecl, attrList);
1802 SemaRef.AddPragmaAttributes(SemaRef.TUScope, PDecl);
1805 SemaRef.mergeDeclAttributes(PDecl, PrevDecl);
1807 DeclsInGroup.push_back(PDecl);
2684 static void findProtocolsWithExplicitImpls(const ObjCProtocolDecl *PDecl,
2686 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>())
2687 PNS.insert(PDecl->getIdentifier());
2688 for (const auto *PI : PDecl->protocols())
2709 Sema &S, ObjCImplDecl *Impl, ObjCProtocolDecl *PDecl, bool &IncompleteImpl,
2731 if (PDecl->hasAttr<ObjCExplicitProtocolImplAttr>()) {
2736 if (ProtocolsExplictImpl->contains(PDecl->getIdentifier()))
2761 if (!PDecl->isThisDeclarationADefinition() &&
2762 PDecl->getDefinition())
2763 PDecl = PDecl->getDefinition();
2772 for (auto *method : PDecl->instance_methods()) {
2797 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2802 for (auto *method : PDecl->class_methods()) {
2819 WarnUndefinedMethod(S, Impl, method, IncompleteImpl, DIAG, PDecl);
2824 for (auto *PI : PDecl->protocols())
3927 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl);
3937 Sema &S, ObjCProtocolDecl *PDecl, ObjCCategoryDecl *CDecl) {
3938 if (!PDecl->isThisDeclarationADefinition() && PDecl->getDefinition())
3939 PDecl = PDecl->getDefinition();
3943 for (auto *MD : PDecl->methods()) {
3952 for (auto *PD : PDecl->properties()) {
3964 << CDecl->IsClassExtension() << CDecl << PDecl << IDecl;
3972 PDecl->protocols());
5292 const ObjCPropertyDecl *&PDecl) const {
5303 if ((PDecl = Method->findPropertyDecl()))
5304 if (ObjCIvarDecl *IV = PDecl->getPropertyIvarDecl()) {
5362 const ObjCPropertyDecl *PDecl;
5363 const ObjCIvarDecl *IV = GetIvarBackingPropertyAccessor(CurMethod, PDecl);
5381 Diag(PDecl->getLocation(), diag::note_property_declare);