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 19namespace clang { 20class Preprocessor; 21class PreprocessorOutputOptions; 22 23/// RewriteMacrosInInput - Implement -rewrite-macros mode. 24void RewriteMacrosInInput(Preprocessor &PP, raw_ostream *OS); 25 26/// DoRewriteTest - A simple test for the TokenRewriter class. 27void DoRewriteTest(Preprocessor &PP, raw_ostream *OS); 28 29/// RewriteIncludesInInput - Implement -frewrite-includes mode. 30void RewriteIncludesInInput(Preprocessor &PP, raw_ostream *OS, 31 const PreprocessorOutputOptions &Opts); 32 33} // end namespace clang 34 35#endif 36