clang  3.7.0
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | List of all members
clang::driver::Action Class Reference

#include <Action.h>

Inheritance diagram for clang::driver::Action:
[legend]

Public Types

enum  ActionClass {
  InputClass = 0, BindArchClass, CudaDeviceClass, CudaHostClass,
  PreprocessJobClass, PrecompileJobClass, AnalyzeJobClass, MigrateJobClass,
  CompileJobClass, BackendJobClass, AssembleJobClass, LinkJobClass,
  LipoJobClass, DsymutilJobClass, VerifyDebugInfoJobClass, VerifyPCHJobClass,
  JobClassFirst =PreprocessJobClass, JobClassLast =VerifyPCHJobClass
}
 
typedef ActionList::size_type size_type
 
typedef ActionList::iterator iterator
 
typedef ActionList::const_iterator const_iterator
 

Public Member Functions

virtual ~Action ()
 
const char * getClassName () const
 
bool getOwnsInputs ()
 
void setOwnsInputs (bool Value)
 
ActionClass getKind () const
 
types::ID getType () const
 
ActionListgetInputs ()
 
const ActionListgetInputs () const
 
size_type size () const
 
iterator begin ()
 
iterator end ()
 
const_iterator begin () const
 
const_iterator end () const
 

Static Public Member Functions

static const char * getClassName (ActionClass AC)
 

Protected Member Functions

 Action (ActionClass Kind, types::ID Type)
 
 Action (ActionClass Kind, std::unique_ptr< Action > Input, types::ID Type)
 
 Action (ActionClass Kind, std::unique_ptr< Action > Input)
 
 Action (ActionClass Kind, const ActionList &Inputs, types::ID Type)
 

Detailed Description

Action - Represent an abstract compilation step to perform.

An action represents an edge in the compilation graph; typically it is a job to transform an input using some tool.

The current driver is hard wired to expect actions which produce a single primary output, at least in terms of controlling the compilation. Actions can produce auxiliary files, but can only produce a single output to feed into subsequent actions.

Definition at line 35 of file Action.h.

Member Typedef Documentation

typedef ActionList::const_iterator clang::driver::Action::const_iterator

Definition at line 39 of file Action.h.

typedef ActionList::iterator clang::driver::Action::iterator

Definition at line 38 of file Action.h.

typedef ActionList::size_type clang::driver::Action::size_type

Definition at line 37 of file Action.h.

Member Enumeration Documentation

Enumerator
InputClass 
BindArchClass 
CudaDeviceClass 
CudaHostClass 
PreprocessJobClass 
PrecompileJobClass 
AnalyzeJobClass 
MigrateJobClass 
CompileJobClass 
BackendJobClass 
AssembleJobClass 
LinkJobClass 
LipoJobClass 
DsymutilJobClass 
VerifyDebugInfoJobClass 
VerifyPCHJobClass 
JobClassFirst 
JobClassLast 

Definition at line 41 of file Action.h.

Constructor & Destructor Documentation

clang::driver::Action::Action ( ActionClass  Kind,
types::ID  Type 
)
inlineprotected

Definition at line 76 of file Action.h.

clang::driver::Action::Action ( ActionClass  Kind,
std::unique_ptr< Action Input,
types::ID  Type 
)
inlineprotected

Definition at line 78 of file Action.h.

clang::driver::Action::Action ( ActionClass  Kind,
std::unique_ptr< Action Input 
)
inlineprotected

Definition at line 81 of file Action.h.

clang::driver::Action::Action ( ActionClass  Kind,
const ActionList Inputs,
types::ID  Type 
)
inlineprotected

Definition at line 84 of file Action.h.

Action::~Action ( )
virtual

Definition at line 16 of file Action.cpp.

Member Function Documentation

iterator clang::driver::Action::begin ( )
inline
const_iterator clang::driver::Action::begin ( ) const
inline

Definition at line 104 of file Action.h.

iterator clang::driver::Action::end ( )
inline

Definition at line 103 of file Action.h.

Referenced by ActionFailed(), and ContainsCompileOrAssembleAction().

const_iterator clang::driver::Action::end ( ) const
inline

Definition at line 105 of file Action.h.

const char * Action::getClassName ( ActionClass  AC)
static

Definition at line 23 of file Action.cpp.

const char* clang::driver::Action::getClassName ( ) const
inline

Definition at line 89 of file Action.h.

References getKind().

Referenced by PrintActions1().

ActionList& clang::driver::Action::getInputs ( )
inline
const ActionList& clang::driver::Action::getInputs ( ) const
inline

Definition at line 98 of file Action.h.

ActionClass clang::driver::Action::getKind ( ) const
inline
bool clang::driver::Action::getOwnsInputs ( )
inline

Definition at line 91 of file Action.h.

types::ID clang::driver::Action::getType ( ) const
inline
void clang::driver::Action::setOwnsInputs ( bool  Value)
inline

Definition at line 92 of file Action.h.

size_type clang::driver::Action::size ( ) const
inline

Definition at line 100 of file Action.h.

Referenced by clang::driver::Driver::ShouldUseClangCompiler().


The documentation for this class was generated from the following files: