Push the rewriting APIs along.  Build a trivial client that replaces tabs
with x's for now.  The APIs are all unimplemented, so it doesn't do 
anything yet! :)


git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42868 91177308-0d34-0410-b5e6-96231b3b80d8
diff --git a/Basic/SourceManager.cpp b/Basic/SourceManager.cpp
index 380edc0..cc1312f 100644
--- a/Basic/SourceManager.cpp
+++ b/Basic/SourceManager.cpp
@@ -209,6 +209,13 @@
   return SourceLocation::getMacroLoc(MacroIDs.size()-1, 0, 0);
 }
 
+/// getBufferData - Return a pointer to the start and end of the character
+/// data for the specified FileID.
+std::pair<const char*, const char*> 
+SourceManager::getBufferData(unsigned FileID) const {
+  const llvm::MemoryBuffer *Buf = getBuffer(FileID);
+  return std::make_pair(Buf->getBufferStart(), Buf->getBufferEnd());
+}
 
 
 /// getCharacterData - Return a pointer to the start of the specified location