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

#include <assign.h>

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

Public Member Functions

 Assign (Expression target, Expression src, Meta m=Meta())
 
const auto & target () const
 
const auto & source () const
 
bool operator== (const Assign &other) const
 
bool isLhs () const
 
bool isTemporary () const
 
auto type () const
 
auto isConstant () const
 
auto isEqual (const Expression &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 Expression setTarget (const Assign &e, const Expression &t)
 
static Expression setSource (const Assign &e, const Expression &s)
 

Detailed Description

AST node for an assign expression.

Member Function Documentation

◆ isConstant()

auto hilti::expression::Assign::isConstant ( ) const
inline

Implements Expression interface.

◆ isEqual()

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

Implements Expression interface.

◆ isLhs()

bool hilti::expression::Assign::isLhs ( ) const
inline

Implements Expression interface.

◆ isTemporary()

bool hilti::expression::Assign::isTemporary ( ) const
inline

Implements Expression interface.

◆ properties()

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

Implements Node interface.

◆ setSource()

static Expression hilti::expression::Assign::setSource ( const Assign e,
const Expression &  s 
)
inlinestatic

Returns a new assign expression with the source expression replaced.

Parameters
doriginal expression
tnew source expresssion
Returns
new expression that's equal to original one but with the source expression replaced

◆ setTarget()

static Expression hilti::expression::Assign::setTarget ( const Assign e,
const Expression &  t 
)
inlinestatic

Returns a new assign expression with the target expression replaced.

Parameters
doriginal expression
tnew target expresssion
Returns
new expression that's equal to original one but with the target expression replaced

◆ type()

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

Implements Expression interface.


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