summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/test/change-namespace/lambda-function.cpp
Commit message (Collapse)AuthorAgeFilesLines
* [change-namespace] don't crash when type reference is in function type ↵Eric Liu2016-12-141-1/+16
| | | | | | | | | | | | parameter list. Reviewers: hokein Subscribers: cfe-commits Differential Revision: https://reviews.llvm.org/D27758 llvm-svn: 289672
* [change-namespace] handle constructor initializer: Derived : Base::Base() {} ↵Eric Liu2016-11-161-0/+22
and added conflict detections Summary: namespace nx { namespace ny { class Base { public: Base(i) {}} } } namespace na { namespace nb { class X : public nx::ny { public: X() : Base::Base(1) {} }; } } When changing from na::nb to x::y, "Base::Base" will be changed to "nx::ny::Base" and "Base::" in "Base::Base" will be replaced with "nx::ny::Base" too, which causes conflict. This conflict should've been detected when adding replacements but was hidden by `addOrMergeReplacement`. We now also detect conflict when adding replacements where conflict must not happen. The namespace lookup is tricky here, we simply replace "Base::Base()" with "nx::ny::Base()" as a workaround, which compiles but not perfect. Reviewers: hokein Subscribers: bkramer, cfe-commits Differential Revision: https://reviews.llvm.org/D26637 llvm-svn: 287118
OpenPOWER on IntegriCloud