1243791Sdim//===--- Rewriters.h - Rewriter implementations     -------------*- C++ -*-===//
2243791Sdim//
3243791Sdim//                     The LLVM Compiler Infrastructure
4243791Sdim//
5243791Sdim// This file is distributed under the University of Illinois Open Source
6243791Sdim// License. See LICENSE.TXT for details.
7243791Sdim//
8243791Sdim//===----------------------------------------------------------------------===//
9243791Sdim//
10243791Sdim//  This header contains miscellaneous utilities for various front-end actions.
11243791Sdim//
12243791Sdim//===----------------------------------------------------------------------===//
13243791Sdim
14243791Sdim#ifndef LLVM_CLANG_REWRITE_REWRITERS_H
15243791Sdim#define LLVM_CLANG_REWRITE_REWRITERS_H
16243791Sdim
17243791Sdim#include "clang/Basic/LLVM.h"
18243791Sdim
19243791Sdimnamespace clang {
20243791Sdimclass Preprocessor;
21243791Sdimclass PreprocessorOutputOptions;
22243791Sdim
23243791Sdim/// RewriteMacrosInInput - Implement -rewrite-macros mode.
24243791Sdimvoid RewriteMacrosInInput(Preprocessor &PP, raw_ostream *OS);
25243791Sdim
26243791Sdim/// DoRewriteTest - A simple test for the TokenRewriter class.
27243791Sdimvoid DoRewriteTest(Preprocessor &PP, raw_ostream *OS);
28243791Sdim
29243791Sdim/// RewriteIncludesInInput - Implement -frewrite-includes mode.
30243791Sdimvoid RewriteIncludesInInput(Preprocessor &PP, raw_ostream *OS,
31243791Sdim                            const PreprocessorOutputOptions &Opts);
32243791Sdim
33243791Sdim}  // end namespace clang
34243791Sdim
35243791Sdim#endif
36