Home | History | Annotate | Download | only in Sema

Lines Matching defs:Attributes

32 /// getImpliedARCOwnership - Given a set of property attributes and a
36 /// Returns OCL_None if the attributes as stated do not imply an ownership.
147 unsigned Attributes = ODS.getPropertyAttributes();
150 Attributes |= deduceWeakPropertyFromType(*this, T);
152 bool isReadWrite = ((Attributes & ObjCDeclSpec::DQ_PR_readwrite) ||
154 !(Attributes & ObjCDeclSpec::DQ_PR_readonly));
157 bool isAssign = ((Attributes & ObjCDeclSpec::DQ_PR_assign) ||
159 !(Attributes & ObjCDeclSpec::DQ_PR_retain) &&
160 !(Attributes & ObjCDeclSpec::DQ_PR_strong) &&
161 !(Attributes & ObjCDeclSpec::DQ_PR_copy) &&
162 !(Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) &&
163 !(Attributes & ObjCDeclSpec::DQ_PR_weak)));
173 Attributes,
185 Attributes, ODS.getPropertyAttributes(),
191 // Validate the attributes on the @property.
192 CheckObjCPropertyAttributes(Res, AtLoc, Attributes,
244 makePropertyAttributesAsWritten(unsigned Attributes) {
246 if (Attributes & ObjCDeclSpec::DQ_PR_readonly)
248 if (Attributes & ObjCDeclSpec::DQ_PR_readwrite)
250 if (Attributes & ObjCDeclSpec::DQ_PR_getter)
252 if (Attributes & ObjCDeclSpec::DQ_PR_setter)
254 if (Attributes & ObjCDeclSpec::DQ_PR_assign)
256 if (Attributes & ObjCDeclSpec::DQ_PR_retain)
258 if (Attributes & ObjCDeclSpec::DQ_PR_strong)
260 if (Attributes & ObjCDeclSpec::DQ_PR_weak)
262 if (Attributes & ObjCDeclSpec::DQ_PR_copy)
264 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained)
266 if (Attributes & ObjCDeclSpec::DQ_PR_nonatomic)
268 if (Attributes & ObjCDeclSpec::DQ_PR_atomic)
321 const unsigned Attributes,
353 if (Attributes & ObjCDeclSpec::DQ_PR_readonly)
355 if (Attributes & ObjCDeclSpec::DQ_PR_readwrite)
357 if (Attributes & ObjCDeclSpec::DQ_PR_nonatomic)
359 if (Attributes & ObjCDeclSpec::DQ_PR_atomic)
385 Attributes,AttributesAsWritten, T, MethodImplKind, DC);
428 unsigned ClassExtensionMemoryModel = getOwnershipRule(Attributes);
443 (Attributes & ObjCDeclSpec::DQ_PR_weak) &&
488 if (Attributes & ObjCDeclSpec::DQ_PR_retain)
490 if (Attributes & ObjCDeclSpec::DQ_PR_strong)
492 if (Attributes & ObjCDeclSpec::DQ_PR_copy)
501 (Attributes & ObjCDeclSpec::DQ_PR_readwrite) &&
529 const unsigned Attributes,
540 isAssign && !(Attributes & ObjCDeclSpec::DQ_PR_assign))
592 if (Attributes & ObjCDeclSpec::DQ_PR_readonly)
595 if (Attributes & ObjCDeclSpec::DQ_PR_getter)
598 if (Attributes & ObjCDeclSpec::DQ_PR_setter)
604 if (Attributes & ObjCDeclSpec::DQ_PR_retain)
607 if (Attributes & ObjCDeclSpec::DQ_PR_strong)
610 if (Attributes & ObjCDeclSpec::DQ_PR_weak)
613 if (Attributes & ObjCDeclSpec::DQ_PR_copy)
616 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained)
622 // In the semantic attributes, one of nonatomic or atomic is always set.
623 if (Attributes & ObjCDeclSpec::DQ_PR_nonatomic)
629 if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained)
650 // The lifetime implied by the property's attributes.
716 /// This routine evaludates life-time attributes for a 'readonly'
981 // property attributes.
1298 /// attributes and types and warns on a variety of inconsistencies.
1760 unsigned Attributes = Property->getPropertyAttributes();
1783 if ((Attributes & ObjCPropertyDecl::OBJC_PR_nonatomic) ||
1784 !(Attributes & ObjCPropertyDecl::OBJC_PR_readwrite))
1885 /// AddPropertyAttrs - Propagates attributes from a property to the
1889 // Should we just clone all attributes over?
2078 unsigned &Attributes,
2084 if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) &&
2085 (Attributes & ObjCDeclSpec::DQ_PR_readwrite))
2091 unsigned PropertyOwnership = getOwnershipRule(Attributes);
2096 Attributes & ObjCDeclSpec::DQ_PR_readonly &&
2102 if ((Attributes & (ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy |
2107 << (Attributes & ObjCDeclSpec::DQ_PR_weak ? "weak" :
2108 Attributes & ObjCDeclSpec::DQ_PR_copy ? "copy" : "retain (or strong)");
2109 Attributes &= ~(ObjCDeclSpec::DQ_PR_weak | ObjCDeclSpec::DQ_PR_copy |
2115 if (Attributes & ObjCDeclSpec::DQ_PR_assign) {
2116 if (Attributes & ObjCDeclSpec::DQ_PR_copy) {
2119 Attributes &= ~ObjCDeclSpec::DQ_PR_copy;
2121 if (Attributes & ObjCDeclSpec::DQ_PR_retain) {
2124 Attributes &= ~ObjCDeclSpec::DQ_PR_retain;
2126 if (Attributes & ObjCDeclSpec::DQ_PR_strong) {
2129 Attributes &= ~ObjCDeclSpec::DQ_PR_strong;
2132 (Attributes & ObjCDeclSpec::DQ_PR_weak)) {
2135 Attributes &= ~ObjCDeclSpec::DQ_PR_weak;
2139 } else if (Attributes & ObjCDeclSpec::DQ_PR_unsafe_unretained) {
2140 if (Attributes & ObjCDeclSpec::DQ_PR_copy) {
2143 Attributes &= ~ObjCDeclSpec::DQ_PR_copy;
2145 if (Attributes & ObjCDeclSpec::DQ_PR_retain) {
2148 Attributes &= ~ObjCDeclSpec::DQ_PR_retain;
2150 if (Attributes & ObjCDeclSpec::DQ_PR_strong) {
2153 Attributes &= ~ObjCDeclSpec::DQ_PR_strong;
2156 (Attributes & ObjCDeclSpec::DQ_PR_weak)) {
2159 Attributes &= ~ObjCDeclSpec::DQ_PR_weak;
2161 } else if (Attributes & ObjCDeclSpec::DQ_PR_copy) {
2162 if (Attributes & ObjCDeclSpec::DQ_PR_retain) {
2165 Attributes &= ~ObjCDeclSpec::DQ_PR_retain;
2167 if (Attributes & ObjCDeclSpec::DQ_PR_strong) {
2170 Attributes &= ~ObjCDeclSpec::DQ_PR_strong;
2172 if (Attributes & ObjCDeclSpec::DQ_PR_weak) {
2175 Attributes &= ~ObjCDeclSpec::DQ_PR_weak;
2178 else if ((Attributes & ObjCDeclSpec::DQ_PR_retain) &&
2179 (Attributes & ObjCDeclSpec::DQ_PR_weak)) {
2182 Attributes &= ~ObjCDeclSpec::DQ_PR_retain;
2184 else if ((Attributes & ObjCDeclSpec::DQ_PR_strong) &&
2185 (Attributes & ObjCDeclSpec::DQ_PR_weak)) {
2188 Attributes &= ~ObjCDeclSpec::DQ_PR_weak;
2191 if ((Attributes & ObjCDeclSpec::DQ_PR_atomic) &&
2192 (Attributes & ObjCDeclSpec::DQ_PR_nonatomic)) {
2195 Attributes &= ~ObjCDeclSpec::DQ_PR_atomic;
2200 if (!(Attributes & (ObjCDeclSpec::DQ_PR_assign | ObjCDeclSpec::DQ_PR_copy |
2209 else if (!(Attributes & ObjCDeclSpec::DQ_PR_readonly)) {
2236 if (!(Attributes & ObjCDeclSpec::DQ_PR_copy)
2237 &&!(Attributes & ObjCDeclSpec::DQ_PR_readonly)
2241 else if ((Attributes & ObjCDeclSpec::DQ_PR_retain) &&
2242 !(Attributes & ObjCDeclSpec::DQ_PR_readonly) &&
2243 !(Attributes & ObjCDeclSpec::DQ_PR_strong) &&
2247 if ((Attributes & ObjCDeclSpec::DQ_PR_readonly) &&
2248 (Attributes & ObjCDeclSpec::DQ_PR_setter))