Spicy
Public Types | Public Member Functions | List of all members
hilti::declaration::Forward Class Reference

#include <forward.h>

Inheritance diagram for hilti::declaration::Forward:
hilti::NodeBase hilti::trait::isDeclaration hilti::trait::isNode hilti::trait::isNode

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
 
- Public Member Functions inherited from hilti::NodeBase
 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 NodeReforiginalNode () const
 
void setOriginalNode (const NodeRef &n)
 
void clearCache ()
 

Detailed Description

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.

Member Function Documentation

◆ displayName()

std::string hilti::declaration::Forward::displayName ( ) const
inline

Implements Declaration interface.

◆ id()

ID hilti::declaration::Forward::id ( ) const
inline

Implements Declaration interface.

◆ isConstant()

bool hilti::declaration::Forward::isConstant ( ) const
inline

Implements Declaration interface.

◆ isEqual()

auto hilti::declaration::Forward::isEqual ( const Declaration &  other) const
inline

Implements Declaration interface.

◆ linkage()

Linkage hilti::declaration::Forward::linkage ( ) const
inline

Implements Declaration interface.

◆ properties()

auto hilti::declaration::Forward::properties ( ) const
inline

Implements Node interface.


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