summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiklos Vajna <vmiklos@collabora.co.uk>2017-03-27 16:53:59 +0200
committerMiklos Vajna <vmiklos@collabora.co.uk>2017-03-27 16:53:59 +0200
commit5d773f81051b3090d3c29e1cfee1d66e5ee5c96a (patch)
tree95ee0c46e15e8b05add177bd5bbce56fde2e236c
parent7e693aff1ad0437b6e8e689fce7e29d62ede9f4e (diff)
fix member functions
-rw-r--r--clang/rename.cxx8
1 files changed, 8 insertions, 0 deletions
diff --git a/clang/rename.cxx b/clang/rename.cxx
index 51b121e..882cb0d 100644
--- a/clang/rename.cxx
+++ b/clang/rename.cxx
@@ -313,6 +313,14 @@ public:
{
std::string aName = pDecl->getQualifiedNameAsString();
RewriteText(pDecl->getLocation(), pDecl->getNameAsString().length(), aName);
+
+ /*
+ * void C::foo() {}
+ * ^ Handles this.
+ */
+ std::string aClassName = pDecl->getParent()->getNameAsString();
+ if (HasNamespace(aClassName) && pDecl->isThisDeclarationADefinition())
+ RewriteText(pDecl->getQualifierLoc().getBeginLoc(), aClassName.length(), aClassName);
return true;
}