]> CyberLeo.Net >> Repos - FreeBSD/releng/9.0.git/blob - contrib/llvm/tools/clang/include/clang/ARCMigrate/ARCMTActions.h
Copy stable/9 to releng/9.0 as part of the FreeBSD 9.0-RELEASE release
[FreeBSD/releng/9.0.git] / contrib / llvm / tools / clang / include / clang / ARCMigrate / ARCMTActions.h
1 //===--- ARCMTActions.h - ARC Migrate Tool Frontend Actions -----*- 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 #ifndef LLVM_CLANG_ARCMIGRATE_ARCMT_ACTION_H
11 #define LLVM_CLANG_ARCMIGRATE_ARCMT_ACTION_H
12
13 #include "clang/Frontend/FrontendAction.h"
14 #include "llvm/ADT/OwningPtr.h"
15
16 namespace clang {
17 namespace arcmt {
18
19 class CheckAction : public WrapperFrontendAction {
20 protected:
21   virtual bool BeginInvocation(CompilerInstance &CI);
22
23 public:
24   CheckAction(FrontendAction *WrappedAction);
25 };
26
27 class ModifyAction : public WrapperFrontendAction {
28 protected:
29   virtual bool BeginInvocation(CompilerInstance &CI);
30
31 public:
32   ModifyAction(FrontendAction *WrappedAction);
33 };
34
35 class MigrateAction : public WrapperFrontendAction {
36   std::string MigrateDir;
37   std::string PlistOut;
38   bool EmitPremigrationARCErros;
39 protected:
40   virtual bool BeginInvocation(CompilerInstance &CI);
41
42 public:
43   MigrateAction(FrontendAction *WrappedAction, StringRef migrateDir,
44                 StringRef plistOut,
45                 bool emitPremigrationARCErrors);
46 };
47
48 }
49 }
50
51 #endif