Objective-C moderinzer [qoi], add space on rhs when needed when
authorFariborz Jahanian <fjahanian@apple.com>
Fri, 23 Jan 2015 21:58:46 +0000 (21:58 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Fri, 23 Jan 2015 21:58:46 +0000 (21:58 +0000)
converting to property-dot syntax for setters.
rdar://19381786

llvm-svn: 226944

clang/lib/ARCMigrate/ObjCMT.cpp
clang/test/ARCMT/objcmt-property-dot-syntax.m
clang/test/ARCMT/objcmt-property-dot-syntax.m.result

index 48a4931c207391b2120289b56d68b35e18b2e9cc..59feea11e137a72c273c479a3c4e16a9eb450467 100644 (file)
@@ -309,6 +309,10 @@ namespace {
       BegLoc = PP.getLocForEndOfToken(BegLoc);
       SourceLocation EndLoc = RHS->getLocStart();
       EndLoc = EndLoc.getLocWithOffset(-1);
+      const char *colon = PP.getSourceManager().getCharacterData(EndLoc);
+      // Add a space after '=' if there is no space between RHS and '='
+      if (colon && colon[0] == ':')
+        PropertyDotString += " ";
       SourceRange Range(BegLoc, EndLoc);
       commit.replace(Range, PropertyDotString);
       // remove '[' ']'
index f1038a844b464857e786df3afa1c5280c66c5ae6..f1b92555507950391ed13da245c5e0b9ff64ed72 100644 (file)
@@ -90,3 +90,24 @@ id testRdar19038838(Rdar19038838 *obj) {
 }
 @end
 
+// rdar://19140114
+int NSOnState;
+int ArrNSOnState[4];
+@interface rdar19140114 : NSObject
+{
+  rdar19140114* menuItem;
+}
+@property int state;
+@end
+
+@implementation rdar19140114
+- (void) Meth {
+  [menuItem setState:NSOnState];
+  [menuItem setState :NSOnState];
+  [menuItem setState     :ArrNSOnState[NSOnState]];
+  [menuItem setState : NSOnState];
+  [menuItem setState:    NSOnState];
+  [menuItem setState: NSOnState];
+  [menuItem setState     :    NSOnState];
+}
+@end
index b7561e526d098cae6699fae03a4add7717a4bb1f..70c7e7ab54e741dd99cd5ad3ca8a1b108ff1c9df 100644 (file)
@@ -90,3 +90,24 @@ id testRdar19038838(Rdar19038838 *obj) {
 }
 @end
 
+// rdar://19140114
+int NSOnState;
+int ArrNSOnState[4];
+@interface rdar19140114 : NSObject
+{
+  rdar19140114* menuItem;
+}
+@property int state;
+@end
+
+@implementation rdar19140114
+- (void) Meth {
+  menuItem.state = NSOnState;
+  menuItem.state = NSOnState;
+  menuItem.state = ArrNSOnState[NSOnState];
+  menuItem.state = NSOnState;
+  menuItem.state = NSOnState;
+  menuItem.state = NSOnState;
+  menuItem.state = NSOnState;
+}
+@end