1 //===--- Rewriters.h - Rewriter implementations -------------*- C++ -*-===// 2 // 3 // The LLVM Compiler Infrastructure 4 // 5 // This file is distributed under the University of Illinois Open Source 6 // License. See LICENSE.TXT for details. 7 // 8 //===----------------------------------------------------------------------===// 9 // 10 // This header contains miscellaneous utilities for various front-end actions. 11 // 12 //===----------------------------------------------------------------------===// 13 14 #ifndef LLVM_CLANG_REWRITE_FRONTEND_REWRITERS_H 15 #define LLVM_CLANG_REWRITE_FRONTEND_REWRITERS_H 16 17 #include "clang/Basic/LLVM.h" 18 19 namespace clang { 20 class Preprocessor; 21 class PreprocessorOutputOptions; 22 23 /// RewriteMacrosInInput - Implement -rewrite-macros mode. 24 void RewriteMacrosInInput(Preprocessor &PP, raw_ostream *OS); 25 26 /// DoRewriteTest - A simple test for the TokenRewriter class. 27 void DoRewriteTest(Preprocessor &PP, raw_ostream *OS); 28 29 /// RewriteIncludesInInput - Implement -frewrite-includes mode. 30 void RewriteIncludesInInput(Preprocessor &PP, raw_ostream *OS, 31 const PreprocessorOutputOptions &Opts); 32 33 } // end namespace clang 34 35 #endif 36