From: Steve Naroff Date: Fri, 18 Apr 2008 21:13:19 +0000 (+0000) Subject: Fix Rewriter: method arguments with complex types not being... X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=543409e200234a1c97ea38b9d52bce22ff807080;p=clang Fix Rewriter: method arguments with complex types not being rewritten properly. git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@49925 91177308-0d34-0410-b5e6-96231b3b80d8 --- diff --git a/Driver/RewriteObjC.cpp b/Driver/RewriteObjC.cpp index ebab81fb73..f66658864b 100644 --- a/Driver/RewriteObjC.cpp +++ b/Driver/RewriteObjC.cpp @@ -720,12 +720,14 @@ void RewriteObjC::RewriteObjCMethodDecl(ObjCMethodDecl *OMD, 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 += ", ...";