diff options
| author | Fariborz Jahanian <fjahanian@apple.com> | 2013-08-08 21:20:01 +0000 |
|---|---|---|
| committer | Fariborz Jahanian <fjahanian@apple.com> | 2013-08-08 21:20:01 +0000 |
| commit | 261fdb7a9ab563674dc09b727d02b0cb27797557 (patch) | |
| tree | d2c22fee5d8af4703bb7f9a2a246f8afcfbcc09c /clang | |
| parent | c31c2de18b700564f0a0a04637c6ddcb08fe444c (diff) | |
| download | bcm5719-llvm-261fdb7a9ab563674dc09b727d02b0cb27797557.tar.gz bcm5719-llvm-261fdb7a9ab563674dc09b727d02b0cb27797557.zip | |
ObjectiveC migrator: tighten rule about when to
migrate to @property with getter name starting with
'is'.
llvm-svn: 188013
Diffstat (limited to 'clang')
| -rw-r--r-- | clang/lib/ARCMigrate/ObjCMT.cpp | 4 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-property.m | 4 | ||||
| -rw-r--r-- | clang/test/ARCMT/objcmt-property.m.result | 8 |
3 files changed, 8 insertions, 8 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp index 931f6ed051f..14d5cf6112b 100644 --- a/clang/lib/ARCMigrate/ObjCMT.cpp +++ b/clang/lib/ARCMigrate/ObjCMT.cpp @@ -318,10 +318,10 @@ void ObjCMigrateASTConsumer::migrateObjCInterfaceDecl(ASTContext &Ctx, if (!SetterMethod) { // try a different naming convention for getter: isXxxxx StringRef getterNameString = getterName->getName(); - if (getterNameString.startswith("is")) { + if (getterNameString.startswith("is") && !GRT->isObjCRetainableType()) { GetterHasIsPrefix = true; const char *CGetterName = getterNameString.data() + 2; - if (CGetterName[0]) { + if (CGetterName[0] && isUppercase(CGetterName[0])) { getterName = &Ctx.Idents.get(CGetterName); SetterSelector = SelectorTable::constructSetterSelector(PP.getIdentifierTable(), diff --git a/clang/test/ARCMT/objcmt-property.m b/clang/test/ARCMT/objcmt-property.m index 8453999cd25..9a8bfa5aafa 100644 --- a/clang/test/ARCMT/objcmt-property.m +++ b/clang/test/ARCMT/objcmt-property.m @@ -85,6 +85,6 @@ typedef char BOOL; - (id) isAnObject; - (void)setAnObject : (id) object; -- (id)isxdelegateYYY; -- (void)setXdelegateYYY:(id)delegate; +- (BOOL) isinValid; +- (void) setInValid : (BOOL) arg; @end diff --git a/clang/test/ARCMT/objcmt-property.m.result b/clang/test/ARCMT/objcmt-property.m.result index 1cd771a1c72..dcdf0da773c 100644 --- a/clang/test/ARCMT/objcmt-property.m.result +++ b/clang/test/ARCMT/objcmt-property.m.result @@ -82,9 +82,9 @@ typedef char BOOL; @property(getter=isContinuous) BOOL continuous; -@property(getter=isAnObject, retain) id anObject; - - -@property(getter=isxdelegateYYY, unsafe_unretained) id xdelegateYYY; +- (id) isAnObject; +- (void)setAnObject : (id) object; +- (BOOL) isinValid; +- (void) setInValid : (BOOL) arg; @end |

