diff options
author | Steve Naroff <snaroff@apple.com> | 2008-04-18 21:13:19 +0000 |
---|---|---|
committer | Steve Naroff <snaroff@apple.com> | 2008-04-18 21:13:19 +0000 |
commit | dcdcdcdfef3044ead7710c3a636ded2f406c7ecc (patch) | |
tree | 467d08fe8168bc8a7518e6348870e4944954abc0 | |
parent | 85a9f1911ebbc95abea0278df47f06b231956b8f (diff) | |
download | bcm5719-llvm-dcdcdcdfef3044ead7710c3a636ded2f406c7ecc.tar.gz bcm5719-llvm-dcdcdcdfef3044ead7710c3a636ded2f406c7ecc.zip |
Fix <rdar://problem/5874697> Rewriter: method arguments with complex types not being rewritten properly.
llvm-svn: 49925
-rw-r--r-- | clang/Driver/RewriteObjC.cpp | 14 |
1 files changed, 8 insertions, 6 deletions
diff --git a/clang/Driver/RewriteObjC.cpp b/clang/Driver/RewriteObjC.cpp index ebab81fb734..f66658864b3 100644 --- a/clang/Driver/RewriteObjC.cpp +++ b/clang/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 += ", ..."; |