![]() |
Spicy
|
#include <forward.h>
Public Types | |
using | Callback = std::function< Declaration()> |
Public Member Functions | |
Forward (Callback cb, Meta m=Meta()) | |
auto | callback () const |
bool | operator== (const Forward &other) const |
bool | isConstant () const |
ID | id () const |
Linkage | linkage () const |
std::string | displayName () const |
auto | isEqual (const Declaration &other) const |
auto | properties () const |
![]() | |
NodeBase (Meta meta) | |
NodeBase (std::vector< Node > childs, Meta meta) | |
template<typename T > | |
const T & | child (int i) const |
template<typename T > | |
void | assertChildIsA (int i) |
template<typename T > | |
std::vector< T > | childs (int begin, int end) const |
template<typename T > | |
std::vector< T > | childsOfType () const |
template<typename T > | |
auto | nodesOfType () const |
template<typename T > | |
auto | nodesOfType () |
void | addChild (Node n) |
auto & | childs () const |
auto & | childs () |
auto & | meta () const |
void | setMeta (Meta m) |
const NodeRef & | originalNode () const |
void | setOriginalNode (const NodeRef &n) |
void | clearCache () |
AST node for a declaration that forwards all methods to another one. This is useful to bind to nodes with declarations that may later be replaced. Note that this is not meant to be used as the original definition of a declaration itself; the code generator won't emit any corresponding declaration for it.
|
inline |
Implements Declaration
interface.
|
inline |
Implements Declaration
interface.
|
inline |
Implements Declaration
interface.
|
inline |
Implements Declaration
interface.
|
inline |
Implements Declaration
interface.
|
inline |
Implements Node
interface.