blob: 10d5b8ba6010f2c87867615b18fb25219701ea59 [file] [log] [blame]
Chris Lattner97e8b6f2007-10-07 06:04:32 +00001//===--- ASTConsumers.h - ASTConsumer implementations -----------*- C++ -*-===//
Reid Spencer5f016e22007-07-11 17:01:13 +00002//
3// The LLVM Compiler Infrastructure
4//
Chris Lattner97e8b6f2007-10-07 06:04:32 +00005// This file was developed by Chris Lattner and is distributed under the
Reid Spencer5f016e22007-07-11 17:01:13 +00006// University of Illinois Open Source License. See LICENSE.TXT for details.
7//
8//===----------------------------------------------------------------------===//
9//
Chris Lattner97e8b6f2007-10-07 06:04:32 +000010// AST Consumers.
Reid Spencer5f016e22007-07-11 17:01:13 +000011//
12//===----------------------------------------------------------------------===//
13
Chris Lattner97e8b6f2007-10-07 06:04:32 +000014#ifndef DRIVER_ASTCONSUMERS_H
15#define DRIVER_ASTCONSUMERS_H
Reid Spencer5f016e22007-07-11 17:01:13 +000016
17namespace clang {
18
Chris Lattner556beb72007-09-15 22:56:56 +000019class ASTConsumer;
Chris Lattnerc0508f92007-09-15 23:21:08 +000020class Diagnostic;
Reid Spencer5f016e22007-07-11 17:01:13 +000021
Chris Lattner3d4997d2007-09-15 23:02:28 +000022ASTConsumer *CreateASTPrinter();
23ASTConsumer *CreateASTDumper();
Ted Kremenek80de08f2007-09-19 21:29:43 +000024ASTConsumer *CreateASTViewer();
Chris Lattnerc0508f92007-09-15 23:21:08 +000025ASTConsumer *CreateCFGDumper(bool ViewGraphs = false);
26ASTConsumer *CreateLiveVarAnalyzer();
27ASTConsumer *CreateDeadStoreChecker(Diagnostic &Diags);
Ted Kremenek2bf55142007-09-17 20:49:30 +000028ASTConsumer *CreateUnitValsChecker(Diagnostic &Diags);
Chris Lattner580980b2007-09-16 19:46:59 +000029ASTConsumer *CreateLLVMEmitter(Diagnostic &Diags);
Chris Lattner77cd2a02007-10-11 00:43:27 +000030ASTConsumer *CreateCodeRewriterTest();
Ted Kremenekbfa82c42007-10-16 23:37:27 +000031ASTConsumer *CreateSerializationTest();
Ted Kremenek055c2752007-09-06 23:00:42 +000032
Reid Spencer5f016e22007-07-11 17:01:13 +000033} // end clang namespace
34
35#endif