diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-27 17:30:59 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-27 17:30:59 +0200 |
commit | 869d5fc48c89f4bcc3e522df934590a22384f300 (patch) | |
tree | de9b398a0901af33def0b1223e79515f73f39cc3 | |
parent | 5d773f81051b3090d3c29e1cfee1d66e5ee5c96a (diff) |
fix return type
-rw-r--r-- | clang/rename.cxx | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/clang/rename.cxx b/clang/rename.cxx index 882cb0d..8cbdecf 100644 --- a/clang/rename.cxx +++ b/clang/rename.cxx @@ -321,6 +321,18 @@ public: std::string aClassName = pDecl->getParent()->getNameAsString(); if (HasNamespace(aClassName) && pDecl->isThisDeclarationADefinition()) RewriteText(pDecl->getQualifierLoc().getBeginLoc(), aClassName.length(), aClassName); + + /* + * inline C C::bar() { return C(); } + * ^ Handle this. + */ + if (HasNamespace(aClassName)) + { + clang::QualType pType = pDecl->getReturnType(); + const clang::RecordDecl* pRecordDecl = pType->getAsCXXRecordDecl(); + if (pRecordDecl) + RewriteText(pDecl->getReturnTypeSourceRange().getBegin(), pRecordDecl->getNameAsString().length(), pRecordDecl->getNameAsString()); + } return true; } |