diff options
Diffstat (limited to 'lib/Frontend/Rewrite/FixItRewriter.cpp')
-rw-r--r-- | lib/Frontend/Rewrite/FixItRewriter.cpp | 31 |
1 files changed, 18 insertions, 13 deletions
diff --git a/lib/Frontend/Rewrite/FixItRewriter.cpp b/lib/Frontend/Rewrite/FixItRewriter.cpp index dc787ac9557c4..64785e3012368 100644 --- a/lib/Frontend/Rewrite/FixItRewriter.cpp +++ b/lib/Frontend/Rewrite/FixItRewriter.cpp @@ -1,4 +1,4 @@ -//===--- FixItRewriter.cpp - Fix-It Rewriter Diagnostic Client --*- C++ -*-===// +//===- FixItRewriter.cpp - Fix-It Rewriter Diagnostic Client --------------===// // // The LLVM Compiler Infrastructure // @@ -14,28 +14,32 @@ //===----------------------------------------------------------------------===// #include "clang/Rewrite/Frontend/FixItRewriter.h" +#include "clang/Basic/Diagnostic.h" #include "clang/Basic/FileManager.h" +#include "clang/Basic/LLVM.h" #include "clang/Basic/SourceLocation.h" #include "clang/Basic/SourceManager.h" #include "clang/Edit/Commit.h" #include "clang/Edit/EditsReceiver.h" #include "clang/Frontend/FrontendDiagnostic.h" -#include "llvm/Support/Path.h" +#include "clang/Rewrite/Core/RewriteBuffer.h" +#include "clang/Rewrite/Core/Rewriter.h" +#include "llvm/ADT/StringRef.h" +#include "llvm/Support/FileSystem.h" #include "llvm/Support/raw_ostream.h" #include <cstdio> #include <memory> +#include <string> +#include <system_error> +#include <utility> using namespace clang; FixItRewriter::FixItRewriter(DiagnosticsEngine &Diags, SourceManager &SourceMgr, const LangOptions &LangOpts, FixItOptions *FixItOpts) - : Diags(Diags), - Editor(SourceMgr, LangOpts), - Rewrite(SourceMgr, LangOpts), - FixItOpts(FixItOpts), - NumFailures(0), - PrevDiagSilenced(false) { + : Diags(Diags), Editor(SourceMgr, LangOpts), Rewrite(SourceMgr, LangOpts), + FixItOpts(FixItOpts) { Owner = Diags.takeClient(); Client = Diags.getClient(); Diags.setClient(this, false); @@ -59,20 +63,21 @@ class RewritesReceiver : public edit::EditsReceiver { Rewriter &Rewrite; public: - RewritesReceiver(Rewriter &Rewrite) : Rewrite(Rewrite) { } + RewritesReceiver(Rewriter &Rewrite) : Rewrite(Rewrite) {} void insert(SourceLocation loc, StringRef text) override { Rewrite.InsertText(loc, text); } + void replace(CharSourceRange range, StringRef text) override { Rewrite.ReplaceText(range.getBegin(), Rewrite.getRangeSize(range), text); } }; -} +} // namespace bool FixItRewriter::WriteFixedFiles( - std::vector<std::pair<std::string, std::string> > *RewrittenFiles) { + std::vector<std::pair<std::string, std::string>> *RewrittenFiles) { if (NumFailures > 0 && !FixItOpts->FixWhatYouCan) { Diag(FullSourceLoc(), diag::warn_fixit_no_changes); return true; @@ -189,7 +194,7 @@ void FixItRewriter::HandleDiagnostic(DiagnosticsEngine::Level DiagLevel, Diag(Info.getLocation(), diag::note_fixit_applied); } -/// \brief Emit a diagnostic via the adapted diagnostic client. +/// Emit a diagnostic via the adapted diagnostic client. void FixItRewriter::Diag(SourceLocation Loc, unsigned DiagID) { // When producing this diagnostic, we temporarily bypass ourselves, // clear out any current diagnostic, and let the downstream client @@ -200,4 +205,4 @@ void FixItRewriter::Diag(SourceLocation Loc, unsigned DiagID) { Diags.setClient(this, false); } -FixItOptions::~FixItOptions() {} +FixItOptions::~FixItOptions() = default; |