Spicy
Public Member Functions | Static Public Member Functions | List of all members
hilti::Function Class Reference

#include <function.h>

Inheritance diagram for hilti::Function:
hilti::NodeBase hilti::trait::isNode spicy::Hook

Public Member Functions

 Function (ID id, Type type, std::optional< Statement > body, function::CallingConvention cc=function::CallingConvention::Standard, std::optional< AttributeSet > attrs={}, Meta m=Meta())
 
const auto & id () const
 
auto type () const
 
auto body () const
 
auto attributes () const
 
auto callingConvention () const
 
bool isStatic () const
 
bool operator== (const Function &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 ()
 

Static Public Member Functions

static Function setBody (const Function &d, const Statement &b)
 

Detailed Description

AST node representing a function.

Member Function Documentation

◆ properties()

auto hilti::Function::properties ( ) const
inline

Implements the Node interface.

◆ setBody()

static Function hilti::Function::setBody ( const Function d,
const Statement &  b 
)
inlinestatic

Returns a new function with the body replaced.

Parameters
doriginal function
bnew body
Returns
new function that's equal to original one but with the body replaced

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