diff options
author | Eli Friedman <eli.friedman@gmail.com> | 2009-05-19 04:14:29 +0000 |
---|---|---|
committer | Eli Friedman <eli.friedman@gmail.com> | 2009-05-19 04:14:29 +0000 |
commit | 16b7b6f51120c0034004b55e7485142110f4ccd1 (patch) | |
tree | b20ac3568484f39a16e8918291bd40185c2060fe /clang/lib/Frontend/RewriteTest.cpp | |
parent | f5012718b4b428b50c3dd900a4d92a6a148baa89 (diff) | |
download | llvm-16b7b6f51120c0034004b55e7485142110f4ccd1.zip llvm-16b7b6f51120c0034004b55e7485142110f4ccd1.tar.gz llvm-16b7b6f51120c0034004b55e7485142110f4ccd1.tar.bz2 |
Move clang-cc.h to lib/Frontend/Utils.h, and move the associated .cpp
files to lib/Frontend.
llvm-svn: 72099
Diffstat (limited to 'clang/lib/Frontend/RewriteTest.cpp')
-rw-r--r-- | clang/lib/Frontend/RewriteTest.cpp | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/clang/lib/Frontend/RewriteTest.cpp b/clang/lib/Frontend/RewriteTest.cpp new file mode 100644 index 0000000..f9eb58f --- /dev/null +++ b/clang/lib/Frontend/RewriteTest.cpp @@ -0,0 +1,39 @@ +//===--- RewriteTest.cpp - Rewriter playground ----------------------------===// +// +// The LLVM Compiler Infrastructure +// +// This file is distributed under the University of Illinois Open Source +// License. See LICENSE.TXT for details. +// +//===----------------------------------------------------------------------===// +// +// This is a testbed. +// +//===----------------------------------------------------------------------===// + +#include "clang/Frontend/Utils.h" +#include "clang/Lex/Preprocessor.h" +#include "clang/Rewrite/TokenRewriter.h" +#include "llvm/Support/raw_ostream.h" + +void clang::DoRewriteTest(Preprocessor &PP, llvm::raw_ostream* OS) { + SourceManager &SM = PP.getSourceManager(); + const LangOptions &LangOpts = PP.getLangOptions(); + + TokenRewriter Rewriter(SM.getMainFileID(), SM, LangOpts); + + // Throw <i> </i> tags around comments. + for (TokenRewriter::token_iterator I = Rewriter.token_begin(), + E = Rewriter.token_end(); I != E; ++I) { + if (I->isNot(tok::comment)) continue; + + Rewriter.AddTokenBefore(I, "<i>"); + Rewriter.AddTokenAfter(I, "</i>"); + } + + + // Print out the output. + for (TokenRewriter::token_iterator I = Rewriter.token_begin(), + E = Rewriter.token_end(); I != E; ++I) + *OS << PP.getSpelling(*I); +} |