summaryrefslogtreecommitdiffstats
path: root/include/clang/Tooling/RefactoringCallbacks.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/clang/Tooling/RefactoringCallbacks.h')
-rw-r--r--include/clang/Tooling/RefactoringCallbacks.h90
1 files changed, 0 insertions, 90 deletions
diff --git a/include/clang/Tooling/RefactoringCallbacks.h b/include/clang/Tooling/RefactoringCallbacks.h
deleted file mode 100644
index 6ef9ea1..0000000
--- a/include/clang/Tooling/RefactoringCallbacks.h
+++ /dev/null
@@ -1,90 +0,0 @@
-//===--- RefactoringCallbacks.h - Structural query framework ----*- C++ -*-===//
-//
-// The LLVM Compiler Infrastructure
-//
-// This file is distributed under the University of Illinois Open Source
-// License. See LICENSE.TXT for details.
-//
-//===----------------------------------------------------------------------===//
-//
-// Provides callbacks to make common kinds of refactorings easy.
-//
-// The general idea is to construct a matcher expression that describes a
-// subtree match on the AST and then replace the corresponding source code
-// either by some specific text or some other AST node.
-//
-// Example:
-// int main(int argc, char **argv) {
-// ClangTool Tool(argc, argv);
-// MatchFinder Finder;
-// ReplaceStmtWithText Callback("integer", "42");
-// Finder.AddMatcher(id("integer", expression(integerLiteral())), Callback);
-// return Tool.run(newFrontendActionFactory(&Finder));
-// }
-//
-// This will replace all integer literals with "42".
-//
-//===----------------------------------------------------------------------===//
-
-#ifndef LLVM_CLANG_TOOLING_REFACTORINGCALLBACKS_H
-#define LLVM_CLANG_TOOLING_REFACTORINGCALLBACKS_H
-
-#include "clang/ASTMatchers/ASTMatchFinder.h"
-#include "clang/Tooling/Refactoring.h"
-
-namespace clang {
-namespace tooling {
-
-/// \brief Base class for RefactoringCallbacks.
-///
-/// Collects \c tooling::Replacements while running.
-class RefactoringCallback : public ast_matchers::MatchFinder::MatchCallback {
-public:
- RefactoringCallback();
- Replacements &getReplacements();
-
-protected:
- Replacements Replace;
-};
-
-/// \brief Replace the text of the statement bound to \c FromId with the text in
-/// \c ToText.
-class ReplaceStmtWithText : public RefactoringCallback {
-public:
- ReplaceStmtWithText(StringRef FromId, StringRef ToText);
- void run(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- std::string FromId;
- std::string ToText;
-};
-
-/// \brief Replace the text of the statement bound to \c FromId with the text of
-/// the statement bound to \c ToId.
-class ReplaceStmtWithStmt : public RefactoringCallback {
-public:
- ReplaceStmtWithStmt(StringRef FromId, StringRef ToId);
- void run(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- std::string FromId;
- std::string ToId;
-};
-
-/// \brief Replace an if-statement bound to \c Id with the outdented text of its
-/// body, choosing the consequent or the alternative based on whether
-/// \c PickTrueBranch is true.
-class ReplaceIfStmtWithItsBody : public RefactoringCallback {
-public:
- ReplaceIfStmtWithItsBody(StringRef Id, bool PickTrueBranch);
- void run(const ast_matchers::MatchFinder::MatchResult &Result) override;
-
-private:
- std::string Id;
- const bool PickTrueBranch;
-};
-
-} // end namespace tooling
-} // end namespace clang
-
-#endif
OpenPOWER on IntegriCloud