template<typename CRT, typename
API>
class Rose::CodeGen::Factory< CRT, API >
constructs expressions and types for the given API
- Template Parameters
-
Definition at line 34 of file Factory.h.
|
| Factory (Driver &driver_) |
|
template<Object otag, typename... Args> |
declaration_t< otag > * | instantiate (symbol_t< otag > *API::*obj, SgNamedType *parent, Args... args) const |
| Return an instantiation.
|
|
template<Object otag, typename... Args> |
reference_t< otag > * | reference (symbol_t< otag > *API::*obj, SgNamedType *parent, Args... args) const |
| Return an expression or type referencing the object.
|
|
template<Object otag, typename... Args> |
SgExpression * | access (symbol_t< otag > *API::*obj, SgExpression *parent, Args... args) const |
| Build expression to access a member of the parent expression.
|
|
template<Object otag, typename... Args> |
access_return_t< otag > * | access (symbol_t< otag > *API::*obj, SgNamedType *parent, Args... args) const |
| Build expression or type to access static member and subtype of the parent type.
|
|
◆ factory_t
template<typename CRT , typename
API >
◆ access_return_t
template<typename CRT , typename
API >
Select return type for access based on Object type.
- Template Parameters
-
otag | must be one of a_class/a_typedef or a_variable/a_function |
Definition at line 144 of file Factory.h.
◆ Factory()
template<typename CRT , typename
API >
◆ instantiate()
template<typename CRT , typename
API >
template<
Object otag, typename... Args>
Return an instantiation.
- Template Parameters
-
otag | must be one of a_class/a_typedef/a_variable/a_function |
Args | types of the nodes to use as template arguments (SgType/SgExpression for type/non-type respectively |
- Parameters
-
obj | must points to a template symbol |
args | nodes to use as template arguments |
parent | is used when called by reference which was called by one of the access methods |
- Returns
- a template instantiation
Definition at line 61 of file Factory.h.
◆ reference()
template<typename CRT , typename
API >
template<
Object otag, typename... Args>
Return an expression or type referencing the object.
Args are forwarded to instantiate
as needed.
- Template Parameters
-
otag | must be one of a_class/a_typedef/a_variable/a_function |
Args | types of template arguments (see instantiate) |
- Parameters
-
obj | points to a symbol |
args | template arguments (see instantiate) |
parent | is used when called by one of the access methods |
- Returns
- a reference expression
Definition at line 82 of file Factory.h.
◆ access() [1/2]
template<typename CRT , typename
API >
template<
Object otag, typename... Args>
Build expression to access a member of the parent expression.
Args are forwarded to instantiate
as needed.
- Template Parameters
-
otag | must be one of a_variable/a_function |
Args | types of template arguments (see instantiate) |
- Parameters
-
obj | points to a symbol |
parent | |
args | template arguments (see instantiate) |
- Returns
- either
.
or ->
operator with parent
as lhs and reference(obj, args...)
as rhs
Definition at line 113 of file Factory.h.
◆ access() [2/2]
template<typename CRT , typename
API >
template<
Object otag, typename... Args>
Build expression or type to access static member and subtype of the parent type.
Args are forwarded to instantiate
as needed.
otag
must be one of a_class/a_typedef or a_variable/a_function Args
types of template arguments (see instantiate)
obj
points to a symbol lhs
args
template arguments (see instantiate)
Definition at line 160 of file Factory.h.
◆ driver
template<typename CRT , typename
API >
◆ api
template<typename CRT , typename
API >
The documentation for this class was generated from the following file: