[cfe-commits] r49925 - /cfe/trunk/Driver/RewriteObjC.cpp

Steve Naroff snaroff at apple.com
Fri Apr 18 14:13:19 PDT 2008


Author: snaroff
Date: Fri Apr 18 16:13:19 2008
New Revision: 49925

URL: http://llvm.org/viewvc/llvm-project?rev=49925&view=rev
Log:
Fix <rdar://problem/5874697> Rewriter: method arguments with complex types not being rewritten properly.

Modified:
    cfe/trunk/Driver/RewriteObjC.cpp

Modified: cfe/trunk/Driver/RewriteObjC.cpp
URL: http://llvm.org/viewvc/llvm-project/cfe/trunk/Driver/RewriteObjC.cpp?rev=49925&r1=49924&r2=49925&view=diff

==============================================================================
--- cfe/trunk/Driver/RewriteObjC.cpp (original)
+++ cfe/trunk/Driver/RewriteObjC.cpp Fri Apr 18 16:13:19 2008
@@ -720,12 +720,14 @@
   for (unsigned i = 0; i < OMD->getNumParams(); i++) {
     ParmVarDecl *PDecl = OMD->getParamDecl(i);
     ResultStr += ", ";
-    if (PDecl->getType()->isObjCQualifiedIdType())
-      ResultStr += "id";
-    else
-      ResultStr += PDecl->getType().getAsString();
-    ResultStr += " ";
-    ResultStr += PDecl->getName();
+    if (PDecl->getType()->isObjCQualifiedIdType()) {
+      ResultStr += "id ";
+      ResultStr += PDecl->getName();
+    } else {
+      std::string Name = PDecl->getName();
+      PDecl->getType().getAsStringInternal(Name);
+      ResultStr += Name;
+    }
   }
   if (OMD->isVariadic())
     ResultStr += ", ...";





More information about the cfe-commits mailing list