diff options
author | Haojian Wu <hokein@google.com> | 2017-11-08 08:56:56 +0000 |
---|---|---|
committer | Haojian Wu <hokein@google.com> | 2017-11-08 08:56:56 +0000 |
commit | 200458f3428592730118dbbbb6970646a718b369 (patch) | |
tree | 837d145d21da9598e01b389f6881887e2f77ac1e /clang/lib/Tooling/Refactoring/RefactoringActions.cpp | |
parent | f6ee94c1c6a2579de732c82a3d4221237c455c05 (diff) | |
download | bcm5719-llvm-200458f3428592730118dbbbb6970646a718b369.tar.gz bcm5719-llvm-200458f3428592730118dbbbb6970646a718b369.zip |
[clang-refactor] Introduce a new rename rule for qualified symbols
Summary: Prototype of a new rename rule for renaming qualified symbol.
Reviewers: arphaman, ioeric, sammccall
Reviewed By: arphaman, sammccall
Subscribers: jklaehn, cfe-commits, klimek
Differential Revision: https://reviews.llvm.org/D39332
llvm-svn: 317672
Diffstat (limited to 'clang/lib/Tooling/Refactoring/RefactoringActions.cpp')
-rw-r--r-- | clang/lib/Tooling/Refactoring/RefactoringActions.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/clang/lib/Tooling/Refactoring/RefactoringActions.cpp b/clang/lib/Tooling/Refactoring/RefactoringActions.cpp index 73a31183962..37a1639cb44 100644 --- a/clang/lib/Tooling/Refactoring/RefactoringActions.cpp +++ b/clang/lib/Tooling/Refactoring/RefactoringActions.cpp @@ -46,6 +46,22 @@ public: } }; +class OldQualifiedNameOption : public RequiredRefactoringOption<std::string> { +public: + StringRef getName() const override { return "old-qualified-name"; } + StringRef getDescription() const override { + return "The old qualified name to be renamed"; + } +}; + +class NewQualifiedNameOption : public RequiredRefactoringOption<std::string> { +public: + StringRef getName() const override { return "new-qualified-name"; } + StringRef getDescription() const override { + return "The new qualified name to change the symbol to"; + } +}; + class NewNameOption : public RequiredRefactoringOption<std::string> { public: StringRef getName() const override { return "new-name"; } @@ -70,6 +86,10 @@ public: RefactoringActionRules Rules; Rules.push_back(createRefactoringActionRule<RenameOccurrences>( SourceRangeSelectionRequirement(), OptionRequirement<NewNameOption>())); + // FIXME: Use NewNameOption. + Rules.push_back(createRefactoringActionRule<QualifiedRenameRule>( + OptionRequirement<OldQualifiedNameOption>(), + OptionRequirement<NewQualifiedNameOption>())); return Rules; } }; |