ObjectiveC migrator. When migrating to NS_ENUM/NS_OPTIONS,
authorFariborz Jahanian <fjahanian@apple.com>
Thu, 10 Oct 2013 23:57:58 +0000 (23:57 +0000)
committerFariborz Jahanian <fjahanian@apple.com>
Thu, 10 Oct 2013 23:57:58 +0000 (23:57 +0000)
don't leave a blank line behind replacing the typedef
decl. // rdar://15200949

llvm-svn: 192407

clang/lib/ARCMigrate/ObjCMT.cpp
clang/test/ARCMT/objcmt-ns-macros.m.result

index 21ba06c..ad00d54 100644 (file)
@@ -511,8 +511,12 @@ static bool rewriteToNSEnumDecl(const EnumDecl *EnumDcl,
   commit.replace(R, ClassString);
   SourceLocation EndOfTypedefLoc = TypedefDcl->getLocEnd();
   EndOfTypedefLoc = trans::findLocationAfterSemi(EndOfTypedefLoc, NS.getASTContext());
+  SourceLocation BeginOfTypedefLoc = TypedefDcl->getLocStart();
   if (!EndOfTypedefLoc.isInvalid()) {
-    commit.remove(SourceRange(TypedefDcl->getLocStart(), EndOfTypedefLoc));
+    // FIXME. This assumes that typedef decl; is immediately preceeded by eoln.
+    // It is trying to remove the typedef decl. line entirely.
+    BeginOfTypedefLoc = BeginOfTypedefLoc.getLocWithOffset(-1);
+    commit.remove(SourceRange(BeginOfTypedefLoc, EndOfTypedefLoc));
     return true;
   }
   return false;
index 2a99d4e..4218603 100644 (file)
@@ -15,7 +15,6 @@ typedef NS_ENUM(NSInteger, wibble) {
   blarg
 };
 
-
 typedef NS_ENUM(NSUInteger, UITableViewCellStyle) {
     UIViewAutoresizingNone                 = 0,
     UIViewAutoresizingFlexibleLeftMargin,
@@ -26,7 +25,6 @@ typedef NS_ENUM(NSUInteger, UITableViewCellStyle) {
     UIViewAutoresizingFlexibleBottomMargin
 };
 
-
 typedef NS_ENUM(NSInteger, UIViewAnimationTransition) {
     UIViewAnimationTransitionNone,
     UIViewAnimationTransitionFlipFromLeft,
@@ -52,7 +50,6 @@ typedef NS_OPTIONS(NSUInteger, UI) {
   UIFour = 0x100
 };
 
-
 typedef NS_OPTIONS(NSUInteger, UIPOWER2) {
   UIP2One = 0,
   UIP2Two = 0x1,
@@ -71,7 +68,6 @@ typedef NS_ENUM(NSInteger, UIK) {
   UIKTwo = 2,
 };
 
-
 typedef NS_ENUM(NSInteger, NSTickMarkPosition)  {
     NSTickMarkBelow = 0,
     NSTickMarkAbove = 1,
@@ -87,13 +83,11 @@ typedef NS_OPTIONS(NSUInteger, UITableStyle) {
     UIViewBottomMargin = 0xbadbeef
 };
 
-
 typedef NS_OPTIONS(NSUInteger, UIStyle) {
     UIView0         = 0,
     UIView1 = 0XBADBEEF
 };
 
-
 typedef NS_ENUM(NSUInteger, NSBitmapImageFileType) {
     NSTIFFFileType,
     NSBMPFileType,
@@ -103,14 +97,12 @@ typedef NS_ENUM(NSUInteger, NSBitmapImageFileType) {
     NSJPEG2000FileType
 };
 
-
 typedef NS_ENUM(NSUInteger, NSAlertStyle) {
     NSWarningAlertStyle = 0,
     NSInformationalAlertStyle = 1,
     NSCriticalAlertStyle = 2
 };
 
-
 enum {
     D_NSTIFFFileType,
     D_NSBMPFileType,
@@ -146,7 +138,6 @@ typedef NS_OPTIONS(NSUInteger, NSFOptions) {
 };
 
 
-
 typedef NS_ENUM(NSInteger, UIP) {
   UIP0One = 0,
   UIP0Two = 1,