clang API Documentation

Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions
clang::driver::Action Class Reference

#include <Action.h>

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

List of all members.

Public Types

enum  ActionClass {
  InputClass = 0, BindArchClass, PreprocessJobClass, PrecompileJobClass,
  AnalyzeJobClass, MigrateJobClass, CompileJobClass, 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 
PreprocessJobClass 
PrecompileJobClass 
AnalyzeJobClass 
MigrateJobClass 
CompileJobClass 
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 
) [inline, protected]

Definition at line 73 of file Action.h.

clang::driver::Action::Action ( ActionClass  _Kind,
std::unique_ptr< Action Input,
types::ID  _Type 
) [inline, protected]

Definition at line 75 of file Action.h.

clang::driver::Action::Action ( ActionClass  _Kind,
std::unique_ptr< Action Input 
) [inline, protected]

Definition at line 78 of file Action.h.

clang::driver::Action::Action ( ActionClass  _Kind,
const ActionList _Inputs,
types::ID  _Type 
) [inline, protected]

Definition at line 81 of file Action.h.

Action::~Action ( ) [virtual]

Definition at line 16 of file Action.cpp.


Member Function Documentation

Definition at line 101 of file Action.h.

Definition at line 100 of file Action.h.

Referenced by ActionFailed(), ContainsCompileOrAssembleAction(), and PrintActions1().

Definition at line 102 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 86 of file Action.h.

References getKind().

Referenced by PrintActions1().

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

Definition at line 95 of file Action.h.

Definition at line 88 of file Action.h.

void clang::driver::Action::setOwnsInputs ( bool  Value) [inline]

Definition at line 89 of file Action.h.

Definition at line 97 of file Action.h.

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


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