summaryrefslogtreecommitdiffstats
path: root/clang/lib/Sema/SemaExprObjC.cpp
diff options
context:
space:
mode:
authorFariborz Jahanian <fjahanian@apple.com>2012-05-24 22:48:38 +0000
committerFariborz Jahanian <fjahanian@apple.com>2012-05-24 22:48:38 +0000
commit3f88afad2f5de0fc78c9670d1779f3851573f331 (patch)
tree75d8e25406fe65e11bdd2381b5631fa5fe63e066 /clang/lib/Sema/SemaExprObjC.cpp
parentc49c22642bf8a71856027f5fbb9b279f089ad13b (diff)
downloadbcm5719-llvm-3f88afad2f5de0fc78c9670d1779f3851573f331.tar.gz
bcm5719-llvm-3f88afad2f5de0fc78c9670d1779f3851573f331.zip
objective-c: warn on use of property setters
backing two propeties because proprty names match except for first letter being of different case. // rdar://11528439, [PR12936]. llvm-svn: 157435
Diffstat (limited to 'clang/lib/Sema/SemaExprObjC.cpp')
-rw-r--r--clang/lib/Sema/SemaExprObjC.cpp11
1 files changed, 5 insertions, 6 deletions
diff --git a/clang/lib/Sema/SemaExprObjC.cpp b/clang/lib/Sema/SemaExprObjC.cpp
index 52e093c85b0..9ce0fafe3c1 100644
--- a/clang/lib/Sema/SemaExprObjC.cpp
+++ b/clang/lib/Sema/SemaExprObjC.cpp
@@ -1415,8 +1415,7 @@ HandleExprPropertyRefExpr(const ObjCObjectPointerType *OPT,
return ExprError();
// Search for a declared property first.
- ObjCPropertyDecl *PD = IFace->FindPropertyDeclaration(Member);
- if (PD) {
+ if (ObjCPropertyDecl *PD = IFace->FindPropertyDeclaration(Member)) {
// Check whether we can reference this property.
if (DiagnoseUseOfDecl(PD, MemberLoc))
return ExprError();
@@ -1484,11 +1483,11 @@ HandleExprPropertyRefExpr(const ObjCObjectPointerType *OPT,
SelectorTable::constructSetterName(PP.getIdentifierTable(),
PP.getSelectorTable(), Member);
ObjCMethodDecl *Setter = IFace->lookupInstanceMethod(SetterSel);
- // Check for corner case of: @property int p; ... self.P = 0;
- // setter name is synthesized "setP" but there is no property name 'P'.
- if (Setter && Setter->isSynthesized() && !PD)
+ if (Setter && Setter->isSynthesized())
+ // Check for corner case of: @property int p; ... self.P = 0;
+ // setter name is synthesized "setP" but there is no property name 'P'.
Setter = 0;
-
+
// May be founf in property's qualified list.
if (!Setter)
Setter = LookupMethodInQualifiedType(SetterSel, OPT, true);
OpenPOWER on IntegriCloud