Lines Matching refs:PDecl
230 ObjCPropertyDecl *PDecl =
233 PDecl->setPropertyAttributesAsWritten(
236 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readonly);
238 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readwrite);
240 PDecl->setGetterName(GetterSel);
241 PDecl->setSetterName(SetterSel);
242 ProcessDeclAttributes(S, PDecl, FD.D);
243 DC->addDecl(PDecl);
260 ObjCPropertyDecl *PDecl =
268 ProcessPropertyDecl(PDecl, CCPrimary, /* redeclaredProperty = */ 0,
270 return PDecl;
273 != PDecl->getType().getCanonicalType()) {
275 diag::warn_type_mismatch_continuation_class) << PDecl->getType();
341 ProcessPropertyDecl(PIDecl, CCPrimary, PDecl, CDecl);
377 ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC,
383 Diag(PDecl->getLocation(), diag::err_duplicate_property);
385 PDecl->setInvalidDecl();
388 DC->addDecl(PDecl);
390 PDecl->setLexicalDeclContext(lexicalDC);
395 PDecl->setInvalidDecl();
398 ProcessDeclAttributes(S, PDecl, FD.D);
402 PDecl->setGetterName(GetterSel);
403 PDecl->setSetterName(SetterSel);
404 PDecl->setPropertyAttributesAsWritten(
408 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readonly);
411 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_getter);
414 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_setter);
417 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readwrite);
420 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_retain);
423 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong);
426 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_weak);
429 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_copy);
432 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
435 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign);
439 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_nonatomic);
441 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_atomic);
445 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign);
447 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
450 PDecl->setPropertyImplementation(ObjCPropertyDecl::Required);
452 PDecl->setPropertyImplementation(ObjCPropertyDecl::Optional);
454 return PDecl;
989 ObjCPropertyDecl *PDecl = (*I);
990 if (SuperPDecl->getIdentifier() == PDecl->getIdentifier())
991 DiagnosePropertyMismatch(PDecl, SuperPDecl,
1002 ObjCProtocolDecl *PDecl) {
1009 for (ObjCProtocolDecl::prop_iterator P = PDecl->prop_begin(),
1010 E = PDecl->prop_end(); P != E; ++P) {
1019 DiagnosePropertyMismatch((*CP), Pr, PDecl->getIdentifier());
1023 for (ObjCProtocolDecl::prop_iterator P = PDecl->prop_begin(),
1024 E = PDecl->prop_end(); P != E; ++P) {
1033 DiagnosePropertyMismatch((*CP), Pr, PDecl->getIdentifier());
1093 bool Sema::isPropertyReadonly(ObjCPropertyDecl *PDecl,
1096 if (!PDecl->isReadOnly())
1100 if (IDecl->getInstanceMethod(PDecl->getSetterName()))
1110 if (Category->getInstanceMethod(PDecl->getSetterName()))
1113 Category->FindPropertyDeclaration(PDecl->getIdentifier());
1123 if (IMD->getInstanceMethod(PDecl->getSetterName()))
1127 if (CIMD->getInstanceMethod(PDecl->getSetterName()))
1133 if (ImpDecl->getInstanceMethod(PDecl->getSetterName()))
1137 return isPropertyReadonly(PDecl, SIDecl);
1170 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(CDecl)) {
1171 for (ObjCProtocolDecl::prop_iterator P = PDecl->prop_begin(),
1172 E = PDecl->prop_end(); P != E; ++P) {
1185 for (ObjCProtocolDecl::protocol_iterator PI = PDecl->protocol_begin(),
1186 E = PDecl->protocol_end(); PI != E; ++PI)
1207 else if (ObjCProtocolDecl *PDecl = dyn_cast<ObjCProtocolDecl>(CDecl)) {
1208 for (ObjCProtocolDecl::prop_iterator P = PDecl->prop_begin(),
1209 E = PDecl->prop_end(); P != E; ++P) {
1214 for (ObjCProtocolDecl::protocol_iterator PI = PDecl->protocol_begin(),
1215 E = PDecl->protocol_end(); PI != E; ++PI)
1254 else if (const ObjCProtocolDecl *PDecl =
1256 for (ObjCProtocolDecl::prop_iterator P = PDecl->prop_begin(),
1257 E = PDecl->prop_end(); P != E; ++P) {
1263 for (ObjCProtocolDecl::protocol_iterator PI = PDecl->protocol_begin(),
1264 E = PDecl->protocol_end(); PI != E; ++PI) {
1637 void Sema::CheckObjCPropertyAttributes(Decl *PDecl,
1641 if (!PDecl || PDecl->isInvalidDecl())
1644 ObjCPropertyDecl *PropertyDecl = cast<ObjCPropertyDecl>(PDecl);