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

#include <deferred.h>

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

Public Member Functions

 Deferred (Expression e, Meta m=Meta())
 
 Deferred (Expression e, bool catch_exception, Meta m=Meta())
 
const auto & expression () const
 
bool catchException () const
 
void setType (Type t)
 
bool operator== (const Deferred &other) const
 
bool isLhs () const
 
bool isTemporary () const
 
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 >
auto childs (int begin, int end) const
 
auto childRefs (int begin, int end)
 
template<typename T >
hilti::node::Set< T > childsOfType () const
 
template<typename T >
std::vector< NodeRefchildRefsOfType () const
 
void addChild (Node n)
 
const auto & childs () const
 
auto & childs ()
 
auto & meta () const
 
void setMeta (Meta m)
 
bool pruneWalk () const
 

Detailed Description

AST node for an expression for which evaluation is deferred at runtime to a later point when explicity requested by the runtime system. Optionally, that later evaluation can catch any exceptions and return a corresponding result<T>.

Member Function Documentation

◆ isConstant()

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

Implements Expression interface.

◆ isEqual()

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

Implements Expression interface.

◆ isLhs()

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

Implements Expression interface.

◆ isTemporary()

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

Implements Expression interface.

◆ properties()

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

Implements Node interface.

◆ type()

const auto& hilti::expression::Deferred::type ( ) const
inline

Implements Expression interface.


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