Revert "Use Rewriter::overwriteChangedFiles() directly"

This wasn't ready for prime time yet, seems to break tools-extra.

This reverts commit r193590.

llvm-svn: 193592
This commit is contained in:
Alp Toker 2013-10-29 07:56:03 +00:00
parent 54d5b55b0a
commit 7c3ba222e0
1 changed files with 17 additions and 1 deletions

View File

@ -301,7 +301,23 @@ bool RefactoringTool::applyAllReplacements(Rewriter &Rewrite) {
}
int RefactoringTool::saveRewrittenFiles(Rewriter &Rewrite) {
return Rewrite.overwriteChangedFiles() ? 0 : 1;
for (Rewriter::buffer_iterator I = Rewrite.buffer_begin(),
E = Rewrite.buffer_end();
I != E; ++I) {
// FIXME: This code is copied from the FixItRewriter.cpp - I think it should
// go into directly into Rewriter (there we also have the Diagnostics to
// handle the error cases better).
const FileEntry *Entry =
Rewrite.getSourceMgr().getFileEntryForID(I->first);
std::string ErrorInfo;
llvm::raw_fd_ostream FileStream(Entry->getName(), ErrorInfo,
llvm::sys::fs::F_Binary);
if (!ErrorInfo.empty())
return 1;
I->second.write(FileStream);
FileStream.flush();
}
return 0;
}
} // end namespace tooling