summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--clang/lib/ARCMigrate/ObjCMT.cpp4
-rw-r--r--clang/test/ARCMT/objcmt-property-dot-syntax.m21
-rw-r--r--clang/test/ARCMT/objcmt-property-dot-syntax.m.result21
3 files changed, 46 insertions, 0 deletions
diff --git a/clang/lib/ARCMigrate/ObjCMT.cpp b/clang/lib/ARCMigrate/ObjCMT.cpp
index 48a4931c207..59feea11e13 100644
--- a/clang/lib/ARCMigrate/ObjCMT.cpp
+++ b/clang/lib/ARCMigrate/ObjCMT.cpp
@@ -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 '[' ']'
diff --git a/clang/test/ARCMT/objcmt-property-dot-syntax.m b/clang/test/ARCMT/objcmt-property-dot-syntax.m
index f1038a844b4..f1b92555507 100644
--- a/clang/test/ARCMT/objcmt-property-dot-syntax.m
+++ b/clang/test/ARCMT/objcmt-property-dot-syntax.m
@@ -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
diff --git a/clang/test/ARCMT/objcmt-property-dot-syntax.m.result b/clang/test/ARCMT/objcmt-property-dot-syntax.m.result
index b7561e526d0..70c7e7ab54e 100644
--- a/clang/test/ARCMT/objcmt-property-dot-syntax.m.result
+++ b/clang/test/ARCMT/objcmt-property-dot-syntax.m.result
@@ -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
OpenPOWER on IntegriCloud