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, VerifyJobClass,
  JobClassFirst = PreprocessJobClass, JobClassLast = VerifyJobClass
}
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)
static bool classof (const Action *)

Protected Member Functions

 Action (ActionClass _Kind, types::ID _Type)
 Action (ActionClass _Kind, Action *Input, types::ID _Type)
 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 30 of file Action.h.


Member Typedef Documentation

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

Definition at line 34 of file Action.h.

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

Definition at line 33 of file Action.h.

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

Definition at line 32 of file Action.h.


Member Enumeration Documentation

Enumerator:
InputClass 
BindArchClass 
PreprocessJobClass 
PrecompileJobClass 
AnalyzeJobClass 
MigrateJobClass 
CompileJobClass 
AssembleJobClass 
LinkJobClass 
LipoJobClass 
DsymutilJobClass 
VerifyJobClass 
JobClassFirst 
JobClassLast 

Definition at line 36 of file Action.h.


Constructor & Destructor Documentation

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

Definition at line 67 of file Action.h.

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

Definition at line 69 of file Action.h.

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

Definition at line 71 of file Action.h.

Action::~Action ( ) [virtual]

Definition at line 16 of file Action.cpp.

References begin(), and end().


Member Function Documentation

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

Definition at line 91 of file Action.h.

static bool clang::driver::Action::classof ( const Action ) [inline, static]
iterator clang::driver::Action::end ( ) [inline]
const_iterator clang::driver::Action::end ( ) const [inline]

Definition at line 92 of file Action.h.

const char * Action::getClassName ( ActionClass  AC) [static]
const char* clang::driver::Action::getClassName ( ) const [inline]

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

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

Definition at line 78 of file Action.h.

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

Definition at line 79 of file Action.h.

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

Definition at line 87 of file Action.h.

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


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