19class DeclNameOption final :
public OptionalRefactoringOption<std::string> {
21 StringRef
getName()
const override {
return "name"; }
22 StringRef getDescription()
const override {
23 return "Name of the extracted declaration";
29class ExtractRefactoring final :
public RefactoringAction {
31 StringRef getCommand()
const override {
return "extract"; }
33 StringRef getDescription()
const override {
34 return "(WIP action; use with caution!) Extracts code into a new function";
41 Rules.push_back(createRefactoringActionRule<ExtractFunction>(
42 CodeRangeASTSelectionRequirement(),
43 OptionRequirement<DeclNameOption>()));
48class OldQualifiedNameOption :
public RequiredRefactoringOption<std::string> {
50 StringRef
getName()
const override {
return "old-qualified-name"; }
51 StringRef getDescription()
const override {
52 return "The old qualified name to be renamed";
56class NewQualifiedNameOption :
public RequiredRefactoringOption<std::string> {
58 StringRef
getName()
const override {
return "new-qualified-name"; }
59 StringRef getDescription()
const override {
60 return "The new qualified name to change the symbol to";
64class NewNameOption :
public RequiredRefactoringOption<std::string> {
66 StringRef
getName()
const override {
return "new-name"; }
67 StringRef getDescription()
const override {
68 return "The new name to change the symbol to";
74class LocalRename final :
public RefactoringAction {
76 StringRef getCommand()
const override {
return "local-rename"; }
78 StringRef getDescription()
const override {
79 return "Finds and renames symbols in code with no indexer support";
86 Rules.push_back(createRefactoringActionRule<RenameOccurrences>(
87 SourceRangeSelectionRequirement(), OptionRequirement<NewNameOption>()));
89 Rules.push_back(createRefactoringActionRule<QualifiedRenameRule>(
90 OptionRequirement<OldQualifiedNameOption>(),
91 OptionRequirement<NewQualifiedNameOption>()));
99 std::vector<std::unique_ptr<RefactoringAction>> Actions;
101 Actions.push_back(std::make_unique<LocalRename>());
102 Actions.push_back(std::make_unique<ExtractRefactoring>());
Provides an action to rename every symbol at a point.
static std::string getName(const CallEvent &Call)
The JSON file list parser is used to communicate input to InstallAPI.