A build action that can transform inputs into outputs. More...
#include <Action.h>
Public Member Functions | |
const UniqPtrVec< Argument > & | arguments () const |
virtual void | PrettyPrint (Bytestream &, size_t indent=0) const override |
Print a human-readable representation to an output stream and return that output stream. | |
virtual void | Accept (Visitor &) const |
virtual dag::ValuePtr | evaluate (EvalContext &) const override |
![]() | |
HasSource (const SourceRange &src) | |
const SourceRange & | source () const |
![]() | |
Printable (const Printable &) | |
Printable & | operator= (const Printable &) |
virtual std::string | str () const |
![]() | |
virtual void | Accept (Visitor &) const =0 |
![]() | |
Typed (const Type &t) | |
virtual const Type & | type () const |
![]() | |
HasParameters (UniqPtrVec< Parameter > &) | |
const UniqPtrVec< Parameter > & | parameters () const |
const std::set< std::string > & | parameterNames () const |
void | CheckArguments (const UniqPtrVec< Argument > &, const SourceRange &) const |
ParamIterator | begin () const |
ParamIterator | end () const |
template<class T > | |
StringMap< const T * > | NameArguments (const UniqPtrVec< T > &v) const |
Name all of the arguments in v according to the rules for positional and keyword arguments. | |
Static Public Member Functions | |
static Action * | Create (UniqPtrVec< Argument > &, UniqPtr< UniqPtrVec< Parameter >> &, const SourceRange &, TypeContext &) |
An action definition has both arguments and parameters. More... | |
Additional Inherited Members | |
![]() | |
using | ParamIterator = UniqPtrVec< Parameter >::const_iterator |
![]() | |
Expression (const Type &t, const SourceRange &src) | |
![]() | |
Node (const SourceRange &src) | |
|
static |
An action definition has both arguments and parameters.
Arguments define the action itself and parameters declare what callers can pass in.
If no explicit 'in' or 'out' parameters are specified, an action assumes that the first two parameters are in:list[file] and out:list[file].
Definition at line 80 of file Action.cc.
References fabrique::TypeContext::fileListType(), fabrique::TypeContext::fileType(), and fabrique::TypeContext::functionType().