Home | History | Annotate | Download | only in Sema

Lines Matching defs:Prop

117 CheckPropertyAgainstProtocol(Sema &S, ObjCPropertyDecl *Prop,
125 DeclContext::lookup_result R = Proto->lookup(Prop->getDeclName());
128 S.DiagnosePropertyMismatch(Prop, ProtoProp, Proto->getIdentifier(), true);
135 CheckPropertyAgainstProtocol(S, Prop, P, Known);
771 ObjCPropertyDecl *Prop = I->second;
772 QualType LHSType = S.Context.getCanonicalType(Prop->getType());
783 S.Diag(Prop->getLocation(), diag::note_protocol_property_declare)
784 << Prop->getType();
1427 for (auto *Prop : IDecl->properties())
1428 PropMap[Prop->getIdentifier()] = Prop;
1437 for (auto *Prop : CATDecl->properties())
1438 PropMap[Prop->getIdentifier()] = Prop;
1446 for (auto *Prop : PDecl->properties()) {
1447 ObjCPropertyDecl *PropertyFromSuper = SuperPropMap[Prop->getIdentifier()];
1451 PropertyFromSuper->getIdentifier() != Prop->getIdentifier()) {
1452 ObjCPropertyDecl *&PropEntry = PropMap[Prop->getIdentifier()];
1454 PropEntry = Prop;
1502 ObjCPropertyDecl *Prop) {
1505 if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly)
1510 if (!SuperClassImplementsGetter && SDecl->getInstanceMethod(Prop->getGetterName()))
1513 if (!SuperClassImplementsSetter && SDecl->getInstanceMethod(Prop->getSetterName()))
1536 ObjCPropertyDecl *Prop = PropertyOrder[i];
1538 if (Prop->isInvalidDecl() ||
1539 Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional)
1542 if (IMPDecl->FindPropertyImplDecl(Prop->getIdentifier()))
1544 if (IMPDecl->getInstanceMethod(Prop->getGetterName())) {
1545 if (Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readonly)
1547 if (IMPDecl->getInstanceMethod(Prop->getSetterName()))
1551 if (SuperPropMap[Prop->getIdentifier()]) {
1552 ObjCPropertyDecl *PropInSuperClass = SuperPropMap[Prop->getIdentifier()];
1553 if ((Prop->getPropertyAttributes() & ObjCPropertyDecl::OBJC_PR_readwrite) &&
1556 !IMPDecl->getInstanceMethod(Prop->getSetterName()) &&
1557 !IDecl->HasUserDeclaredSetterMethod(Prop)) {
1558 Diag(Prop->getLocation(), diag::warn_no_autosynthesis_property)
1559 << Prop->getIdentifier();
1565 IMPDecl->FindPropertyImplIvarDecl(Prop->getIdentifier())) {
1566 if (PID->getPropertyDecl() != Prop) {
1567 Diag(Prop->getLocation(), diag::warn_no_autosynthesis_shared_ivar_property)
1568 << Prop->getIdentifier();
1575 dyn_cast<ObjCProtocolDecl>(Prop->getDeclContext())) {
1579 if (!SuperClassImplementsProperty(IDecl, Prop)) {
1582 << Prop << Proto;
1583 Diag(Prop->getLocation(), diag::note_property_declare);
1595 /* property = */ Prop->getIdentifier(),
1596 /* ivar = */ Prop->getDefaultSynthIvarName(Context),
1597 Prop->getLocation()));
1599 Diag(Prop->getLocation(), diag::warn_missing_explicit_synthesis);
1622 ObjCPropertyDecl *Prop,
1635 << Prop->getDeclName() << Method;
1636 S.Diag(Prop->getLocation(),
1731 ObjCPropertyDecl *Prop = P->second;
1733 if (Prop->isInvalidDecl() ||
1734 Prop->getPropertyImplementation() == ObjCPropertyDecl::Optional ||
1735 PropImplMap.count(Prop) ||
1736 Prop->getAvailability() == AR_Unavailable)
1741 PrimaryClass, Prop->getGetterName(), IMPDecl, CDecl, C, Prop, InsMap);
1742 if (!Prop->isReadOnly())
1744 PrimaryClass, Prop->getSetterName(),
1745 IMPDecl, CDecl, C, Prop, InsMap);