Introduce Lexer::getSourceText() that returns a string for the source
that the given source range encompasses.

llvm-svn: 148481
diff --git a/clang/unittests/Lex/LexerTest.cpp b/clang/unittests/Lex/LexerTest.cpp
index 05478ee..fecdb7f 100644
--- a/clang/unittests/Lex/LexerTest.cpp
+++ b/clang/unittests/Lex/LexerTest.cpp
@@ -114,6 +114,11 @@
   EXPECT_EQ(range.getAsRange(),
             SourceRange(macroRange.getBegin(),
                         macroRange.getEnd().getLocWithOffset(1)));
+
+  StringRef text = Lexer::getSourceText(
+                  CharSourceRange::getTokenRange(SourceRange(lsqrLoc, rsqrLoc)),
+                  SourceMgr, LangOpts);
+  EXPECT_EQ(text, "M(foo)");
 }
 
 } // anonymous namespace