From d2aea120011da5d411e486a9674e9fb05d22f51b Mon Sep 17 00:00:00 2001
From: Fariborz Jahanian <fjahanian@apple.com>
Date: Sun, 19 Feb 2012 19:00:05 +0000
Subject: [PATCH] objective-c modern translator: comment out private ivars
 declared in class extension and implementation.

git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@150937 91177308-0d34-0410-b5e6-96231b3b80d8
---
 lib/Rewrite/RewriteModernObjC.cpp | 19 ++++++++++++++++++-
 1 file changed, 18 insertions(+), 1 deletion(-)

diff --git a/lib/Rewrite/RewriteModernObjC.cpp b/lib/Rewrite/RewriteModernObjC.cpp
index 627368cd3d8..abdb09b2790 100644
--- a/lib/Rewrite/RewriteModernObjC.cpp
+++ b/lib/Rewrite/RewriteModernObjC.cpp
@@ -935,6 +935,13 @@ void RewriteModernObjC::RewriteCategoryDecl(ObjCCategoryDecl *CatDecl) {
   // FIXME: handle category headers that are declared across multiple lines.
   ReplaceText(LocStart, 0, "// ");
 
+  for (ObjCCategoryDecl::ivar_iterator
+       I = CatDecl->ivar_begin(), E = CatDecl->ivar_end(); I != E; ++I) {
+    ObjCIvarDecl *Ivar = (*I);
+    SourceLocation LocStart = Ivar->getLocStart();
+    ReplaceText(LocStart, 0, "// ");
+  } 
+
   for (ObjCCategoryDecl::prop_iterator I = CatDecl->prop_begin(),
        E = CatDecl->prop_end(); I != E; ++I)
     RewriteProperty(*I);
@@ -1144,7 +1151,17 @@ void RewriteModernObjC::RewriteImplementationDecl(Decl *OID) {
   ObjCImplementationDecl *IMD = dyn_cast<ObjCImplementationDecl>(OID);
   ObjCCategoryImplDecl *CID = dyn_cast<ObjCCategoryImplDecl>(OID);
 
-  InsertText(IMD ? IMD->getLocStart() : CID->getLocStart(), "// ");
+  if (IMD) {
+    InsertText(IMD->getLocStart(), "// ");
+      for (ObjCImplementationDecl::ivar_iterator
+           I = IMD->ivar_begin(), E = IMD->ivar_end(); I != E; ++I) {
+        ObjCIvarDecl *Ivar = (*I);
+        SourceLocation LocStart = Ivar->getLocStart();
+        ReplaceText(LocStart, 0, "// ");
+    }
+  }
+  else
+    InsertText(CID->getLocStart(), "// ");
 
   for (ObjCCategoryImplDecl::instmeth_iterator
        I = IMD ? IMD->instmeth_begin() : CID->instmeth_begin(),
-- 
GitLab