Spicy
Public Member Functions | List of all members
hilti::statement::If Class Reference

#include <if.h>

Inheritance diagram for hilti::statement::If:
hilti::NodeBase hilti::trait::isStatement hilti::trait::isNode hilti::trait::isNode

Public Member Functions

 If (hilti::Declaration init, std::optional< hilti::Expression > cond, Statement true_, std::optional< Statement > false_, Meta m=Meta())
 
 If (hilti::Expression cond, Statement true_, std::optional< Statement > false_, Meta m=Meta())
 
auto init () const
 
auto initRef () const
 
auto condition () const
 
const auto & true_ () const
 
auto false_ () const
 
void setCondition (hilti::Expression e)
 
void removeFalse ()
 
bool operator== (const If &other) const
 
auto & _trueNode ()
 
auto & _falseNode ()
 
auto isEqual (const Statement &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 a "if" statement.

Member Function Documentation

◆ _falseNode()

auto& hilti::statement::If::_falseNode ( )
inline

Internal method for use by builder API only.

◆ _trueNode()

auto& hilti::statement::If::_trueNode ( )
inline

Internal method for use by builder API only.

◆ isEqual()

auto hilti::statement::If::isEqual ( const Statement &  other) const
inline

Implements the Statement interface.

◆ properties()

auto hilti::statement::If::properties ( ) const
inline

Implements the Node interface.


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