Lines Matching refs:Property
349 auto isImplicitlyReadonlyAtomic = [](ObjCPropertyDecl *Property) -> bool { in checkAtomicPropertyMismatch() argument
351 auto Attrs = Property->getPropertyAttributes(); in checkAtomicPropertyMismatch()
360 if (Property->getPropertyAttributesAsWritten() & in checkAtomicPropertyMismatch()
840 ObjCPropertyDecl *Property) { in SelectPropertyForSynthesisFromProtocols() argument
841 assert(isa<ObjCProtocolDecl>(Property->getDeclContext()) && in SelectPropertyForSynthesisFromProtocols()
847 PDecl->collectInheritedProtocolProperties(Property, ProtocolSet, in SelectPropertyForSynthesisFromProtocols()
854 PDecl->collectInheritedProtocolProperties(Property, ProtocolSet, in SelectPropertyForSynthesisFromProtocols()
862 return Property; in SelectPropertyForSynthesisFromProtocols()
864 ObjCPropertyDecl *OriginalProperty = Property; in SelectPropertyForSynthesisFromProtocols()
868 if (Property->isReadOnly() && !Prop.value()->isReadOnly()) { in SelectPropertyForSynthesisFromProtocols()
869 Property = Prop.value(); in SelectPropertyForSynthesisFromProtocols()
873 if (Property != OriginalProperty) { in SelectPropertyForSynthesisFromProtocols()
878 QualType RHSType = S.Context.getCanonicalType(Property->getType()); in SelectPropertyForSynthesisFromProtocols()
879 unsigned OriginalAttributes = Property->getPropertyAttributesAsWritten(); in SelectPropertyForSynthesisFromProtocols()
934 if (Property->getGetterName() != Prop->getGetterName()) { in SelectPropertyForSynthesisFromProtocols()
938 if (!Property->isReadOnly() && !Prop->isReadOnly() && in SelectPropertyForSynthesisFromProtocols()
939 Property->getSetterName() != Prop->getSetterName()) { in SelectPropertyForSynthesisFromProtocols()
956 return Property; in SelectPropertyForSynthesisFromProtocols()
966 auto Diag = S.Diag(Property->getLocation(), in SelectPropertyForSynthesisFromProtocols()
967 Property != OriginalProperty || HasIncompatibleAttributes in SelectPropertyForSynthesisFromProtocols()
973 Diag << Property->getType(); in SelectPropertyForSynthesisFromProtocols()
980 Diag << Property->getGetterName(); in SelectPropertyForSynthesisFromProtocols()
983 Diag << Property->getSetterName(); in SelectPropertyForSynthesisFromProtocols()
1010 return Property; in SelectPropertyForSynthesisFromProtocols()
1634 Sema::DiagnosePropertyMismatch(ObjCPropertyDecl *Property, in DiagnosePropertyMismatch() argument
1638 ObjCPropertyAttribute::Kind CAttr = Property->getPropertyAttributes(); in DiagnosePropertyMismatch()
1650 Diag(Property->getLocation(), diag::warn_readonly_property) in DiagnosePropertyMismatch()
1651 << Property->getDeclName() << inheritedName; in DiagnosePropertyMismatch()
1654 Diag(Property->getLocation(), diag::warn_property_attribute) in DiagnosePropertyMismatch()
1655 << Property->getDeclName() << "copy" << inheritedName; in DiagnosePropertyMismatch()
1664 Diag(Property->getLocation(), diag::warn_property_attribute) in DiagnosePropertyMismatch()
1665 << Property->getDeclName() << "retain (or strong)" << inheritedName; in DiagnosePropertyMismatch()
1672 checkAtomicPropertyMismatch(*this, SuperProperty, Property, false); in DiagnosePropertyMismatch()
1675 if (Property->getSetterName() != SuperProperty->getSetterName() && in DiagnosePropertyMismatch()
1678 Diag(Property->getLocation(), diag::warn_property_attribute) in DiagnosePropertyMismatch()
1679 << Property->getDeclName() << "setter" << inheritedName; in DiagnosePropertyMismatch()
1682 if (Property->getGetterName() != SuperProperty->getGetterName()) { in DiagnosePropertyMismatch()
1683 Diag(Property->getLocation(), diag::warn_property_attribute) in DiagnosePropertyMismatch()
1684 << Property->getDeclName() << "getter" << inheritedName; in DiagnosePropertyMismatch()
1691 Context.getCanonicalType(Property->getType()); in DiagnosePropertyMismatch()
1701 Diag(Property->getLocation(), diag::warn_property_types_are_incompatible) in DiagnosePropertyMismatch()
1702 << Property->getType() << SuperProperty->getType() << inheritedName; in DiagnosePropertyMismatch()
1846 for (const auto *Property : IFace->instance_properties()) { in IvarBacksCurrentMethodAccessor() local
1847 if ((Property->getGetterName() == IMD->getSelector() || in IvarBacksCurrentMethodAccessor()
1848 Property->getSetterName() == IMD->getSelector()) && in IvarBacksCurrentMethodAccessor()
1849 (Property->getPropertyIvarDecl() == IV)) in IvarBacksCurrentMethodAccessor()
1855 for (const auto *Property : Ext->instance_properties()) in IvarBacksCurrentMethodAccessor() local
1856 if ((Property->getGetterName() == IMD->getSelector() || in IvarBacksCurrentMethodAccessor()
1857 Property->getSetterName() == IMD->getSelector()) && in IvarBacksCurrentMethodAccessor()
1858 (Property->getPropertyIvarDecl() == IV)) in IvarBacksCurrentMethodAccessor()
2176 const ObjCPropertyDecl *Property = I->second; in AtomicPropertySetterGetterRules() local
2180 unsigned Attributes = Property->getPropertyAttributes(); in AtomicPropertySetterGetterRules()
2181 unsigned AttributesAsWritten = Property->getPropertyAttributesAsWritten(); in AtomicPropertySetterGetterRules()
2185 GetterMethod = Property->isClassProperty() ? in AtomicPropertySetterGetterRules()
2186 IMPDecl->getClassMethod(Property->getGetterName()) : in AtomicPropertySetterGetterRules()
2187 IMPDecl->getInstanceMethod(Property->getGetterName()); in AtomicPropertySetterGetterRules()
2188 SetterMethod = Property->isClassProperty() ? in AtomicPropertySetterGetterRules()
2189 IMPDecl->getClassMethod(Property->getSetterName()) : in AtomicPropertySetterGetterRules()
2190 IMPDecl->getInstanceMethod(Property->getSetterName()); in AtomicPropertySetterGetterRules()
2198 << Property->getIdentifier() << 0; in AtomicPropertySetterGetterRules()
2199 Diag(Property->getLocation(), diag::note_property_declare); in AtomicPropertySetterGetterRules()
2204 << Property->getIdentifier() << 1; in AtomicPropertySetterGetterRules()
2205 Diag(Property->getLocation(), diag::note_property_declare); in AtomicPropertySetterGetterRules()
2214 Property->getIdentifier(), Property->getQueryKind())) { in AtomicPropertySetterGetterRules()
2228 << Property->getIdentifier() << (GetterMethod != nullptr) in AtomicPropertySetterGetterRules()
2231 if (Property->getLParenLoc().isValid() && in AtomicPropertySetterGetterRules()
2235 getLocForEndOfToken(Property->getLParenLoc()); in AtomicPropertySetterGetterRules()
2238 Diag(Property->getLocation(), in AtomicPropertySetterGetterRules()
2241 } else if (Property->getLParenLoc().isInvalid()) { in AtomicPropertySetterGetterRules()
2244 Property->getTypeSourceInfo()->getTypeLoc().getBeginLoc(); in AtomicPropertySetterGetterRules()
2245 Diag(Property->getLocation(), in AtomicPropertySetterGetterRules()
2250 Diag(Property->getLocation(), diag::note_property_declare); in AtomicPropertySetterGetterRules()
2360 ObjCPropertyDecl *Property) { in AddPropertyAttrs() argument
2362 for (const auto *A : Property->attrs()) { in AddPropertyAttrs()