| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Reviewed By: hokein
Subscribers: fhahn, cfe-commits
Differential Revision: https://reviews.llvm.org/D29893
llvm-svn: 294969
|
| |
|
|
| |
llvm-svn: 293927
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29460
llvm-svn: 293909
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
namespace specifiers.
Summary:
This fixes mismatch between template decls and template specialization decls.
Also added a few more test cases.
Reviewers: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29447
llvm-svn: 293897
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29182
llvm-svn: 293187
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
conflict is possible.
Summary:
For example, when we change 'na' to "nb::nc", we need to add leading '::' to
references "::nc::X" in the changed namespace.
Reviewers: bkramer
Reviewed By: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D29176
llvm-svn: 293182
|
| |
|
|
|
|
|
|
| |
Depends on https://reviews.llvm.org/D28081
Differential Revision: https://reviews.llvm.org/D28315
llvm-svn: 292175
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Previously, a `\n` might be left in the old namespace and thus not copied to the new namespace, which is bad.
Reviewers: hokein
Subscribers: alexshap, cfe-commits
Differential Revision: https://reviews.llvm.org/D28282
llvm-svn: 290966
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D28052
llvm-svn: 290421
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: Also make sure one function reference is only processed once.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27982
llvm-svn: 290176
|
| |
|
|
|
|
| |
qualified types.
llvm-svn: 289816
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: This fixes templated type aliases and templated type aliases in classes.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27801
llvm-svn: 289799
|
| |
|
|
|
|
|
|
|
|
|
|
| |
parameter list.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27758
llvm-svn: 289672
|
| |
|
|
| |
llvm-svn: 289656
|
| |
|
|
|
|
| |
be fully-qualified.
llvm-svn: 288969
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Using shadow declarations in classes always refers to base class, which does not
need to be fixed/qualified since it can be inferred from inheritance.
Reviewers: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27523
llvm-svn: 288919
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
fwd-decls in classes.
Summary:
Forward declarations in moved namespaces should be moved back to the old
namespaces. We should also move template class forward declarations.
Also fix a bug that moves forward declarations of nested classes.
Reviewers: bkramer
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27515
llvm-svn: 288908
|
| |
|
|
| |
llvm-svn: 288662
|
| |
|
|
|
|
|
|
|
|
|
|
| |
file pattern.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27302
llvm-svn: 288376
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D27208
llvm-svn: 288139
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Summary: If a TypeLoc refers to a type alias defined in the moved namespace, we do not need to update its specifier since the type alias decl will be moved along with the type reference.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26592
llvm-svn: 286873
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D26456
llvm-svn: 286486
|
| |
|
|
| |
llvm-svn: 286485
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
UsingDirectiveDecl.
Summary:
when replacing symbol references in moved namespaces, trying to make the replace
name as short as possible by considering UsingDecl (i.e. UsingShadow) and
UsingDirectiveDecl (i.e. using namespace decl).
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25771
llvm-svn: 286307
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
Ran clang-format on all .c/.cpp/.h files in clang-tools-extra.
Excluded the test, unittests, clang-reorder-fields, include-fixer, modularize and pptrace directories.
Reviewers: klimek, alexfh
Subscribers: nemanjai
Tags: #clang-tools-extra
Differential Revision: https://reviews.llvm.org/D26329
llvm-svn: 286221
|
| |
|
|
| |
llvm-svn: 285549
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25397
llvm-svn: 284011
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25065
llvm-svn: 283333
|
| |
|
|
|
|
|
|
|
|
|
|
| |
character at the end of the file.
Reviewers: ioeric
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D25226
llvm-svn: 283210
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D24963
llvm-svn: 282837
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Summary:
- UsingDecl matcher crashed when `UsingShadowDecl` has no parent map. Workaround by moving parent check into `UsingDecl`.
- FunctionDecl matcher crashed when there is a lambda defined in parameter list (also due to no parent map).
Workaround by putting `unless(cxxMethodDecl())` before parent check.
Reviewers: klimek, sbenza, aaron.ballman, hokein
Subscribers: aaron.ballman, cfe-commits
Differential Revision: https://reviews.llvm.org/D24862
llvm-svn: 282486
|
| |
|
|
|
|
|
|
|
|
| |
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D24803
llvm-svn: 282146
|
| |
|
|
|
|
|
|
|
|
|
|
| |
NestedNameSpecifier.
Reviewers: hokein
Subscribers: cfe-commits
Differential Revision: https://reviews.llvm.org/D24784
llvm-svn: 282073
|
| |
|
|
| |
llvm-svn: 281920
|
|
|
Summary:
A tool for changing surrouding namespaces of class/function definitions while keeping
references to types in the changed namespace correctly qualified by prepending
namespace specifiers before them.
Example: test.cc
namespace na {
class X {};
namespace nb {
class Y { X x; };
} // namespace nb
} // namespace na
To move the definition of class Y from namespace "na::nb" to "x::y", run:
clang-change-namespace --old_namespace "na::nb" \
--new_namespace "x::y" --file_pattern "test.cc" test.cc --
Output:
namespace na {
class X {};
} // namespace na
namespace x {
namespace y {
class Y { na::X x; };
} // namespace y
} // namespace x
Reviewers: alexfh, omtcyfz, hokein
Subscribers: mgorny, klimek, djasper, beanz, alexshap, Eugene.Zelenko, cfe-commits
Differential Revision: https://reviews.llvm.org/D24183
llvm-svn: 281918
|