summaryrefslogtreecommitdiffstats
path: root/clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp')
-rw-r--r--clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp46
1 files changed, 16 insertions, 30 deletions
diff --git a/clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp b/clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp
index 4e14ea5784e..50ba1f19f7a 100644
--- a/clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp
+++ b/clang-tools-extra/cpp11-migrate/Core/Reformatting.cpp
@@ -22,39 +22,23 @@
using namespace clang;
-void Reformatter::reformatChanges(SourceOverrides &Overrides) {
- llvm::IntrusiveRefCntPtr<clang::DiagnosticOptions> DiagOpts(
- new DiagnosticOptions());
- DiagnosticsEngine Diagnostics(
- llvm::IntrusiveRefCntPtr<DiagnosticIDs>(new DiagnosticIDs()),
- DiagOpts.getPtr());
- FileManager Files((FileSystemOptions()));
- SourceManager SM(Diagnostics, Files);
-
- reformatChanges(Overrides, SM);
-}
-
-void Reformatter::reformatChanges(SourceOverrides &Overrides,
- clang::SourceManager &SM) {
- tooling::Replacements Replaces;
- Overrides.applyOverrides(SM);
- if (Overrides.isSourceOverriden())
- Replaces = reformatSingleFile(Overrides.getMainFileName(),
- Overrides.getChangedRanges(), SM);
-
- for (HeaderOverrides::const_iterator I = Overrides.headers_begin(),
- E = Overrides.headers_end();
+void Reformatter::reformatChanges(const FileOverrides &FileStates,
+ clang::SourceManager &SM,
+ clang::tooling::ReplacementsVec &Replaces) {
+ FileStates.applyOverrides(SM);
+
+ for (FileOverrides::ChangeMap::const_iterator
+ I = FileStates.getChangedRanges().begin(),
+ E = FileStates.getChangedRanges().end();
I != E; ++I) {
- const HeaderOverride &Header = I->getValue();
- const tooling::Replacements &HeaderReplaces =
- reformatSingleFile(Header.getHeaderPath(), Header.getChanges(), SM);
- Replaces.insert(HeaderReplaces.begin(), HeaderReplaces.end());
+ reformatSingleFile(I->getKey(), I->getValue(), SM, Replaces);
}
- Overrides.applyReplacements(Replaces, SM);
}
-tooling::Replacements Reformatter::reformatSingleFile(
- llvm::StringRef FileName, const ChangedRanges &Changes, SourceManager &SM) {
+void Reformatter::reformatSingleFile(
+ const llvm::StringRef FileName, const ChangedRanges &Changes,
+ SourceManager &SM, clang::tooling::ReplacementsVec &FormatReplacements) {
+
const clang::FileEntry *Entry = SM.getFileManager().getFile(FileName);
assert(Entry && "expected an existing file");
@@ -72,5 +56,7 @@ tooling::Replacements Reformatter::reformatSingleFile(
}
Lexer Lex(ID, SM.getBuffer(ID), SM, getFormattingLangOpts(Style.Standard));
- return format::reformat(Style, Lex, SM, ReformatRanges);
+ const tooling::Replacements &R =
+ format::reformat(Style, Lex, SM, ReformatRanges);
+ std::copy(R.begin(), R.end(), std::back_inserter(FormatReplacements));
}
OpenPOWER on IntegriCloud