Lines Matching refs:ObjCPropertyDecl

40                                ObjCPropertyDecl::PropertyAttributeKind attrs,  in getImpliedARCOwnership()
44 if (attrs & (ObjCPropertyDecl::OBJC_PR_retain | in getImpliedARCOwnership()
45 ObjCPropertyDecl::OBJC_PR_strong | in getImpliedARCOwnership()
46 ObjCPropertyDecl::OBJC_PR_copy)) { in getImpliedARCOwnership()
48 } else if (attrs & ObjCPropertyDecl::OBJC_PR_weak) { in getImpliedARCOwnership()
50 } else if (attrs & ObjCPropertyDecl::OBJC_PR_unsafe_unretained) { in getImpliedARCOwnership()
56 if (attrs & ObjCPropertyDecl::OBJC_PR_assign && in getImpliedARCOwnership()
67 ObjCPropertyDecl *property) { in checkPropertyDeclWithOwnership()
70 ObjCPropertyDecl::PropertyAttributeKind propertyKind in checkPropertyDeclWithOwnership()
84 ObjCPropertyDecl::PropertyAttributeKind attr; in checkPropertyDeclWithOwnership()
86 attr = ObjCPropertyDecl::OBJC_PR_strong; in checkPropertyDeclWithOwnership()
88 attr = ObjCPropertyDecl::OBJC_PR_weak; in checkPropertyDeclWithOwnership()
91 attr = ObjCPropertyDecl::OBJC_PR_unsafe_unretained; in checkPropertyDeclWithOwnership()
110 CheckPropertyAgainstProtocol(Sema &S, ObjCPropertyDecl *Prop, in CheckPropertyAgainstProtocol()
120 if (ObjCPropertyDecl *ProtoProp = dyn_cast<ObjCPropertyDecl>(R[I])) { in CheckPropertyAgainstProtocol()
157 (ObjCPropertyDecl::OBJC_PR_assign |
158 ObjCPropertyDecl::OBJC_PR_retain |
159 ObjCPropertyDecl::OBJC_PR_copy |
160 ObjCPropertyDecl::OBJC_PR_weak |
161 ObjCPropertyDecl::OBJC_PR_strong |
162 ObjCPropertyDecl::OBJC_PR_unsafe_unretained);
169 if (result & (ObjCPropertyDecl::OBJC_PR_assign | in getOwnershipRule()
170 ObjCPropertyDecl::OBJC_PR_unsafe_unretained)) { in getOwnershipRule()
171 result |= ObjCPropertyDecl::OBJC_PR_assign | in getOwnershipRule()
172 ObjCPropertyDecl::OBJC_PR_unsafe_unretained; in getOwnershipRule()
199 ObjCPropertyDecl *Res = nullptr; in ActOnProperty()
241 if (ObjCPropertyDecl *SuperProp = dyn_cast<ObjCPropertyDecl>(R[I])) { in ActOnProperty()
281 static ObjCPropertyDecl::PropertyAttributeKind
285 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_readonly; in makePropertyAttributesAsWritten()
287 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_readwrite; in makePropertyAttributesAsWritten()
289 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_getter; in makePropertyAttributesAsWritten()
291 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_setter; in makePropertyAttributesAsWritten()
293 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_assign; in makePropertyAttributesAsWritten()
295 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_retain; in makePropertyAttributesAsWritten()
297 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_strong; in makePropertyAttributesAsWritten()
299 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_weak; in makePropertyAttributesAsWritten()
301 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_copy; in makePropertyAttributesAsWritten()
303 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_unsafe_unretained; in makePropertyAttributesAsWritten()
305 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_nonatomic; in makePropertyAttributesAsWritten()
307 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_atomic; in makePropertyAttributesAsWritten()
309 attributesAsWritten |= ObjCPropertyDecl::OBJC_PR_class; in makePropertyAttributesAsWritten()
311 return (ObjCPropertyDecl::PropertyAttributeKind)attributesAsWritten; in makePropertyAttributesAsWritten()
345 ObjCPropertyDecl *OldProperty, in checkAtomicPropertyMismatch()
346 ObjCPropertyDecl *NewProperty, in checkAtomicPropertyMismatch()
350 (OldProperty->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_nonatomic) in checkAtomicPropertyMismatch()
353 (NewProperty->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_nonatomic) in checkAtomicPropertyMismatch()
359 auto isImplicitlyReadonlyAtomic = [](ObjCPropertyDecl *Property) -> bool { in checkAtomicPropertyMismatch()
362 if ((Attrs & ObjCPropertyDecl::OBJC_PR_readonly) == 0) return false; in checkAtomicPropertyMismatch()
365 if (Attrs & ObjCPropertyDecl::OBJC_PR_nonatomic) return false; in checkAtomicPropertyMismatch()
369 ObjCPropertyDecl::OBJC_PR_atomic) in checkAtomicPropertyMismatch()
378 (ObjCPropertyDecl::OBJC_PR_atomic | ObjCPropertyDecl::OBJC_PR_nonatomic); in checkAtomicPropertyMismatch()
384 Attrs |= ObjCPropertyDecl::OBJC_PR_atomic; in checkAtomicPropertyMismatch()
386 Attrs |= ObjCPropertyDecl::OBJC_PR_nonatomic; in checkAtomicPropertyMismatch()
412 ObjCPropertyDecl *
445 ObjCPropertyDecl *PIDecl = CCPrimary->FindPropertyVisibleInPrimaryClass( in HandlePropertyInClassExtension()
446 PropertyId, ObjCPropertyDecl::getQueryKind(isClassProperty)); in HandlePropertyInClassExtension()
468 ObjCPropertyDecl::OBJC_PR_readwrite) in HandlePropertyInClassExtension()
507 if ((Attributes & ObjCPropertyDecl::OBJC_PR_weak) && in HandlePropertyInClassExtension()
509 & ObjCPropertyDecl::OBJC_PR_weak) && in HandlePropertyInClassExtension()
519 ObjCPropertyDecl *PDecl = CreatePropertyDecl(S, CDecl, AtLoc, LParenLoc, in HandlePropertyInClassExtension()
565 ObjCPropertyDecl *Sema::CreatePropertyDecl(Scope *S, in CreatePropertyDecl()
622 ObjCPropertyDecl *PDecl = ObjCPropertyDecl::Create(Context, DC, in CreatePropertyDecl()
630 if (ObjCPropertyDecl *prevDecl = ObjCPropertyDecl::findPropertyDecl( in CreatePropertyDecl()
631 DC, PropertyId, ObjCPropertyDecl::getQueryKind(isClassProperty))) { in CreatePropertyDecl()
657 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readonly); in CreatePropertyDecl()
660 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_getter); in CreatePropertyDecl()
663 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_setter); in CreatePropertyDecl()
666 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_readwrite); in CreatePropertyDecl()
669 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_retain); in CreatePropertyDecl()
672 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong); in CreatePropertyDecl()
675 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_weak); in CreatePropertyDecl()
678 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_copy); in CreatePropertyDecl()
681 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained); in CreatePropertyDecl()
684 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign); in CreatePropertyDecl()
688 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_nonatomic); in CreatePropertyDecl()
690 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_atomic); in CreatePropertyDecl()
694 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_assign); in CreatePropertyDecl()
696 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_unsafe_unretained); in CreatePropertyDecl()
699 PDecl->setPropertyImplementation(ObjCPropertyDecl::Required); in CreatePropertyDecl()
701 PDecl->setPropertyImplementation(ObjCPropertyDecl::Optional); in CreatePropertyDecl()
704 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_nullability); in CreatePropertyDecl()
707 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_null_resettable); in CreatePropertyDecl()
710 PDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_class); in CreatePropertyDecl()
716 ObjCPropertyDecl *property, in checkARCPropertyImpl()
774 & ObjCPropertyDecl::OBJC_PR_assign) != 0); in checkARCPropertyImpl()
796 ObjCPropertyDecl *property, ObjCIvarDecl *ivar) { in setImpliedPropertyAttributeForReadOnlyProperty()
805 property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong); in setImpliedPropertyAttributeForReadOnlyProperty()
812 property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong); in setImpliedPropertyAttributeForReadOnlyProperty()
814 property->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_weak); in setImpliedPropertyAttributeForReadOnlyProperty()
819 ObjCPropertyDecl::PropertyAttributeKind Kind) { in isIncompatiblePropertyAttribute()
833 static ObjCPropertyDecl *
836 ObjCPropertyDecl *Property) { in SelectPropertyForSynthesisFromProtocols()
860 ObjCPropertyDecl *OriginalProperty = Property; in SelectPropertyForSynthesisFromProtocols()
886 const ObjCPropertyDecl *Prop; in SelectPropertyForSynthesisFromProtocols()
891 for (ObjCPropertyDecl *Prop : Properties) { in SelectPropertyForSynthesisFromProtocols()
902 bool HasOwnership = (Attr & (ObjCPropertyDecl::OBJC_PR_retain | in SelectPropertyForSynthesisFromProtocols()
903 ObjCPropertyDecl::OBJC_PR_strong | in SelectPropertyForSynthesisFromProtocols()
904 ObjCPropertyDecl::OBJC_PR_copy | in SelectPropertyForSynthesisFromProtocols()
905 ObjCPropertyDecl::OBJC_PR_assign | in SelectPropertyForSynthesisFromProtocols()
906 ObjCPropertyDecl::OBJC_PR_unsafe_unretained | in SelectPropertyForSynthesisFromProtocols()
907 ObjCPropertyDecl::OBJC_PR_weak)) != 0; in SelectPropertyForSynthesisFromProtocols()
910 ObjCPropertyDecl::OBJC_PR_copy)) { in SelectPropertyForSynthesisFromProtocols()
911 Diag(OriginalAttributes & ObjCPropertyDecl::OBJC_PR_copy, "copy"); in SelectPropertyForSynthesisFromProtocols()
916 ObjCPropertyDecl::OBJC_PR_retain | in SelectPropertyForSynthesisFromProtocols()
917 ObjCPropertyDecl::OBJC_PR_strong)) { in SelectPropertyForSynthesisFromProtocols()
918 Diag(OriginalAttributes & (ObjCPropertyDecl::OBJC_PR_retain | in SelectPropertyForSynthesisFromProtocols()
919 ObjCPropertyDecl::OBJC_PR_strong), in SelectPropertyForSynthesisFromProtocols()
924 ObjCPropertyDecl::OBJC_PR_atomic)) { in SelectPropertyForSynthesisFromProtocols()
925 Diag(OriginalAttributes & ObjCPropertyDecl::OBJC_PR_atomic, "atomic"); in SelectPropertyForSynthesisFromProtocols()
1009 static bool hasWrittenStorageAttribute(ObjCPropertyDecl *Prop, in hasWrittenStorageAttribute()
1027 if (ObjCPropertyDecl *OrigProp = dyn_cast<ObjCPropertyDecl>(Found)) in hasWrittenStorageAttribute()
1033 if (ObjCPropertyDecl *OrigProp = Proto->FindPropertyDeclaration( in hasWrittenStorageAttribute()
1065 ObjCPropertyDecl *property = nullptr; in ActOnPropertyImplDecl()
1089 if ((PIkind & (ObjCPropertyDecl::OBJC_PR_atomic | in ActOnPropertyImplDecl()
1090 ObjCPropertyDecl::OBJC_PR_nonatomic) ) == 0) { in ActOnPropertyImplDecl()
1107 (PIkind & ObjCPropertyDecl::OBJC_PR_readonly) && in ActOnPropertyImplDecl()
1116 if (ObjCPropertyDecl *ExtProp = dyn_cast<ObjCPropertyDecl>(R[0])) { in ActOnPropertyImplDecl()
1118 if (PIkind & ObjCPropertyDecl::OBJC_PR_readwrite) { in ActOnPropertyImplDecl()
1195 ObjCPropertyDecl::OBJC_PR_readonly) && in ActOnPropertyImplDecl()
1200 ObjCPropertyDecl::PropertyAttributeKind kind in ActOnPropertyImplDecl()
1204 if (kind & ObjCPropertyDecl::OBJC_PR_weak) { in ActOnPropertyImplDecl()
1275 !(kind & ObjCPropertyDecl::OBJC_PR_strong)) { in ActOnPropertyImplDecl()
1490 ObjCPropertyDecl::OBJC_PR_atomic) { in ActOnPropertyImplDecl()
1577 Sema::DiagnosePropertyMismatch(ObjCPropertyDecl *Property, in DiagnosePropertyMismatch()
1578 ObjCPropertyDecl *SuperProperty, in DiagnosePropertyMismatch()
1581 ObjCPropertyDecl::PropertyAttributeKind CAttr = in DiagnosePropertyMismatch()
1583 ObjCPropertyDecl::PropertyAttributeKind SAttr = in DiagnosePropertyMismatch()
1593 if ((CAttr & ObjCPropertyDecl::OBJC_PR_readonly) in DiagnosePropertyMismatch()
1594 && (SAttr & ObjCPropertyDecl::OBJC_PR_readwrite)) in DiagnosePropertyMismatch()
1597 if ((CAttr & ObjCPropertyDecl::OBJC_PR_copy) in DiagnosePropertyMismatch()
1598 != (SAttr & ObjCPropertyDecl::OBJC_PR_copy)) in DiagnosePropertyMismatch()
1601 else if (!(SAttr & ObjCPropertyDecl::OBJC_PR_readonly)){ in DiagnosePropertyMismatch()
1604 (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong)); in DiagnosePropertyMismatch()
1607 (ObjCPropertyDecl::OBJC_PR_retain | ObjCPropertyDecl::OBJC_PR_strong)); in DiagnosePropertyMismatch()
1655 bool Sema::DiagnosePropertyAccessorMismatch(ObjCPropertyDecl *property, in DiagnosePropertyAccessorMismatch()
1744 ObjCPropertyDecl *PropertyFromSuper = in CollectImmediateProperties()
1751 ObjCPropertyDecl *&PropEntry = in CollectImmediateProperties()
1812 ObjCPropertyDecl *Prop) { in SuperClassImplementsProperty()
1815 if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly) in SuperClassImplementsProperty()
1846 ObjCPropertyDecl *Prop = PropertyOrder[i]; in DefaultSynthesizeProperties()
1850 Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional) in DefaultSynthesizeProperties()
1857 if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly) in DefaultSynthesizeProperties()
1870 ObjCPropertyDecl *PropInSuperClass = in DefaultSynthesizeProperties()
1893 if ((Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readwrite) && in DefaultSynthesizeProperties()
1895 ObjCPropertyDecl::OBJC_PR_readonly) && in DefaultSynthesizeProperties()
1942 ObjCPropertyDecl *Prop, in DiagnoseUnimplementedAccessor()
2043 llvm::DenseSet<ObjCPropertyDecl *> PropImplMap; in DiagnoseUnimplementedProperties()
2067 ObjCPropertyDecl *Prop = P->second; in DiagnoseUnimplementedProperties()
2070 Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional || in DiagnoseUnimplementedProperties()
2094 ObjCPropertyDecl::OBJC_PR_null_resettable) && in diagnoseNullResettableSynthesizedSetters()
2127 const ObjCPropertyDecl *Property = I->second; in AtomicPropertySetterGetterRules()
2135 if (!(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_atomic) && in AtomicPropertySetterGetterRules()
2136 !(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_nonatomic)) { in AtomicPropertySetterGetterRules()
2159 if ((Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) || in AtomicPropertySetterGetterRules()
2160 !(Attributes & ObjCPropertyDecl::OBJC_PR_readwrite)) in AtomicPropertySetterGetterRules()
2183 !(AttributesAsWritten & ObjCPropertyDecl::OBJC_PR_atomic)) { in AtomicPropertySetterGetterRules()
2213 const ObjCPropertyDecl *PD = PID->getPropertyDecl(); in DiagnoseOwningPropertyGetterSynthesis()
2301 ObjCPropertyDecl *Property) { in AddPropertyAttrs()
2315 void Sema::ProcessPropertyDecl(ObjCPropertyDecl *property) { in ProcessPropertyDecl()
2383 ObjCPropertyDecl::OBJC_PR_null_resettable) { in ProcessPropertyDecl()
2399 ObjCPropertyDecl::Optional) ? in ProcessPropertyDecl()
2446 ObjCPropertyDecl::Optional) ? in ProcessPropertyDecl()
2457 ObjCPropertyDecl::OBJC_PR_null_resettable) { in ProcessPropertyDecl()
2544 ObjCPropertyDecl *PropertyDecl = cast<ObjCPropertyDecl>(PDecl); in CheckObjCPropertyAttributes()
2669 PropertyDecl->setPropertyAttributes(ObjCPropertyDecl::OBJC_PR_strong); in CheckObjCPropertyAttributes()