Spicy
Public Member Functions | Static Public Member Functions | Friends | List of all members
hilti::expression::BuiltinFunction Class Reference

#include <builtin-function.h>

Inheritance diagram for hilti::expression::BuiltinFunction:
hilti::NodeBase hilti::trait::isExpression hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 BuiltinFunction (std::string name, std::string cxxname, hilti::Type type, std::vector< declaration::Parameter > parameters, std::vector< Expression > arguments, Meta m=Meta())
 
auto type () const
 
bool isConstant () const
 
auto isEqual (const Expression &other) const
 
auto isLhs () const
 
auto isTemporary () const
 
auto properties () const
 
const auto & name () const
 
const auto & cxxname () const
 
auto arguments () const
 
const auto parameters () 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 BuiltinFunction setArguments (const BuiltinFunction &d, std::vector< hilti::Expression > args)
 

Friends

bool operator== (const BuiltinFunction &lhs, const BuiltinFunction &rhs)
 

Detailed Description

AST node representing a builtin function call.

Constructor & Destructor Documentation

◆ BuiltinFunction()

hilti::expression::BuiltinFunction::BuiltinFunction ( std::string  name,
std::string  cxxname,
hilti::Type  type,
std::vector< declaration::Parameter parameters,
std::vector< Expression >  arguments,
Meta  m = Meta() 
)
inline

Construct a builtin function call node.

Parameters
namethe name of the function on the HILTI side
cxxnamethe name of the wrapped C++ function
typethe return type of the function
parametersparameters of the function
argumentsarguments to the function call
mmeta information for the function call

Member Function Documentation

◆ isConstant()

bool hilti::expression::BuiltinFunction::isConstant ( ) const
inline

Implements Expression interface.

◆ isEqual()

auto hilti::expression::BuiltinFunction::isEqual ( const Expression &  other) const
inline

Implements Expression interface.

◆ isLhs()

auto hilti::expression::BuiltinFunction::isLhs ( ) const
inline

Implements Expression interface.

◆ isTemporary()

auto hilti::expression::BuiltinFunction::isTemporary ( ) const
inline

Implements Expression interface.

◆ properties()

auto hilti::expression::BuiltinFunction::properties ( ) const
inline

Implements Expression interface.

◆ setArguments()

static BuiltinFunction hilti::expression::BuiltinFunction::setArguments ( const BuiltinFunction d,
std::vector< hilti::Expression >  args 
)
inlinestatic

Returns a new builtin function node with the arguments replaced.

Parameters
doriginal builtin function
argsnew arguments
Returns
new builtin function now that is equal to the original one but with the arguments replaced

◆ type()

auto hilti::expression::BuiltinFunction::type ( ) const
inline

Implements Expression interface.


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