From: Fariborz Jahanian Date: Mon, 23 Sep 2013 23:18:46 +0000 (+0000) Subject: ObjectiveC migrator. When migrating to property declaration X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=635fe065866d0171ac89a94f9f14ed2254de0388;p=clang ObjectiveC migrator. When migrating to property declaration use Cocoa's naming convention for properties of ObjC object type. // rdar://15045005 git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@191240 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/lib/ARCMigrate/ObjCMT.cpp b/lib/ARCMigrate/ObjCMT.cpp index c29a2de46b..1dd8b0dfbd 100644 --- a/lib/ARCMigrate/ObjCMT.cpp +++ b/lib/ARCMigrate/ObjCMT.cpp @@ -304,7 +304,9 @@ static bool rewriteToObjCProperty(const ObjCMethodDecl *Getter, } PropertyString += " "; PropertyString += RT.getAsString(Context.getPrintingPolicy()); - PropertyString += " "; + char LastChar = PropertyString[PropertyString.size()-1] ; + if (LastChar != '*') + PropertyString += " "; if (LengthOfPrefix > 0) { // property name must strip off "is" and lower case the first character // after that; e.g. isContinuous will become continuous. diff --git a/test/ARCMT/objcmt-property.m.result b/test/ARCMT/objcmt-property.m.result index 30bd028008..b5625f9850 100644 --- a/test/ARCMT/objcmt-property.m.result +++ b/test/ARCMT/objcmt-property.m.result @@ -22,21 +22,21 @@ typedef char BOOL; int ivarVal; } -@property(nonatomic, weak) NSString * WeakProp; +@property(nonatomic, weak) NSString *WeakProp; -@property(nonatomic, retain) NSString * StrongProp; +@property(nonatomic, retain) NSString *StrongProp; - (NSString *) UnavailProp __attribute__((unavailable)); - (void) setUnavailProp : (NSString *)Val; -@property(nonatomic, retain) NSString * UnavailProp1 __attribute__((unavailable)); +@property(nonatomic, retain) NSString *UnavailProp1 __attribute__((unavailable)); - (NSString *) UnavailProp2; - (void) setUnavailProp2 : (NSString *)Val __attribute__((unavailable)); -@property(nonatomic, copy) NSDictionary * undoAction; +@property(nonatomic, copy) NSDictionary *undoAction; @end @@ -56,10 +56,10 @@ typedef char BOOL; -@property(nonatomic, retain) NSArray * names2; -@property(nonatomic, retain) NSArray * names3; -@property(nonatomic, retain) NSArray * names4; -@property(nonatomic, retain) NSArray * names1; +@property(nonatomic, retain) NSArray *names2; +@property(nonatomic, retain) NSArray *names3; +@property(nonatomic, retain) NSArray *names4; +@property(nonatomic, retain) NSArray *names1; @end // Properties that contain the name "delegate" or "dataSource", @@ -97,13 +97,13 @@ typedef char BOOL; @property(nonatomic, readonly) int Length; @property(nonatomic, readonly) id object; + (double) D; -@property(nonatomic, readonly) void * JSObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER); +@property(nonatomic, readonly) void *JSObject WEBKIT_OBJC_METHOD_ANNOTATION(AVAILABLE_WEBKIT_VERSION_3_0_AND_LATER); @property(nonatomic, getter=isIgnoringInteractionEvents, readonly) BOOL ignoringInteractionEvents; -@property(nonatomic, getter=getStringValue, retain) NSString * stringValue; +@property(nonatomic, getter=getStringValue, retain) NSString *stringValue; @property(nonatomic, getter=getCounterValue, readonly) BOOL counterValue; -@property(nonatomic, getter=getns_dixtionary, readonly) NSDictionary * ns_dixtionary; +@property(nonatomic, getter=getns_dixtionary, readonly) NSDictionary *ns_dixtionary; - (BOOL)is3bar; // watch out - (NSString *)get3foo; // watch out @@ -187,7 +187,7 @@ DEPRECATED - (NSURL *)appStoreReceiptURL NS_AVAILABLE; - (void) setAppStoreReceiptURL : (NSURL *)object; -@property(nonatomic, retain) NSURL * appStoreReceiptURLX NS_AVAILABLE; +@property(nonatomic, retain) NSURL *appStoreReceiptURLX NS_AVAILABLE; // Do not infer a property.