diff options
author | Nick Lewycky <nicholas@mxc.ca> | 2010-04-16 18:49:45 +0000 |
---|---|---|
committer | Nick Lewycky <nicholas@mxc.ca> | 2010-04-16 18:49:45 +0000 |
commit | 0ade808e0ac411baa2dbc1f76ad352b9b6d6d3f8 (patch) | |
tree | dedcdc563dfb0ce38a2e616c574a9d858e35bfac /lib/Rewrite/Rewriter.cpp | |
parent | d0fe3e9a97459477e64ad1df312fd29b86a3c3cb (diff) |
Add a write(raw_ostream&) method to RewriteBuffer. This uses an inefficient
implementation today but is the right place if we want to make it faster some
day.
git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@101521 91177308-0d34-0410-b5e6-96231b3b80d8
Diffstat (limited to 'lib/Rewrite/Rewriter.cpp')
-rw-r--r-- | lib/Rewrite/Rewriter.cpp | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/lib/Rewrite/Rewriter.cpp b/lib/Rewrite/Rewriter.cpp index bf8ba701a8..376678a5d7 100644 --- a/lib/Rewrite/Rewriter.cpp +++ b/lib/Rewrite/Rewriter.cpp @@ -20,6 +20,12 @@ #include "llvm/Support/raw_ostream.h" using namespace clang; +llvm::raw_ostream &RewriteBuffer::write(llvm::raw_ostream &os) const { + // FIXME: eliminate the copy by writing out each chunk at a time + os << std::string(begin(), end()); + return os; +} + void RewriteBuffer::RemoveText(unsigned OrigOffset, unsigned Size) { // Nothing to remove, exit early. if (Size == 0) return; @@ -222,5 +228,3 @@ bool Rewriter::ReplaceStmt(Stmt *From, Stmt *To) { ReplaceText(From->getLocStart(), Size, Str); return false; } - - |