diff options
author | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-27 21:49:40 +0200 |
---|---|---|
committer | Miklos Vajna <vmiklos@collabora.co.uk> | 2017-03-27 21:49:40 +0200 |
commit | 1807e68b135f26479ae6511dc9cc971e754e763f (patch) | |
tree | c8ed25ee0da44700003a30eda6f7502072dddea0 | |
parent | f1dad3652388b49555202627dc5e2b45887f57f8 (diff) |
handle type of members
-rw-r--r-- | clang/qa/data/rename-move-from-global.cxx | 6 | ||||
-rw-r--r-- | clang/qa/data/rename-move-from-global.cxx.expected | 6 | ||||
-rw-r--r-- | clang/rename.cxx | 12 |
3 files changed, 24 insertions, 0 deletions
diff --git a/clang/qa/data/rename-move-from-global.cxx b/clang/qa/data/rename-move-from-global.cxx index b7d1c1c..1cc2f5d 100644 --- a/clang/qa/data/rename-move-from-global.cxx +++ b/clang/qa/data/rename-move-from-global.cxx @@ -9,6 +9,12 @@ public: inline C& operator += (int x); }; +class D +{ +private: + C m_c; +}; + C::C() {} C::~C() {} diff --git a/clang/qa/data/rename-move-from-global.cxx.expected b/clang/qa/data/rename-move-from-global.cxx.expected index 40baa3e..36b56e6 100644 --- a/clang/qa/data/rename-move-from-global.cxx.expected +++ b/clang/qa/data/rename-move-from-global.cxx.expected @@ -15,6 +15,12 @@ public: }; } +class D +{ +private: + ns::C m_c; +}; + ns::C::C() {} ns::C::~C() {} diff --git a/clang/rename.cxx b/clang/rename.cxx index 4b87cb1..750641f 100644 --- a/clang/rename.cxx +++ b/clang/rename.cxx @@ -156,6 +156,18 @@ public: // Qualified name includes "C::" as a prefix, normal name does not. std::string aName = pDecl->getQualifiedNameAsString(); RewriteText(pDecl->getLocation(), pDecl->getNameAsString().length(), aName); + + /* + * C m_c; + * ^ Handles this. + */ + clang::QualType pType = pDecl->getType(); + if (clang::CXXRecordDecl* pCXXRecordDecl = pType->getAsCXXRecordDecl()) + { + aName = pCXXRecordDecl->getNameAsString(); + RewriteText(pDecl->getTypeSpecStartLoc(), aName.length(), aName); + } + return true; } |